On the Impact of Refactoring on the Relationship between Quality Attributes and Design Metrics

Eman Abdullah Alomar, Mohamed Wiem Mkaouer, Ali Ouni, Marouane Kessentini

    Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

    60 Scopus citations

    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, but for some quality attributes, they don't.

    Original languageEnglish
    Title of host publicationProceedings - 13th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM 2019
    ISBN (Electronic)9781728129686
    DOIs
    StatePublished - Sep 2019
    Event13th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM 2019 - Porto de Galinhas, Pernambuco, Brazil
    Duration: 19 Sep 201920 Sep 2019

    Publication series

    NameInternational Symposium on Empirical Software Engineering and Measurement
    Volume2019-Septemer
    ISSN (Print)1949-3770
    ISSN (Electronic)1949-3789

    Conference

    Conference13th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM 2019
    Country/TerritoryBrazil
    CityPorto de Galinhas, Pernambuco
    Period19/09/1920/09/19

    Keywords

    • empirical study
    • refactoring
    • software quality

    Fingerprint

    Dive into the research topics of 'On the Impact of Refactoring on the Relationship between Quality Attributes and Design Metrics'. Together they form a unique fingerprint.

    Cite this