Back to overview

Continuous Refactoring in CI: A Preliminary Study on the Perceived Advantages and Barriers

Type of publication Peer-reviewed
Publikationsform Proceedings (peer-reviewed)
Author Vassallo Carmine, Palomba Fabio, Gall Harald C.,
Project SURF-MobileAppsData
Show all

Proceedings (peer-reviewed)

Page(s) 564 - 568
Title of proceedings 2018 Int Conf on Software Maintenance and Evolution, ICSME 2018
DOI 10.1109/icsme.2018.00068

Open Access

Type of Open Access Repository (Green Open Access)


By definition, the practice of Continuous Integration (CI) promotes continuous software quality improvement. In systems adopting such a practice, quality assurance is usually performed by using static and dynamic analysis tools (e.g., SonarQube) that compute overall metrics such as maintainability or reliability measures. Furthermore, developers usually define quality gates, i.e., source code quality thresholds that must be reached by the software product after every newly committed change. If certain quality gates fail (e.g., a maintainability metric is below a settled threshold), developers should refactor the code possibly addressing some of the proposed warnings. While previous research findings showed that refactoring is often not done in practice, it is still unclear whether and how the adoption of a CI philosophy has changed the way developers perceive and adopt refactoring. In this paper, we preliminarily study-running a survey study that involves 31 developers-how developers perform refactoring in CI, which needs they have and the barriers they face while continuously refactor source code.