TUTCRIS - Tampereen teknillinen yliopisto

TUTCRIS

On the Relationship Between Coupling and Refactoring: An Empirical Viewpoint

Tutkimustuotosvertaisarvioitu

Standard

On the Relationship Between Coupling and Refactoring: An Empirical Viewpoint. / Counsell, Steve; Arzoky, Mahir; Destefanis, Giuseppe; Taibi, Davide.

2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). IEEE, 2019. (International Symposium on Empirical Software Engineering and Measurement).

Tutkimustuotosvertaisarvioitu

Harvard

Counsell, S, Arzoky, M, Destefanis, G & Taibi, D 2019, On the Relationship Between Coupling and Refactoring: An Empirical Viewpoint. julkaisussa 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). International Symposium on Empirical Software Engineering and Measurement, IEEE, International Symposium on Empirical Software Engineering and Measurement, 1/01/00. https://doi.org/10.1109/ESEM.2019.8870191

APA

Counsell, S., Arzoky, M., Destefanis, G., & Taibi, D. (2019). On the Relationship Between Coupling and Refactoring: An Empirical Viewpoint. teoksessa 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM) (International Symposium on Empirical Software Engineering and Measurement). IEEE. https://doi.org/10.1109/ESEM.2019.8870191

Vancouver

Counsell S, Arzoky M, Destefanis G, Taibi D. On the Relationship Between Coupling and Refactoring: An Empirical Viewpoint. julkaisussa 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). IEEE. 2019. (International Symposium on Empirical Software Engineering and Measurement). https://doi.org/10.1109/ESEM.2019.8870191

Author

Counsell, Steve ; Arzoky, Mahir ; Destefanis, Giuseppe ; Taibi, Davide. / On the Relationship Between Coupling and Refactoring: An Empirical Viewpoint. 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). IEEE, 2019. (International Symposium on Empirical Software Engineering and Measurement).

Bibtex - Lataa

@inproceedings{74e1e3c98a304d5db50b343fa31f161e,
title = "On the Relationship Between Coupling and Refactoring: An Empirical Viewpoint",
abstract = "Background: Refactoring has matured over the past twenty years to become part of a developer's toolkit. However, many fundamental research questions still remain largely unexplored. Aim: The goal of this paper is to investigate the highest and lowest quartile of refactoring-based data using two coupling metrics - the Coupling between Objects metric and the more recent Conceptual Coupling between Classes metric to answer this question. Can refactoring trends and patterns be identified based on the level of class coupling? Method: In this paper, we analyze over six thousand refactoring operations drawn from releases of three open-source systems to address one such question. Results: Results showed no meaningful difference in the types of refactoring applied across either lower or upper quartile of coupling for both metrics; refactorings usually associated with coupling removal were actually more numerous in the lower quartile in some cases. A lack of inheritance-related refactorings across all systems was also noted. Conclusions: The emerging message (and a perplexing one) is that developers seem to be largely indifferent to classes with high coupling when it comes to refactoring types - they treat classes with relatively low coupling in almost the same way.",
keywords = "public domain software, software maintenance, software metrics, developer, fundamental research questions, refactoring-based data, recent Conceptual Coupling, refactoring trends, class coupling, refactoring operations, open-source systems, coupling removal, inheritance-related refactorings, high coupling, relatively low coupling, empirical viewpoint, Couplings, Measurement, Tools, Open source software, Java, Software engineering, Refactoring, coupling, metrics, empirical",
author = "Steve Counsell and Mahir Arzoky and Giuseppe Destefanis and Davide Taibi",
year = "2019",
month = "10",
day = "17",
doi = "10.1109/ESEM.2019.8870191",
language = "English",
isbn = "978-1-7281-2969-3",
series = "International Symposium on Empirical Software Engineering and Measurement",
publisher = "IEEE",
booktitle = "2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)",

}

RIS (suitable for import to EndNote) - Lataa

TY - GEN

T1 - On the Relationship Between Coupling and Refactoring: An Empirical Viewpoint

AU - Counsell, Steve

AU - Arzoky, Mahir

AU - Destefanis, Giuseppe

AU - Taibi, Davide

PY - 2019/10/17

Y1 - 2019/10/17

N2 - Background: Refactoring has matured over the past twenty years to become part of a developer's toolkit. However, many fundamental research questions still remain largely unexplored. Aim: The goal of this paper is to investigate the highest and lowest quartile of refactoring-based data using two coupling metrics - the Coupling between Objects metric and the more recent Conceptual Coupling between Classes metric to answer this question. Can refactoring trends and patterns be identified based on the level of class coupling? Method: In this paper, we analyze over six thousand refactoring operations drawn from releases of three open-source systems to address one such question. Results: Results showed no meaningful difference in the types of refactoring applied across either lower or upper quartile of coupling for both metrics; refactorings usually associated with coupling removal were actually more numerous in the lower quartile in some cases. A lack of inheritance-related refactorings across all systems was also noted. Conclusions: The emerging message (and a perplexing one) is that developers seem to be largely indifferent to classes with high coupling when it comes to refactoring types - they treat classes with relatively low coupling in almost the same way.

AB - Background: Refactoring has matured over the past twenty years to become part of a developer's toolkit. However, many fundamental research questions still remain largely unexplored. Aim: The goal of this paper is to investigate the highest and lowest quartile of refactoring-based data using two coupling metrics - the Coupling between Objects metric and the more recent Conceptual Coupling between Classes metric to answer this question. Can refactoring trends and patterns be identified based on the level of class coupling? Method: In this paper, we analyze over six thousand refactoring operations drawn from releases of three open-source systems to address one such question. Results: Results showed no meaningful difference in the types of refactoring applied across either lower or upper quartile of coupling for both metrics; refactorings usually associated with coupling removal were actually more numerous in the lower quartile in some cases. A lack of inheritance-related refactorings across all systems was also noted. Conclusions: The emerging message (and a perplexing one) is that developers seem to be largely indifferent to classes with high coupling when it comes to refactoring types - they treat classes with relatively low coupling in almost the same way.

KW - public domain software

KW - software maintenance

KW - software metrics

KW - developer

KW - fundamental research questions

KW - refactoring-based data

KW - recent Conceptual Coupling

KW - refactoring trends

KW - class coupling

KW - refactoring operations

KW - open-source systems

KW - coupling removal

KW - inheritance-related refactorings

KW - high coupling

KW - relatively low coupling

KW - empirical viewpoint

KW - Couplings

KW - Measurement

KW - Tools

KW - Open source software

KW - Java

KW - Software engineering

KW - Refactoring

KW - coupling

KW - metrics

KW - empirical

U2 - 10.1109/ESEM.2019.8870191

DO - 10.1109/ESEM.2019.8870191

M3 - Conference contribution

SN - 978-1-7281-2969-3

T3 - International Symposium on Empirical Software Engineering and Measurement

BT - 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)

PB - IEEE

ER -