Can refactoring be self-affirmed? An exploratory study on how developers document their refactoring activities in commit messages

Eman Abdullah AlOmar, Mohamed Wiem Mkaouer, Ali Ouni

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

    58 Scopus citations

    Abstract

    Refactoring is a critical task in software maintenance and is usually performed to enforce best design practices, or to cope with design defects. Previous studies heavily rely on defining a set of keywords to identify refactoring commits from a list of general commits extracted from a small set of software systems. All approaches thus far consider all commits without checking whether refactorings had actually happened or not. In this paper, we aim at exploring how developers document their refactoring activities during the software life cycle. We call such activity Self-Affirmed Refactoring, which is an indication of the developer-related refactoring events in the commit messages. Our approach relies on text mining refactoring-related change messages and identifying refactoring patterns by only considering refactoring commits. We found that (1) developers use a variety of patterns to purposefully target refactoring-related activities; (2) developers tend to explicitly mention the improvement of specific quality attributes and code smells; and (3) commit messages with self-affirmed refactoring patterns tend to have more significant refactoring activity than those without.

    Original languageEnglish
    Title of host publicationProceedings - 2019 IEEE/ACM 3rd International Workshop on Refactoring, IWOR 2019
    Pages51-58
    Number of pages8
    ISBN (Electronic)9781728122700
    DOIs
    StatePublished - May 2019
    Event3rd IEEE/ACM International Workshop on Refactoring, IWOR 2019 - Montreal, Canada
    Duration: 28 May 2019 → …

    Publication series

    NameProceedings - 2019 IEEE/ACM 3rd International Workshop on Refactoring, IWOR 2019

    Conference

    Conference3rd IEEE/ACM International Workshop on Refactoring, IWOR 2019
    Country/TerritoryCanada
    CityMontreal
    Period28/05/19 → …

    Keywords

    • Mining software repositories
    • Self-affirmed refactoring
    • Software quality

    Fingerprint

    Dive into the research topics of 'Can refactoring be self-affirmed? An exploratory study on how developers document their refactoring activities in commit messages'. Together they form a unique fingerprint.

    Cite this