30 Years of Software Refactoring Research:A Systematic Literature Review

by   Chaima Abid, et al.

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 intended to improve the system design while preserving the behavior. Refactoring studies are expanded beyond code-level restructuring to be applied at different levels (architecture, model, requirements, etc.), adopted in many domains beyond the object-oriented paradigm (cloud computing, mobile, web, etc.), used in industrial settings and considered objectives beyond improving the design to include other non-functional requirements (e.g., improve performance, security, etc.). Thus, challenges to be addressed by refactoring work are, nowadays, beyond code transformation to include, but not limited to, scheduling the opportune time to carry refactoring, recommendations of specific refactoring activities, detection of refactoring opportunities, and testing the correctness of applied refactorings. Therefore, the refactoring research efforts are fragmented over several research communities, various domains, and objectives. To structure the field and existing research results, this paper provides a systematic literature review and analyzes the results of 3183 research papers on refactoring covering the last three decades to offer the most scalable and comprehensive literature review of existing refactoring research studies. Based on this survey, we created a taxonomy to classify the existing research, identified research trends, and highlighted gaps in the literature and avenues for further research.


page 3

page 4

page 6

page 13

page 14

page 15

page 23


A Literature Review on Serverless Computing

Serverless computing is an emerging cloud computing paradigm. Moreover, ...

Edge to Cloud Tools: A Multivocal Literature Review

Edge-to-cloud computing is an emerging paradigm for distributing computa...

A Systematic Mapping Study on Requirements Engineering in Software Ecosystems

Software ecosystems (SECOs) and open innovation processes have been clai...

Small-Scale 5G Testbeds for Network Slicing Deployment: A Systematic Review

Developing specialized cloud-based and open-source testbeds is a practic...

Mapping the research software sustainability space

A growing number of largely uncoordinated initiatives focus on research ...

The State of Research on Function-as-a-Service Performance Evaluation: A Multivocal Literature Review

Function-as-a-Service (FaaS) is one form of the serverless cloud computi...

Cybersecurity Career Requirements: A Literature Review

This study employs a systematic literature review approach to identify t...

Please sign up or login with your details

Forgot password? Click here to reset