English
Related papers

Related papers: JExtract: An Eclipse Plug-in for Recommending Auto…

200 papers

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

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…

Refactoring is an important activity that is frequently performed in software development, and among them, Extract Method is known to be one of the most frequently performed refactorings. The existing techniques for recommending Extract…

Software Engineering · Computer Science 2021-08-31 Jinto Yamanaka , Yasuhiro Hayase , Toshiyuki Amagasa

Excessively long methods, loaded with multiple responsibilities, are challenging to understand, debug, reuse, and maintain. The solution lies in the widely recognized Extract Method refactoring. While the application of this refactoring is…

Software Engineering · Computer Science 2024-06-03 Dorin Pomian , Abhiram Bellur , Malinda Dilhara , Zarina Kurbatova , Egor Bogomolov , Andrey Sokolov , Timofey Bryksin , Danny Dig

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

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

Software refactoring plays an important role in increasing code quality. One of the most popular refactoring types is the Move Method refactoring. It is usually applied when a method depends more on members of other classes than on its own…

Software Engineering · Computer Science 2020-02-18 Zarina Kurbatova , Ivan Veselov , Yaroslav Golubev , Timofey Bryksin

Long methods that encapsulate multiple responsibilities within a single method are challenging to maintain. Choosing which statements to extract into new methods has been the target of many research tools. Despite steady improvements, these…

Software Engineering · Computer Science 2024-04-26 Dorin Pomian , Abhiram Bellur , Malinda Dilhara , Zarina Kurbatova , Egor Bogomolov , Timofey Bryksin , Danny Dig

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

Incorrect placement of methods within classes is a typical code smell called Feature Envy, which causes additional maintenance and cost during evolution. To remove this design flaw, several Move Method refactoring tools have been proposed.…

Software Engineering · Computer Science 2022-12-26 Di Cui , Siqi Wang , Yong Luo , Xingyu Li , Jie Dai , Lu Wang , Qingshan Li

Code refactoring is widely recognized as an essential software engineering practice to improve the understandability and maintainability of the source code. The Extract Method refactoring is considered as "Swiss army knife" of refactorings,…

Software Engineering · Computer Science 2023-12-21 Eman Abdullah AlOmar , Mohamed Wiem Mkaouer , Ali Ouni

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

Developers often change types of program elements. Such refactoring often involves updating not only the type of the element itself, but also the API of all type-dependent references in the code, thus it is tedious and time-consuming.…

Software Engineering · Computer Science 2022-05-10 Oleg Smirnov , Ameya Ketkar , Timofey Bryksin , Nikolaos Tsantalis , Danny Dig

When done manually, refactoring legacy code in order to eliminate uses of deprecated APIs is an error-prone and time-consuming process. In this paper, we investigate to which degree refactorings for deprecated Java APIs can be automated,…

Software Engineering · Computer Science 2025-04-22 Cristina David , Pascal Kesseli , Daniel Kroening , Hanliang Zhang

This paper presents the ReXCL tool, which automates the extraction and classification processes in requirements engineering, enhancing the software development life-cycle. The tool features two main modules: Extraction, which processes raw…

Software Engineering · Computer Science 2026-05-13 Paheli Bhattacharya , Manojit Chakraborty , Santhosh Kumar Arumugam , Rishabh Gupta

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

Existing recommendation systems can help developers improve their software development abilities by recommending new programming tools, such as a refactoring tool or a program navigation tool. However, simply recommending tools in isolation…

Software Engineering · Computer Science 2021-02-09 Dylan Bates

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

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

We developed a plugin for IntelliJ IDEA called AntiCopyPaster, which tracks the pasting of code fragments inside the IDE and suggests the appropriate Extract Method refactoring to combat the propagation of duplicates. Unlike the existing…

‹ Prev 1 2 3 10 Next ›