software refactoring
Recently Published Documents


TOTAL DOCUMENTS

90
(FIVE YEARS 33)

H-INDEX

10
(FIVE YEARS 2)

2022 ◽  
Vol 31 (2) ◽  
pp. 1-23
Author(s):  
Luca Traini ◽  
Daniele Di Pompeo ◽  
Michele Tucci ◽  
Bin Lin ◽  
Simone Scalabrino ◽  
...  

Refactoring aims at improving the maintainability of source code without modifying its external behavior. Previous works proposed approaches to recommend refactoring solutions to software developers. The generation of the recommended solutions is guided by metrics acting as proxy for maintainability (e.g., number of code smells removed by the recommended solution). These approaches ignore the impact of the recommended refactorings on other non-functional requirements, such as performance, energy consumption, and so forth. Little is known about the impact of refactoring operations on non-functional requirements other than maintainability. We aim to fill this gap by presenting the largest study to date to investigate the impact of refactoring on software performance, in terms of execution time. We mined the change history of 20 systems that defined performance benchmarks in their repositories, with the goal of identifying commits in which developers implemented refactoring operations impacting code components that are exercised by the performance benchmarks. Through a quantitative and qualitative analysis, we show that refactoring operations can significantly impact the execution time. Indeed, none of the investigated refactoring types can be considered “safe” in ensuring no performance regression. Refactoring types aimed at decomposing complex code entities (e.g., Extract Class/Interface, Extract Method) have higher chances of triggering performance degradation, suggesting their careful consideration when refactoring performance-critical code.


2021 ◽  
Author(s):  
Malathi S

Refactoring is the process of improving the code of the software without affecting the external behavior of the code only by reconstruct the internal structure . It makes code cleaner, clearer, simpler or in other words, clean up the code. It also improves the quality of code then it became more reliable and easy to maintain through lifecycle of software. Refactoring has become renowned concept in software development process. The IDE (Integrated Development Environment) highly prefer this technique. Researches on refactoring technique have improved now a day. Beyond that, this particular technique is used to improve different functions of application software. It mainly speed up the function and helps to get the output much faster. In this proposed work Feature Oriented Dependency (FOD) tool is created used for refactoring process established on a chemical reaction optimization meta heuristic approach to discover the appropriate refactoring resolutions.


Author(s):  
Amjad AbuHassan ◽  
Mohammad Alshayeb ◽  
Lahouari Ghouti

2021 ◽  
Vol 20 (No.4) ◽  
pp. 511-539
Author(s):  
Abdullah Almogahed ◽  
Mazni Omar

Refactoring is a critical task in software maintenance and is commonly applied to improve system design or to cope with design defects. There are 68 different types of refactoring techniques and each technique has a particular purpose and effect. However, most prior studies have selected refactoring techniques based on their common use in academic research without obtaining evidence from the software industry. This is a shortcoming that points to the existence of a clear gap between academic research and the corresponding industry practices. Therefore, to bridge this gap, this study identified the most frequently used refactoring techniques, the commonly used programming language, and methods of applying refactoring techniques in the current practices of software refactoring among software practitioners in the industry, by using an online survey. The findings from the survey revealed the most used refactoring techniques, programming language, and the methods of applying the refactoring techniques. This study contributes toward the improvement of software development practices by adding empirical evidence on software refactoring used by software developers. The findings would be beneficial for researchers to develop reference models and software tools to guide the practitioners in using these refactoring techniques based on their effect on software quality attributes to improve the quality of the software systems as a whole.


2021 ◽  
Author(s):  
Yaroslav Golubev ◽  
Zarina Kurbatova ◽  
Eman Abdullah AlOmar ◽  
Timofey Bryksin ◽  
Mohamed Wiem Mkaouer

Author(s):  
Eman Abdullah AlOmar ◽  
Mohamed Wiem Mkaouer ◽  
Christian Newman ◽  
Ali Ouni

2021 ◽  
Vol 12 (3) ◽  
pp. 1705-1716
Author(s):  
Abdullah Almogahed Et.al

Software refactoring is an approach that aims to improve software system quality by restructuring its internal design without altering the functionality of the software system. The software refactoring has gained comprehensive attention from the research community in software engineering since its emerging in 1999. Empirical studies were carried out to investigate whether the software refactoring indeed can achieve improvement in the software system quality. It is widely believed that refactoring has a favorable quality impact. However, several researchers have opposed this belief. This paper presents a systematic literature review (SLR) of the empirical studies that have been conducted in the industrial setting. Twenty studies were chosen and analyzed in depth as primary studies.The objectives of this SLR are to identify the refactoring techniques examined, and software quality attributes investigated as well as to analyze the connection between the refactoring techniques and the software quality attributes based on the selected empirical studies to understand the situation. The findings showed a lack of empirical research on the effect of the refactoring on software quality. Additionally, the relationship between the refactoring techniques and software quality attributes is unclear. Thus, several recommendations have been proposed to address these gaps.


2021 ◽  
Vol 10 (2) ◽  
pp. 143
Author(s):  
Rasmita Panigrahi ◽  
Sanjay K. Kuanar ◽  
Lov Kumar ◽  
Neelamadhab Padhy

Author(s):  
Rajni Sehgal ◽  
Deepti Mehrotra ◽  
Renuka Nagpal ◽  
Ramanuj sharma

Sign in / Sign up

Export Citation Format

Share Document