English
Related papers

Related papers: Less is More: Minimizing Code Reorganization using…

200 papers

To reduce technical debt and make code more maintainable, it is important to be able to warn programmers about code smells. State-of-the-art code small detectors use deep learners, without much exploration of alternatives within that…

Software Engineering · Computer Science 2022-03-29 Rahul Yedida , Tim Menzies

Context: Software systems are in continuous evolution through source code changes to fixing bugs, adding new functionalities and improving the internal architecture. All these practices are recorded in the version history, which can be…

Software Engineering · Computer Science 2020-01-17 Leandro Ungari Cayres , Bruno Santos de Lima , Rogério Eduardo Garcia

Code review generation can reduce developer effort by producing concise, reviewer-style feedback for a given code snippet or code change. However, generation-only models often produce generic or off-point reviews, while retrieval-only…

Software Engineering · Computer Science 2026-03-26 Qianru Meng , Xiao Zhang , Zhaochen Ren , Joost Visser

Programmers often write code that has similarity to existing code written somewhere. A tool that could help programmers to search such similar code would be immensely useful. Such a tool could help programmers to extend partially written…

Software Engineering · Computer Science 2019-10-21 Sifei Luan , Di Yang , Celeste Barnaby , Koushik Sen , Satish Chandra

CONTEXT: There has been a rapid growth in the use of data analytics to underpin evidence-based software engineering. However the combination of complex techniques, diverse reporting standards and poorly understood underlying phenomena are…

Software Engineering · Computer Science 2019-04-16 Tim Menzies , Martin Shepperd

\underline{Context:} Logging is a fundamental yet complex practice in software engineering, essential for monitoring, debugging, and auditing software systems. With the increasing integration of machine learning (ML) components into…

Software Engineering · Computer Science 2026-01-12 Patrick Loic Foalem , Leuson Da Silva , Foutse Khomh , Ettore Merlo , Heng Li

[Context and motivation] Trace matrices are lynch pins for the development of mission- and safety-critical software systems and are useful for all software systems, yet automated methods for recovering trace links are far from perfect. This…

Software Engineering · Computer Science 2018-04-10 Bhushan Chitre , Jane Huffman Hayes , Alexander Dekhtyar

Background: Sub-optimal code is prevalent in software systems. Developers may write low-quality code due to many reasons, such as lack of technical knowledge, lack of experience, time pressure, management decisions, and even unhappiness.…

Software Engineering · Computer Science 2022-04-15 Chaiyong Ragkhitwetsagul , Matheus Paixao

Retrospective meetings play a vital role in agile development by facilitating team reflection on past work to enhance effectiveness. These meetings address various social aspects, including team dynamics, individual performance, processes,…

Software Engineering · Computer Science 2025-02-27 Carlos Dantas , Tiago Massoni , Camila Sarmento , Rayana Rocha , Danielly Gualberto

Technical debt has become a common metaphor for the accumulation of software design and implementation choices that seek fast initial gains but that are under par and counterproductive in the long run. However, as a metaphor, technical debt…

Software Engineering · Computer Science 2021-03-23 Jacinto Ramirez Lahti , Antti-Pekka Tuovinen , Tommi Mikkonen

Test smells are defined as sub-optimal design choices developers make when implementing test cases. Hence, similar to code smells, the research community has produced numerous test smell detection tools to investigate the impact of test…

Developers need to make a constant effort to improve the quality of their code if they want to stay productive. Tools that highlight code locations that could benefit from refactoring are thus highly desirable. The most common name for such…

Software Engineering · Computer Science 2020-06-08 Daniel Speicher

Context: Securing microservice-based applications is crucial, as many IT companies are delivering their businesses through microservices. If security smells affect microservice-based applications, they can possibly suffer from security…

Software Engineering · Computer Science 2021-04-28 Francisco Ponce , Jacopo Soldani , Hernán Astudillo , Antonio Brogi

Unit testing is an essential component of the software development life-cycle. A developer could easily and quickly catch and fix software faults introduced in the source code by creating and running unit tests. Despite their importance,…

Software Engineering · Computer Science 2021-08-02 Denivan Campos , Larissa Rocha , Ivan Machado

The common use case of code smells assumes causality: Identify a smell, remove it, and by doing so improve the code. We empirically investigate their fitness to this use. We present a list of properties that code smells should have if they…

Software Engineering · Computer Science 2024-01-17 Idan Amit , Nili Ben Ezra , Dror G. Feitelson

Modern code review is a widely used technique employed in both industrial and open-source projects to improve software quality, share knowledge, and ensure adherence to coding standards and guidelines. During code review, developers may…

Software Engineering · Computer Science 2022-03-29 Eman Abdullah AlOmar , Moataz Chouchen , Mohamed Wiem Mkaouer , Ali Ouni

During the life span of large software projects, developers often apply the same code changes to different code locations in slight variations. Since the application of these changes to all locations is time-consuming and error-prone, tools…

Software Engineering · Computer Science 2017-08-11 Georg Dotzler , Marius Kamp , Patrick Kreutzer , Michael Philippsen

Test smells can pose difficulties during testing activities, such as poor maintainability, non-deterministic behavior, and incomplete verification. Existing research has extensively addressed test smells in automated software tests but…

Recent advances in large language models (LLMs) have accelerated their adoption in software engineering contexts. However, concerns persist about the structural quality of the code they produce. In particular, LLMs often replicate poor…

Software Engineering · Computer Science 2026-01-19 Alejandro Velasco , Daniel Rodriguez-Cardenas , Dipin Khati , David N. Palacio , Luftar Rahman Alif , Denys Poshyvanyk

Refactoring is one of the most important activities in software engineering which is used to improve the quality of a software system. With the advancement of deep learning techniques, researchers are attempting to apply deep learning…

Software Engineering · Computer Science 2024-05-01 Bridget Nyirongo , Yanjie Jiang , He Jiang , Hui Liu