  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.
