English
Related papers

Related papers: Techniques Enabling Generator Refactoring

200 papers

Maintainable and general software allows developers to build robust applications efficiently, yet achieving these qualities often requires refactoring specialized solutions into reusable components. This challenge becomes particularly…

Software Engineering · Computer Science 2025-10-07 Ziga Kovacic , Justin T. Chiu , Celine Lee , Wenting Zhao , Kevin Ellis

Refactoring is an activity that improves the internal structure of the code without altering its external behavior. When performed on the production code, the tests can be used to verify that the external behavior of the production code is…

Software Engineering · Computer Science 2015-06-25 Ali Parsai , Alessandro Murgia , Quinten David Soetens , Serge Demeyer

Refactoring is a critical task in software maintenance, and is usually performed to enforce better design and coding practices, while coping with design defects. The Extract Method refactoring is widely used for merging duplicate code…

Code generation is regarded as an essential part of model-driven development (MDD) to systematically transform the abstract models to concrete code. One current challenges of templatebased code generation is that output-specific…

Software Engineering · Computer Science 2016-06-03 Pedram Mir Seyed Nazari , Alexander Roth , Bernhard Rumpe

Programming problems can be solved in a multitude of functionally correct ways, but the quality of these solutions (e.g. readability, maintainability) can vary immensely. When code quality is poor, symptoms emerge in the form of 'code…

Software Engineering · Computer Science 2024-03-11 Ivan Tan , Christopher M. Poskitt

Automated source code refactoring, particularly extract method refactoring, is a crucial and frequently employed technique during software development. Despite its importance and frequent use by practitioners, current automated techniques…

Software Engineering · Computer Science 2024-12-25 Indranil Palit , Tushar Sharma

Many software systems originate as prototypes or minimum viable products (MVPs), developed with an emphasis on delivery speed and responsiveness to changing requirements rather than long-term code maintainability. While effective for rapid…

Software Engineering · Computer Science 2026-04-06 Ema Smolic , Mario Brcic , Luka Hobor , Mihael Kovac

Refactoring is a maintenance activity that aims to improve design quality while preserving the behavior of a system. Several (semi)automated approaches have been proposed to support developers in this maintenance activity, based on the…

Software Engineering · Computer Science 2019-05-20 Rodrigo Morales , Foutse Khomh , Giuliano Antoniol

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

It is well known that software needs to change to meet new requirements. The synchronization of software architecture models and implementation is of high importance to keep the architecture documents useful and the software evolution…

Software Engineering · Computer Science 2014-09-24 Holger Krahn , Bernhard Rumpe

It is necessary to gather real refactoring instances while conducting empirical studies on refactoring. However, existing refactoring detection approaches are insufficient in terms of their accuracy and coverage. Reducing the manual effort…

Software Engineering · Computer Science 2021-05-20 Ryo Kuramoto , Motoshi Saeki , Shinpei Hayashi

When automatically generating programming exercise tasks one often also needs to automatically generate programs. At the very least when providing sample solutions is part of automated feedback. But programs can also be used as part of the…

Software Engineering · Computer Science 2025-08-06 Oliver Westphal

We propose a novel conditioned text generation model. It draws inspiration from traditional template-based text generation techniques, where the source provides the content (i.e., what to say), and the template influences how to say it.…

Computation and Language · Computer Science 2019-04-12 Hao Peng , Ankur P. Parikh , Manaal Faruqui , Bhuwan Dhingra , Dipanjan Das

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…

We introduce a language generative model framework for generating a styled paragraph based on a context sentence and a style reference example. The framework consists of a style encoder and a texts decoder. The style encoder extracts a…

Computation and Language · Computer Science 2020-03-03 Kuo-Hao Zeng , Mohammad Shoeybi , Ming-Yu Liu

An essential part of software maintenance and evolution, refactoring is performed by developers, regardless of technology or domain, to improve the internal quality of the system, and reduce its technical debt. However, choosing the…

Software Engineering · Computer Science 2021-10-26 Anthony Peruma , Steven Simmons , Eman Abdullah AlOmar , Christian D. Newman , Mohamed Wiem Mkaouer , Ali Ouni

Rewriting is a formalism widely used in computer science and mathematical logic. The classical formalism has been extended, in the context of functional languages, with an order over the rules and, in the context of rewrite based languages,…

Logic in Computer Science · Computer Science 2019-06-12 Horatiu Cirstea , Pierre-Etienne Moreau

This article presents a framework for generating optimisation models using a pre-trained generative transformer. The framework involves specifying the features that the optimisation model should have and using a language model to generate…

Neural and Evolutionary Computing · Computer Science 2023-05-11 Boris Almonacid

Decisions on which classes to refactor are fraught with difficulty. The problem of identifying candidate classes becomes acute when confronted with large systems comprising hundreds or thousands of classes. In this paper, we describe a…

Software Engineering · Computer Science 2007-05-23 Richard Wheeldon , Steve Counsell

We describe how to use refactoring tools to transform a Java program conforming to the Composite design pattern into a program conforming to the Visitor design pattern with the same external behavior. We also describe the inverse…

Software Engineering · Computer Science 2013-07-02 Akram Ajouli , Julien Cohen