In this empirical study, we aim at identifying, among the various quality models presented in the literature, the ones that are more in-line with the developer's vision of quality optimization, when they explicitly mention that they are refactoring to improve them. We extract a large corpus of design-related refactoring activities that are applied and documented by developers during their daily changes from 3,795 curated open source Java projects. In particular, we extract a large-scale corpus of structural metrics and anti-pattern improvement changes, from which we identify 1,245 quality improvement commits with their corresponding refactoring operations, as perceived by software engineers. Thereafter, we empirically analyze the impact of these refactoring operations on a set of common state-of-the-art design quality metrics.
More specifically, the research question that we investigated is:
RQ. Do the developer perception of quality improvement align with the quantitative assessment of code quality?
If you are interested to learn more about the process we followed, please refer to our paper.
Eman Abdullah AlOmar, Mohamed Wiem Mkaouer, Ali Ouni, and Marouane Kessentini, "On the impact of refactoring on the relationship between quality attributes and design metrics", the International Symposium on Empirical Software Engineering and Measurement (ESEM'2019). [preprint]