English
Related papers

Related papers: Refactoring = Substitution + Rewriting

200 papers

Due to the growing complexity of software systems, there has been a dramatic increase and industry demand for tools and techniques on software refactoring in the last ten years, defined traditionally as a set of program transformations…

Software Engineering · Computer Science 2020-07-07 Chaima Abid , Vahid Alizadeh , Marouane Kessentini , Thiago do Nascimento Ferreira , Danny Dig

Refactoring is an essential activity during software evolution. Frequently, practitioners rely on such transformations to improve source code maintainability and quality. As a consequence, this process may produce new source code entities…

Software Engineering · Computer Science 2020-03-11 Aline Brito , Andre Hora , Marco Tulio Valente

Developers often refactor source code to improve its quality during software development. A challenge in refactoring is to determine if it can be applied or not. To help with this decision-making process, we aim to search for past…

Software Engineering · Computer Science 2023-10-04 Motoki Abe , Shinpei Hayashi

Code refactoring is a fundamental software engineering practice aimed at improving code quality and maintainability. Despite its importance, developers often neglect refactoring due to the significant time, effort, and resources it…

Catalogs of refactoring have key importance in software maintenance and evolution, since developers rely on such documents to understand and perform refactoring operations. Furthermore, these catalogs constitute a reference guide for…

Software Engineering · Computer Science 2022-11-17 Aline Brito , Andre Hora , Marco Tulio Valente

We tackle the problem of data-structure rewriting including pointer redirections. We propose two basic rewrite steps: (i) Local Redirection and Replacement steps the aim of which is redirecting specific pointers determined by means of a…

Programming Languages · Computer Science 2007-05-23 Dominique Duval , Rachid Echahed , Frederic Prost

Refactoring is modifying a program without changing its external behavior. In this paper, we make the concept of external behavior precise for a simple answer set programming language. Then we describe a proof assistant for the task of…

Logic in Computer Science · Computer Science 2023-05-30 Jorge Fandinno , Zachary Hansen , Yuliya Lierler , Vladimir Lifschitz , Nathan Temple

Automatic query reformulation refers to rewriting a user's original query in order to improve the ranking of retrieval results compared to the original query. We present a general framework for automatic query reformulation based on…

Information Retrieval · Computer Science 2015-07-15 Fernando Diaz

The primary value of AI agents in software development lies in their ability to extend the developer's capacity for reasoning and action, not to supplant human involvement. To showcase how to use agents working in tandem with developers, we…

Refactoring is an established technique from the object-oriented (OO) programming community to restructure code: it aims at improving software readability, maintainability and extensibility. Although refactoring is not tied to the…

Software Engineering · Computer Science 2007-05-23 Alexander Serebrenik , Tom Schrijvers , Bart Demoen

Tool-assisted refactoring transformations must be trustworthy if programmers are to be confident in applying them on arbitrarily extensive and complex code in order to improve style or efficiency. We propose a simple, high-level but…

Programming Languages · Computer Science 2016-07-11 Dániel Horpácsi , Judit Kőszegi , Simon Thompson

Complex software can be hard to read, adapt, and maintain. Refactoring it can create cleaner and self-explanatory code. Refactoring tools try to guide developers towards better code, with more quality. However, most of them take too long to…

Software Engineering · Computer Science 2023-07-21 Sara Fernandes , Ademar Aguiar , André Restivo

Long-form writing agents require flexible integration and interaction across information retrieval, reasoning, and composition. Current approaches rely on predefined workflows and rigid thinking patterns to generate outlines before writing,…

Artificial Intelligence · Computer Science 2025-09-25 Ruibin Xiong , Yimeng Chen , Dmitrii Khizbullin , Mingchen Zhuge , Jürgen Schmidhuber

An important challenge in constraint programming is to rewrite constraint models into executable programs calculat- ing the solutions. This phase of constraint processing may require translations between constraint programming lan- guages,…

Artificial Intelligence · Computer Science 2010-02-17 Raphael Chenouard , Laurent Granvilliers , Ricardo Soto

Refactoring is an indispensable practice of improving the quality and maintainability of source code in software evolution. Rename refactoring is the most frequently performed refactoring that suggests a new name for an identifier to…

Software Engineering · Computer Science 2023-05-30 Hao Liu , Yanlin Wang , Zhao Wei , Yong Xu , Juhong Wang , Hui Li , Rongrong Ji

Software refactoring plays an important role in software engineering. Developers often turn to refactoring when they want to restructure software to improve its quality without changing its external behavior. Studies show that small-scale…

Software Engineering · Computer Science 2022-02-16 James Ivers , Robert L. Nord , Ipek Ozkaya , Chris Seifried , Christopher S. Timperley , Marouane Kessentini

This case study is an update-in-place refactoring transformation on UML class diagrams. Its aim is to remove clones of attributes from a class diagram, and to identify new classes which abstract groups of classes that share common data…

Software Engineering · Computer Science 2013-12-03 K. Lano , S. Kolahdouz Rahimi

Like software, requirements evolve and change frequently during the development process. Refactoring is the process of reorganising software without changing its behaviour, to make it easier to understand and modify. We propose refactoring…

Software Engineering · Computer Science 2022-01-13 Marie Farrell , Matt Luckcuck , Oisin Sheridan , Rosemary Monahan

We aim to explore how developers document their refactoring activities during the software life cycle. We call such activity Self-Affirmed Refactoring (SAR), which indicates developers' documentation of their refactoring activities. SAR is…

Software Engineering · Computer Science 2023-06-12 Eman Abdullah AlOmar

Although some recent works show potential complementarity among different state-of-the-art systems, few works try to investigate this problem in text summarization. Researchers in other areas commonly refer to the techniques of reranking or…

Computation and Language · Computer Science 2021-04-16 Yixin Liu , Zi-Yi Dou , Pengfei Liu