English
Related papers

Related papers: Industry Experiences with Large-Scale Refactoring

200 papers

Python is a widely adopted programming language, valued for its simplicity and flexibility. However, its dynamic type system poses significant challenges for automated refactoring - an essential practice in software evolution aimed at…

Software Engineering · Computer Science 2025-11-20 Jonhnanthan Oliveira , Rohit Gheyi , Márcio Ribeiro , Alessandro Garcia

Software architecture consists of series of decisions taken to give a structural solution that meets all the technical and operational requirements. The paper involves code refactoring. Code refactoring is a process of changing the internal…

Software Engineering · Computer Science 2014-12-25 Manpreet Kaur , Ravjeet Singh , Sukhveer Kaur , Baljot Singh , Savpreet Kaur , Navkaran Singh , Aman Ohri , Ravenna Sharma

It is essential for startups to quickly experiment business ideas by building tangible prototypes and collecting user feedback on them. As prototyping is an inevitable part of learning for early stage software startups, how fast startups…

Software Engineering · Computer Science 2017-12-05 Anh Nguyen Duc , Xiaofeng Wang , Pekka Abrahamsson

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

Analysing and improving productivity has been one of the main goals of software engineering research since its beginnings. A plethora of studies has been conducted on various factors that resulted in several models for analysis and…

Software Engineering · Computer Science 2018-01-22 Stefan Wagner , Melanie Ruhe

Improved software discovery is a prerequisite for greater software reuse: after all, if someone cannot find software for a particular task, they cannot reuse it. Understanding people's approaches and preferences when they look for software…

Computers and Society · Computer Science 2018-05-30 Michael Hucka , Matthew J. Graham

Formal verification of software is a bit of a niche activity: it is only applied to the most safety-critical or security-critical software and it is typically only performed by specialized verification engineers. This paper considers…

Logic in Computer Science · Computer Science 2020-11-02 Alastair Reid , Luke Church , Shaked Flur , Sarah de Haas , Maritza Johnson , Ben Laurie

Software undergoes constant changes to support new requirements, address bugs, enhance performance, and ensure maintainability. Thus, developers spend a great portion of their workday trying to understand and review the code changes of…

Software Engineering · Computer Science 2024-08-26 Pouria Alikhanifard , Nikolaos Tsantalis

Refactoring is the practice of improving software quality without altering its external behavior. Developers intuitively refactor their code for multiple purposes, such as improving program comprehension, reducing code complexity, dealing…

Computers and Society · Computer Science 2023-11-21 Eman Abdullah AlOmar , Mohamed Wiem Mkaouer , Ali Ouni

Tool learning aims to enhance and expand large language models' (LLMs) capabilities with external tools, which has gained significant attention recently. Current methods have shown that LLMs can effectively handle a certain amount of tools…

Computation and Language · Computer Science 2024-10-01 Qiancheng Xu , Yongqi Li , Heming Xia , Wenjie Li

The use of autonomous bots for automatic support in software development tasks is increasing. In the past, however, they were not always perceived positively and sometimes experienced a negative bias compared to their human counterparts. We…

Software Engineering · Computer Science 2021-02-10 Marvin Wyrich , Regina Hebig , Stefan Wagner , Riccardo Scandariato

Detecting refactorings in commit history is essential to improve the comprehension of code changes in code reviews and to provide valuable information for empirical studies on software evolution. Several techniques have been proposed to…

Software Engineering · Computer Science 2022-12-06 Lei Chen , Shinpei Hayashi

The tools for personal digital fabrication (DF) are on the verge of reaching mass-adoption beyond technology enthusiasts, empowering consumers to fabricate personalized artifacts. We argue that to achieve similar outreach and impact as…

Human-Computer Interaction · Computer Science 2021-01-08 Evgeny Stemasov , Enrico Rukzio , Jan Gugenheimer

The sound identification of refactoring opportunities is still an open problem in software engineering. Recent studies have shown the effectiveness of machine learning models in recommending methods that should undergo different refactoring…

Software Engineering · Computer Science 2021-07-23 David van der Leij , Jasper Binda , Robbert van Dalen , Pieter Vallen , Yaping Luo , Maurício Aniche

Large language model assistants (LLM-assistants) present new opportunities to transform software development. Developers are increasingly adopting these tools across tasks, including coding, testing, debugging, documentation, and design.…

Software Engineering · Computer Science 2026-03-24 Amr Mohamed , Maram Assi , Mariam Guizani

Building of tools--from simple prototypes to industrial-strength applications--is a pervasive activity in academic research. When proposing a new technique for software maintenance, effective tool support is typically required to…

Software Engineering · Computer Science 2008-08-05 Holger M. Kienle , Hausi A. Müller

Software engineering bots - automated tools that handle tedious tasks - are increasingly used by industrial and open source projects to improve developer productivity. Current research in this area is held back by a lack of consensus of…

Software Engineering · Computer Science 2020-10-30 Linda Erlenhov , Francisco Gomes de Oliveira Neto , Philipp Leitner

Bug fixing is a complex and time-consuming task in software development. Bug localization research tends to focus on the accuracy of automated tools that suggest source code files for developers to look at. However, little is known about…

Software Engineering · Computer Science 2026-05-07 Pablo Diaz Pedreira , Tamara Lopez , Michel Wermelinger

Software Quality is a major concern in software engineering development in order to be competitive. Such a quality can be achieved by a possible technique called Refactoring where the systems external behavior of the system is not changed.…

Recent years have seen a sharp increase in the use of open source projects by common novice users; Open Source Software (OSS) is thus no longer a reserved arena for software developers and computer gurus. Although user-centered designs are…

Human-Computer Interaction · Computer Science 2015-12-01 Arif Raza , Luiz Fernando Capretz , Faheem Ahmed