How does Object-Oriented Code Refactoring Influence Software Quality? Research Landscape and Challenges

by   Satnam Kaur, et al.

Context: Software refactoring aims to improve software quality and developer productivity. Numerous empirical studies investigating the impact of refactoring activities on software quality have been conducted over the last two decades. Objective: This study aims to perform a comprehensive systematic mapping study of existing empirical studies on evaluation of the effect of object-oriented code refactoring activities on software quality attributes. Method: We followed a multi-stage scrutinizing process to select 142 primary studies published till December 2017. The selected primary studies were further classified based on several aspects to answer the research questions defined for this work. In addition, we applied vote-counting approach to combine the empirical results and their analysis reported in primary studies. Results: The findings indicate that studies conducted in academic settings found more positive impact of refactoring on software quality than studies performed in industries. In general, refactoring activities caused all quality attributes to improve or degrade except for cohesion, complexity, inheritance, fault-proneness and power consumption attributes. Furthermore, individual refactoring activities have variable effects on most quality attributes explored in primary studies, indicating that refactoring does not always improve all quality attributes. Conclusions: This study points out several open issues which require further investigation, e.g., lack of industrial validation, lesser coverage of refactoring activities, limited tool support, etc.


page 7

page 11

page 15

page 19

page 21

page 23

page 29

page 30


A Systematic Mapping Study on Requirements Engineering in Software Ecosystems

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

The impact of software complexity on cost and quality - A comparative analysis between Open source and proprietary software

Early prediction of software quality is important for better software pl...

The Effects of Continuous Integration on Software Development: a Systematic Literature Review

Context: Continuous integration (CI) is a software engineering technique...

A systematic mapping study of developer social network research

Developer social networks (DSNs) are a tool for the analysis of communit...

Initiatives and Challenges of Using Gamification in Software Engineering: A Systematic Mapping

Context: Gamification is an emerging subject that has been applied in di...

An Expert Module Design and Implementation that Evaluation the C&K Metric Suite in Terms of Object Oriented Software Quality

Object-oriented software has some features such as encapsulation, inheri...

The use of blogs in the education field: A qualitative systematic review

Blogs have become one of the most successful tools of the Web 2.0 becaus...

Please sign up or login with your details

Forgot password? Click here to reset