Header

UZH-Logo

Maintenance Infos

A large-scale empirical exploration on refactoring activities in open source software projects


Vassallo, Carmine; Grano, Giovanni; Palomba, Fabio; Gall, Harald C; Bacchelli, Alberto (2019). A large-scale empirical exploration on refactoring activities in open source software projects. Science of Computer Programming, 180:1-15.

Abstract

Refactoring is a well-established practice that aims at improving the internal structure of a software system without changing its external behavior. Existing literature provides evidence of how and why developers perform refactoring in practice. In this paper, we continue on this line of research by performing a large-scale empirical analysis of refactoring practices in 200 open source systems. Specifically, we analyze the change history of these systems at commit level to investigate: (i) whether developers perform refactoring operations and, if so, which are more diffused and (ii) when refactoring operations are applied, and (iii) which are the main developer-oriented factors leading to refactoring. Based on our results, future research can focus on enabling automatic support for less frequent refactorings and on recommending refactorings based on the developer's workload, project's maturity and developer's commitment to the project.

Abstract

Refactoring is a well-established practice that aims at improving the internal structure of a software system without changing its external behavior. Existing literature provides evidence of how and why developers perform refactoring in practice. In this paper, we continue on this line of research by performing a large-scale empirical analysis of refactoring practices in 200 open source systems. Specifically, we analyze the change history of these systems at commit level to investigate: (i) whether developers perform refactoring operations and, if so, which are more diffused and (ii) when refactoring operations are applied, and (iii) which are the main developer-oriented factors leading to refactoring. Based on our results, future research can focus on enabling automatic support for less frequent refactorings and on recommending refactorings based on the developer's workload, project's maturity and developer's commitment to the project.

Statistics

Citations

Altmetrics

Downloads

3 downloads since deposited on 04 Jun 2019
3 downloads since 12 months
Detailed statistics

Additional indexing

Item Type:Journal Article, refereed, original work
Communities & Collections:03 Faculty of Economics > Department of Informatics
Dewey Decimal Classification:000 Computer science, knowledge & systems
Language:English
Date:1 July 2019
Deposited On:04 Jun 2019 13:47
Last Modified:25 Sep 2019 00:35
Publisher:Elsevier
ISSN:0167-6423
OA Status:Closed
Publisher DOI:https://doi.org/10.1016/j.scico.2019.05.002
Related URLs:https://www.sciencedirect.com/science/article/pii/S0167642318302557?via%3Dihub (Publisher)
Other Identification Number:merlin-id:17822

Download