English
Related papers

Related papers: Do Developers Refactor Data Access Code? An Empiri…

200 papers

Context: Developers design test suites to automatically verify that software meets its expected behaviors. Many dynamic analysis techniques are performed on the exploitation of execution traces from test cases. However, in practice, there…

Software Engineering · Computer Science 2015-06-08 Jifeng Xuan , Benoit Cornu , Matias Martinez , Benoit Baudry , Lionel Seinturier , Martin Monperrus

In this paper an analysis of a technical support data with the goal of identifying process improvement actions for reducing interrupts is presented. A technical support chat is established and used to provide internal developer support to…

Social and Information Networks · Computer Science 2015-10-19 Zádor Dániel Kelemen , Balázs Tódor , Sándor Hodosi , Ákos Somfai

Background: Test-driven development (TDD) is a technique that repeats short coding cycles interleaved with testing. The developer first writes a unit test for the desired functionality, followed by the necessary production code, and…

Software Engineering · Computer Science 2016-11-21 Davide Fucci , Hakan Erdogmus , Burak Turhan , Markku Oivo , Natalia Juristo

Reading code is an essential activity in software maintenance and evolution. Several studies with human subjects have investigated how different factors, such as the employed programming constructs and naming conventions, can impact code…

Software Engineering · Computer Science 2021-10-05 Delano Oliveira , Reydne Bruno , Fernanda Madeiral , Fernando Castor

Refactoring is a software engineering practice that aims to improve code quality without altering program behavior. Although automated refactoring tools have been extensively studied, their practical applicability remains limited. Recent…

Software Engineering · Computer Science 2026-01-21 Alessandro Midolo , Emiliano Tramontana , Massimiliano Di Penta

In response to the prevailing challenges in contemporary software development, this article introduces an innovative approach to code augmentation centered around Impermanent Identifiers. The primary goal is to enhance the software…

Large Language Models (LLMs) have shown potential to enhance software development through automated code generation and refactoring, reducing development time and improving code quality. This study empirically evaluates StarCoder2, an LLM…

Software Engineering · Computer Science 2024-11-05 Jonathan Cordeiro , Shayan Noei , Ying Zou

Refactoring is a constant activity in software development and maintenance. Scale and maintain software systems are based on code refactoring. However, this process is still labor intensive, as it requires programmers to analyze the…

Software remodularization through clustering is a common practice to improve internal software quality. However, the true benefit of software clustering is only realized if developers follow through with the recommended refactoring…

Software Engineering · Computer Science 2023-03-14 Alvin Jian Jia Tan , Chun Yong Chong , Aldeida Aleti

As Deep learning (DL) systems continuously evolve and grow, assuring their quality becomes an important yet challenging task. Compared to non-DL systems, DL systems have more complex team compositions and heavier data dependency. These…

Developing test code may be a time-consuming task that usually requires much effort and cost, especially when it is done manually. Besides, during this process, developers and testers are likely to adopt bad design choices, which may lead…

Software Engineering · Computer Science 2020-03-13 Nildo Silva Junior , Larissa Rocha , Luana Almeida Martins , Ivan Machado

Spreadsheets are the most popular end-user programming software, where formulae act like programs and also have smells. One well recognized common smell of spreadsheet formulae is nest-IF expressions, which have low readability and high…

Software Engineering · Computer Science 2017-12-29 Jie Zhang , Shi Han , Dan Hao , Lu Zhang , Dongmei Zhang

The identification of code smells is largely recognized as a subjective task. Consequently, the automated detection tools available are insufficient to deal with the whole subjectivity involved in the task, requiring human validation.…

Software Engineering · Computer Science 2021-10-07 Luiz Felipi Junionello , Rafael de Mello

Large Language Models (LLMs) have substantially influenced various software engineering tasks. Indeed, in the case of software refactoring, traditional LLMs have shown the ability to reduce development time and enhance code quality.…

Software Engineering · Computer Science 2026-03-06 Khouloud Oueslati , Maxime Lamothe , Foutse Khomh

As software proliferates across domains, its aggregate energy footprint has become a major concern. To reduce software's growing environmental footprint, developers need to identify and refactor energy smells: source code implementations,…

Software Engineering · Computer Science 2026-04-07 Mohammadjavad Mehditabar , Saurabhsingh Rajput , Tushar Sharma

Test smells can reduce the developers' ability to interact with the test code. Refactoring test code offers a safe strategy to handle test smells. However, the manual refactoring activity is not a trivial process, and it is often tedious…

Software Engineering · Computer Science 2022-07-13 Railana Santana , Luana Martins , Tássio Virgínio , Larissa Soares , Heitor Costa , Ivan Machado

Although software managers are generally good at new project estimation, their experience of scheduling rework tends to be poor. Inconsistent or incorrect effort estimation can increase the risk that the completion time for a project will…

Software Engineering · Computer Science 2010-07-30 Bee Bee Chua , June Verner

Recent studies have demonstrated remarkable advancements in source code learning, which applies deep neural networks (DNNs) to tackle various software engineering tasks. Similar to other DNN-based domains, source code learning also requires…

Software Engineering · Computer Science 2025-02-07 Zeming Dong , Qiang Hu , Yuejun Guo , Zhenya Zhang , Maxime Cordy , Mike Papadakis , Yves Le Traon , Jianjun Zhao

Reinforcement Learning (RL) is being increasingly used to learn and adapt application behavior in many domains, including large-scale and safety critical systems, as for example, autonomous driving. With the advent of plug-n-play RL…

Software Engineering · Computer Science 2023-08-04 Nicolás Cardozo , Ivana Dusparic , Christian Cabrera

Refactoring, the process of improving the code structure of a software system without altering its behavior, is crucial for managing code evolution in software development. Identifying refactoring actions in source code is essential for…

Software Engineering · Computer Science 2025-05-13 Siqi Wang , Xing Hu , Xin Xia , Xinyu Wang