English
Related papers

Related papers: Refactoring for Reuse: An Empirical Study

200 papers

Context : Software comprehension and maintenance activities, such as refactoring, are said to be negatively impacted by software complexity. The methods used to measure software product and processes complexity have been thoroughly debated…

Software Engineering · Computer Science 2023-03-07 João Caldeira , Fernando Brito e Abreu , Jorge Cardoso , José Reis

Background: Pull-based development has shaped the practice of Modern Code Review (MCR), in which reviewers can contribute code improvements, such as refactorings, through comments and commits in Pull Requests (PRs). Past MCR studies…

Software Engineering · Computer Science 2021-08-26 Flávia Coelho , Nikolaos Tsantalis , Tiago Massoni , Everton L. G. Alves

Context. Software reusability mechanisms, like inheritance and delegation in Object-Oriented programming, are widely recognized as key instruments of software design. These are used to reduce the risks of source code being affected by…

Software Engineering · Computer Science 2022-08-17 Giammaria Giordano , Gerardo Festa , Gemma Catolino , Fabio Palomba , Filomena Ferrucci , Carmine Gravino

Third-party library dependencies are commonplace in today's software development. With the growing threat of security vulnerabilities, applying security fixes in a timely manner is important to protect software systems. As such, the…

Software Engineering · Computer Science 2022-05-18 Ayano Ikegami , Raula Gaikovina Kula , Bodin Chinthanet , Vittunyuta Maeprasart , Ali Ouni , Takashi Ishio , Kenichi Matsumoto

Software reusability has become much interesting because of increased quality and reduce cost. A good process of software reuse leads to enhance the reliability, productivity, quality and the reduction of time and cost. Current reuse…

Software Engineering · Computer Science 2017-02-02 Ahmed Mateen , Samina Kausar , Ahsan Raza Sattar

This paper presents a cognitive typology of reuse processes, and a cognitive typology of documenting processes. Empirical studies on design with reuse and on software documenting provide evidence for a generalized cognitive model. First,…

Human-Computer Interaction · Computer Science 2016-08-16 Françoise Détienne , Jean-François Rouet , Jean-Marie Burkhardt , Catherine Deleuze-Dordron

Agentic coding tools, such as OpenAI Codex, Claude Code, and Cursor, are transforming the software engineering landscape. These AI-powered systems function as autonomous teammates capable of planning and executing complex development tasks.…

Software Engineering · Computer Science 2025-11-10 Kosei Horikawa , Hao Li , Yutaro Kashiwa , Bram Adams , Hajimu Iida , Ahmed E. Hassan

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

Commit messages are the atomic level of software documentation. They provide a natural language description of the code change and its purpose. Messages are critical for software maintenance and program comprehension. Unlike documenting…

Software Engineering · Computer Science 2021-12-06 Eman Abdullah AlOmar , Jiaqian Liu , Kenneth Addo , Mohamed Wiem Mkaouer , Christian Newman , Ali Ouni , Zhe Yu

Software Engineering Discipline is constantly achieving momentum from past two decades. In last decade, remarkable progress has been observed. New process models that are introduced from time to time in order to keep pace with…

Software Engineering · Computer Science 2013-02-08 Sukhpal Singh , Inderveer Chana

As software has become an integral part of scientific workflows, reproducible research practices must take it into account. In what way? Archiving source code is a necessary but insufficient condition. The ability to redeploy software…

Software Engineering · Computer Science 2021-12-09 Ludovic Courtès

Large language model (LLM) coding agents can generate working code, but their solutions often accumulate complexity, duplication, and architectural debt. Human developers address such issues through refactoring: behavior-preserving program…

Software Engineering · Computer Science 2026-03-05 Alex Thillen , Niels Mündler , Veselin Raychev , Martin Vechev

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 an established technique from the OO-community to restructure code: it aims at improving software readability, maintainability and extensibility. Although refactoring is not tied to the OO-paradigm in particular, its ideas…

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

Dedicated software search engines that index open source software repositories or in-house software assets significantly enhance the chance of finding software components suitable for reuse. However, they still leave the work of evaluating…

Software Engineering · Computer Science 2013-03-25 Werner Janjic , Dietmar Stoll , Philipp Bostan , Colin Atkinson

Large Language Models (LLMs), like ChatGPT, have gained widespread popularity and usage in various software engineering tasks, including refactoring, testing, code review, and program comprehension. Despite recent studies delving into…

Software Engineering · Computer Science 2024-02-12 Eman Abdullah AlOmar , Anushkrishna Venkatakrishnan , Mohamed Wiem Mkaouer , Christian D. Newman , Ali Ouni

In Open Source Software, the source code and any other resources available in a project can be viewed or reused by anyone subject to often permissive licensing restrictions. In contrast to some studies of dependency-based reuse supported…

Software Engineering · Computer Science 2024-02-12 Mahmoud Jahanshahi , Audris Mockus

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

Context: Writing Clean Code understandable by other collaborators has become crucial to enhancing collaboration and productivity. However, very little is known regarding whether developers agree with Clean Code Principles and how they apply…

Software Engineering · Computer Science 2022-08-16 Kevin Ljung , Javier Gonzalez-Huerta

To build large scale software systems, Component Based Software Engineering (CBSE) has played a vital role. The current practices of software industry demands more development of a software within time and budget which is highly productive…

Software Engineering · Computer Science 2014-06-17 N. Md Jubair Basha , Chandra Mohan
‹ Prev 1 3 4 5 6 7 10 Next ›