# Do Design Metrics Capture Developers Perception of Quality? An Empirical   Study on Self-Affirmed Refactoring Activities

**Authors:** Eman Abdullah AlOmar, Mohamed Wiem Mkaouer, Ali Ouni, Marouane, Kessentini

arXiv: 1907.04797 · 2020-09-15

## TL;DR

This study investigates whether design metrics align with developers' perceptions of quality improvements during refactoring, analyzing a large dataset of open-source Java projects to assess the correlation between metrics and developer intentions.

## Contribution

It provides empirical evidence on which design metrics reflect developers' quality improvement intentions during refactoring activities.

## Key findings

- Certain design metrics are more popular and emphasized by developers.
- Most metrics mapped to quality attributes capture developer intentions.
- Structural metrics can represent internal quality attributes with varying degrees of accuracy.

## Abstract

Background. Refactoring is a critical task in software maintenance and is generally performed to enforce the best design and implementation practices or to cope with design defects. Several studies attempted to detect refactoring activities through mining software repositories allowing to collect, analyze and get actionable data-driven insights about refactoring practices within software projects. Aim. 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. Method. 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 enhancement 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. Results. The statistical analysis of the obtained results shows that (i) a few state-of-the-art metrics are more popular than others; and (ii) some metrics are being more emphasized than others. Conclusions. We verify that there are a variety of structural metrics that can represent the internal quality attributes with different degrees of improvement and degradation of software quality. Most of the metrics that are mapped to the main quality attributes do capture developer intentions of quality improvement reported in the commit messages.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1907.04797/full.md

## Figures

29 figures with captions in the complete paper: https://tomesphere.com/paper/1907.04797/full.md

## References

52 references — full list in the complete paper: https://tomesphere.com/paper/1907.04797/full.md

---
Source: https://tomesphere.com/paper/1907.04797