figshare
Browse
1/1
2 files

An Experimental Investigation on the Innate Relationship between Quality and Refactoring

Version 5 2016-05-10, 17:20
Version 4 2014-11-06, 09:00
Version 3 2014-11-06, 09:00
Version 2 2014-11-06, 08:59
Version 1 2014-10-17, 09:55
dataset
posted on 2016-05-10, 17:20 authored by Gabriele Bavota, Andrea De Lucia, Massimiliano Di Penta, Rocco Oliveto, Fabio PalombaFabio Palomba

Previous studies have investigated the reasons behind refactoring operations performed by developers, and proposed methods and tools to recommend refactorings based on quality metric profiles, or on the presence of poor design and implementation choices, i.e., code smells. Nevertheless, the existing literature lacks of observations about the relations between metrics/code smells and refactoring operations performed by de- velopers. In other words, the characteristics of code components pushing developers to refactor them are still unknown. This paper aims at bridging this gap by analyzing which code characteristics trigger the developers refactoring attentions. Specifically, we mined the evolution history of three Java open source projects to investigate whether developers refactoring activities occur on code components for which cer- tain indicators—such as quality metrics or the presence of smells as detected by tools—suggest there might be need for refactoring operations. Results indicate that, more often than not, quality metrics do not show a clear relationship with refactoring. In other words, refactoring operations performed by developers are generally focused on code components for which quality metrics do not suggest there might be need for refactoring operations. Finally, 42% of refactoring operations are performed on code entities affected by code smells. However, only 7% of the performed operations actually remove the code smells from the affected class.

History

Usage metrics

    Licence

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC