{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,31]],"date-time":"2026-07-31T22:39:16Z","timestamp":1785537556145,"version":"3.56.0"},"reference-count":44,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2020,12,16]],"date-time":"2020-12-16T00:00:00Z","timestamp":1608076800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2020,12,16]],"date-time":"2020-12-16T00:00:00Z","timestamp":1608076800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/501100001721","name":"University of Groningen","doi-asserted-by":"crossref","id":[{"id":"10.13039\/501100001721","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["SN COMPUT. SCI."],"published-print":{"date-parts":[[2021,2]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>The interplay between Maintainability and Reliability can be particularly complex and different kinds of trade-offs may arise when developers try to optimise for either one of these two qualities. To further understand how Maintainability and Reliability influence each other, we perform an empirical study using architectural smells and source code file co-changes as proxies for these two qualities, respectively. The study is designed using an exploratory multiple-case case study following well-know guidelines and using fourteen open source Java projects. Three different research questions are identified and investigated through statistical analysis. Co-changes are detected by using both a state-of-the-art algorithm and a novel approach. The three architectural smells selected are among the most important from the literature and are detected using open source tools. The results show that 50% of co-changes eventually end up taking part in an architectural smell. Moreover, statistical tests indicate that in 50% of the projects, files and packages taking part in smells are more likely to co-change than non-smelly files. Finally, co-changes were also found to appear before smells 90% of the times a smell and a co-change appear in the same file pair. Our findings show that Reliability is indirectly affected by low levels of Maintainability even at the architectural level. This is because low-quality components require more frequent changes by the developers, increasing chances to eventually introduce faults.<\/jats:p>","DOI":"10.1007\/s42979-020-00407-5","type":"journal-article","created":{"date-parts":[[2020,12,16]],"date-time":"2020-12-16T11:06:19Z","timestamp":1608116779000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":11,"title":["Exploring the Relation Between Co-changes and Architectural Smells"],"prefix":"10.1007","volume":"2","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-3383-3298","authenticated-orcid":false,"given":"Darius","family":"Sas","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7101-0754","authenticated-orcid":false,"given":"Paris","family":"Avgeriou","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Ronald","family":"Kruizinga","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Ruben","family":"Scheedler","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2020,12,16]]},"reference":[{"key":"407_CR1","doi-asserted-by":"publisher","unstructured":"Al-Mutawa HA, Dietrich J, Marsland S, McCartin C. On the shape of circular dependencies in java programs. In: Proceedings of the Australian Software Engineering Conference, ASWEC, IEEE, pp 48\u201357; 2014. https:\/\/doi.org\/10.1109\/ASWEC.2014.15. http:\/\/ieeexplore.ieee.org\/document\/6824106\/. Accessed 08 Dec 2020.","DOI":"10.1109\/ASWEC.2014.15"},{"key":"407_CR2","doi-asserted-by":"publisher","unstructured":"Arcelli\u00a0Fontana F, Pigazzini I, Roveda R, Tamburri D, Zanoni M, Nitto ED. Arcan: a tool for architectural smells detection. In: Proceedings\u20142017 IEEE International Conference on Software Architecture Workshops, ICSAW 2017: Side Track Proceedings pp 282\u2013285; 2017. https:\/\/doi.org\/10.1109\/ICSAW.2017.16","DOI":"10.1109\/ICSAW.2017.16"},{"key":"407_CR3","doi-asserted-by":"publisher","unstructured":"Arvanitou EM, Ampatzoglou A, Chatzigeorgiou A, Avgeriou P. A method for assessing class change proneness. In: ACM International Conference Proceeding Series, Association for Computing Machinery, vol Part. 2017;F1286:186\u201395. https:\/\/doi.org\/10.1145\/3084226.3084239. Accessed 08 Dec 2020.","DOI":"10.1145\/3084226.3084239"},{"issue":"4","key":"407_CR4","doi-asserted-by":"publisher","first-page":"110","DOI":"10.4230\/DagRep.6.4.110","volume":"6","author":"P Avgeriou","year":"2016","unstructured":"Avgeriou P, Kruchten P, Ozkaya I, Seaman C. Managing technical debt in software engineering (Dagstuhl Seminar 16162). Dagstuhl Rep. 2016;6(4):110\u201338. https:\/\/doi.org\/10.4230\/DagRep.6.4.110.","journal-title":"Dagstuhl Rep."},{"issue":"7","key":"407_CR5","doi-asserted-by":"publisher","first-page":"651","DOI":"10.1016\/j.infsof.2012.01.008","volume":"54","author":"S Barney","year":"2012","unstructured":"Barney S, Petersen K, Svahnberg M, Aurum A, Barney H. Software quality trade-offs: a systematic map. Inform Softw Technol 2012;54(7):651\u201362. https:\/\/doi.org\/10.1016\/j.infsof.2012.01.008.","journal-title":"Inform Softw Technol"},{"key":"407_CR6","unstructured":"Bass L, Clements P, Kazman P. Software Architecture in Practice, 3rd edn. Addison-Wesley Professional; 2012. https:\/\/dl.acm.org\/citation.cfm?id=2392670. Accessed 08 Dec 2020."},{"key":"407_CR7","doi-asserted-by":"crossref","unstructured":"Bavota G, Dit B, Oliveto R, Di Penta M, Poshyvanyk D, De Lucia A. An empirical study on the developers\u2019 perception of software coupling. In: 2013 35th International Conference on Software Engineering (ICSE), pp 692\u2013701 (2013)","DOI":"10.1109\/ICSE.2013.6606615"},{"key":"407_CR8","volume-title":"The art and science of analyzing software data","author":"C Bird","year":"2015","unstructured":"Bird C, Menzies T, Zimmermann T. The art and science of analyzing software data. Burlington: Morgan Kaufmann; 2015."},{"key":"407_CR9","doi-asserted-by":"publisher","unstructured":"Bouktif A, Gueheneuc Y, Antoniol G. Extracting change-patterns from CVS repositories. In: 2006 13th Working Conference on Reverse Engineering, 2006;221\u2013230, https:\/\/doi.org\/10.1109\/WCRE.2006.27","DOI":"10.1109\/WCRE.2006.27"},{"issue":"5","key":"407_CR10","doi-asserted-by":"publisher","first-page":"720","DOI":"10.1109\/TSE.2009.17","volume":"35","author":"M D\u2019Ambros","year":"2009","unstructured":"D\u2019Ambros M, Lanza M, Lungu M. Visualizing co-change information with the evolution radar. IEEE Trans Softw Eng. 2009;35(5):720\u201335. https:\/\/doi.org\/10.1109\/TSE.2009.17.","journal-title":"IEEE Trans Softw Eng"},{"key":"407_CR11","doi-asserted-by":"publisher","first-page":"110420","DOI":"10.1016\/j.jss.2019.110420","volume":"158","author":"MC de Oliveira","year":"2019","unstructured":"de Oliveira MC, Freitas D, Bonif\u00e1cio R, Pinto G, Lo D. Finding needles in a haystack: leveraging co-change dependencies to recommend refactorings. J Syst Softw. 2019;158:110420. https:\/\/doi.org\/10.1016\/j.jss.2019.110420.","journal-title":"J Syst Softw."},{"key":"407_CR12","doi-asserted-by":"publisher","unstructured":"Fontana FA, Pigazzini I, Roveda R, Zanoni M. Automatic detection of instability architectural smells. In: Proceedings\u20142016 IEEE International Conference on Software Maintenance and Evolution, ICSME 2016 2016;pp 433\u2013437. https:\/\/doi.org\/10.1109\/ICSME.2016.33. Accessed 08 Dec 2020.","DOI":"10.1109\/ICSME.2016.33"},{"key":"407_CR13","doi-asserted-by":"publisher","unstructured":"Garcia J, Daniel P, Edwards G, Medvidovic N. Dentifying Architectural Bad Smells. In: Proceedings of the European Conference on Software Maintenance and Reengineering, CSMR. 2009; pp 255\u2013258 https:\/\/doi.org\/10.1109\/CSMR.2009.59","DOI":"10.1109\/CSMR.2009.59"},{"key":"407_CR14","doi-asserted-by":"crossref","unstructured":"Jaafar F, Gueheneuc Y, Hamel S, Antoniol G. An exploratory study of macro co-changes. In: 2011 18th Working Conference on Reverse Engineering. 2011;325\u2013334.","DOI":"10.1109\/WCRE.2011.47"},{"key":"407_CR15","doi-asserted-by":"publisher","unstructured":"Jankovic M, Kehagias D, Siavvas M, Tsoukalas D, Chatzigeorgiou A. The sdk4ed approach to software quality optimization and interplay calculation.2019. https:\/\/doi.org\/10.13140\/RG.2.2.31377.58723.","DOI":"10.13140\/RG.2.2.31377.58723"},{"issue":"3","key":"407_CR16","doi-asserted-by":"publisher","first-page":"243","DOI":"10.1007\/s10664-011-9171-y","volume":"17","author":"F Khomh","year":"2012","unstructured":"Khomh F, Penta MD, Gu\u00e9h\u00e9neuc YG, Antoniol G. An exploratory study of the impact of antipatterns on class change- and fault-proneness. Emp Softw Eng. 2012;17(3):243\u201375. https:\/\/doi.org\/10.1007\/s10664-011-9171-y.","journal-title":"Emp Softw Eng"},{"key":"407_CR17","doi-asserted-by":"publisher","unstructured":"Kim S, Zimmermann T, Whitehead EJ, Zeller A. Predicting faults from cached history. In: Proceedings - International Conference on Software Engineering. 2007;489\u2013498 https:\/\/doi.org\/10.1109\/ICSE.2007.66.","DOI":"10.1109\/ICSE.2007.66"},{"key":"407_CR18","doi-asserted-by":"publisher","unstructured":"Kouroshfar E. Studying the effect of co-change dispersion on software quality. In: Proceedings\u2014International Conference on Software Engineering. 2013;1450\u20131452 https:\/\/doi.org\/10.1109\/ICSE.2013.6606741.","DOI":"10.1109\/ICSE.2013.6606741"},{"issue":"6","key":"407_CR19","doi-asserted-by":"publisher","first-page":"18","DOI":"10.1109\/MS.2012.167","volume":"29","author":"P Kruchten","year":"2012","unstructured":"Kruchten P, Nord RL, Ozkaya I. Technical debt: from metaphor to theory and practice. IEEE Softw 2012;29(6):18\u201321. https:\/\/doi.org\/10.1109\/MS.2012.167","journal-title":"IEEE Softw"},{"key":"407_CR20","doi-asserted-by":"crossref","unstructured":"Le DM, Carrillo C, Capilla R, Medvidovic N (2016) Relating architectural decay and sustainability of software systems. In: Proceedings - 2016 13th Working IEEE\/IFIP Conference on Software Architecture, WICSA 2016, IEEE, pp 178\u2013181, doi:10.1109\/WICSA.2016.15, http:\/\/ieeexplore.ieee.org\/document\/6824106\/0","DOI":"10.1109\/WICSA.2016.15"},{"key":"407_CR21","doi-asserted-by":"publisher","unstructured":"Le DM, Link D, Shahbazian A, Medvidovic N. An empirical study of architectural decay in open-source software. In: Proceedings\u20142018 IEEE 15th International Conference on Software Architecture, ICSA 2018, IEEE. 2018; 176\u2013185 https:\/\/doi.org\/10.1109\/ICSA.2018.00027, https:\/\/ieeexplore.ieee.org\/document\/8417151\/. Accessed 08 Dec 2020","DOI":"10.1109\/ICSA.2018.00027"},{"key":"407_CR22","doi-asserted-by":"publisher","unstructured":"Macia I, Garcia J, Popescu D, Garcia A, Medvidovic N, von Staa A.Are automatically-detected code anomalies relevant to architectural modularity? In: Proceedings of the 11th annual international conference on Aspect-oriented Software Development\u2014AOSD \u201912. 2012;167 https:\/\/doi.org\/10.1145\/2162049.2162069, http:\/\/dl.acm.org\/citation.cfm?doid=2162049.2162069","DOI":"10.1145\/2162049.2162069"},{"issue":"4","key":"407_CR23","doi-asserted-by":"publisher","first-page":"537","DOI":"10.1080\/08982119608904663","volume":"8","author":"RC Martin","year":"1994","unstructured":"Martin RC. OO Design Quality Metrics. Qual Eng. 1994;8(4):537\u201342. https:\/\/doi.org\/10.1080\/08982119608904663.","journal-title":"Qual Eng."},{"key":"407_CR24","unstructured":"Martin RC (2000) Design principles and design patterns. Object Mentor"},{"key":"407_CR25","unstructured":"Martin Lippert SR. Refactoring in large software projects: performing complex restructurings successfully. Wiley; 2006. http:\/\/eu.wiley.com\/WileyCDA\/WileyTitle\/productCd-0470858923.html. Accessed 08 Dec 2020."},{"key":"407_CR26","doi-asserted-by":"publisher","unstructured":"Martini A, Bosch J. The danger of architectural technical debt: contagious debt and vicious circles. In: Proceedings\u201412th Working IEEE\/IFIP Conference on Software Architecture, WICSA 2015. 2015;1\u201310 https:\/\/doi.org\/10.1109\/WICSA.2015.31","DOI":"10.1109\/WICSA.2015.31"},{"key":"407_CR27","doi-asserted-by":"publisher","unstructured":"Mo R, Cai Y, Kazman R, Xiao L. Hotspot patterns: the formal definition and automatic detection of architecture smells. In: Proceedings\u201412th Working IEEE\/IFIP Conference on Software Architecture, WICSA 2015. 2015;51\u201360 https:\/\/doi.org\/10.1109\/WICSA.2015.12","DOI":"10.1109\/WICSA.2015.12"},{"key":"407_CR28","doi-asserted-by":"crossref","unstructured":"Mondal M, Roy CK, Schneider KA. Insight into a method co-change pattern to identify highly coupled methods: An empirical study. In: 2013 21st International Conference on Program Comprehension (ICPC). 2013;103\u2013112","DOI":"10.1109\/ICPC.2013.6613838"},{"key":"407_CR29","doi-asserted-by":"crossref","unstructured":"Palomba F, Bavota G, Di Penta M, Oliveto R, De Lucia A, Poshyvanyk D. Detecting bad smells in source code using change history information. In: 2013 28th IEEE\/ACM International Conference on Automated Software Engineering (ASE). 2013;268\u2013278","DOI":"10.1109\/ASE.2013.6693086"},{"key":"407_CR30","doi-asserted-by":"publisher","unstructured":"Papadopoulos L, Marantos C, Digkas G, Ampatzoglou A, Chatzigeorgiou A, Soudris D. Interrelations between software quality metrics, performance and energy consumption in embedded applications. In: Proceedings of the 21st International Workshop on Software and Compilers for Embedded Systems, Association for Computing Machinery, New York, NY, USA, SCOPES \u201918, p 62-65 (2018) https:\/\/doi.org\/10.1145\/3207719.3207736","DOI":"10.1145\/3207719.3207736"},{"key":"407_CR31","doi-asserted-by":"publisher","first-page":"128","DOI":"10.1109\/TSE.1979.234169","volume":"2","author":"DL Parnas","year":"1979","unstructured":"Parnas DL. Designing software for ease of extension and contraction. IEEE Trans Softw Eng. 1979;2:128\u201338.","journal-title":"IEEE Trans Softw Eng"},{"key":"407_CR32","doi-asserted-by":"publisher","unstructured":"Robbes R, Pollet D, Lanza M. Logical coupling based on fine-grained change information. In: 2008 15th Working Conference on Reverse Engineering, pp 42\u201346 (2008) https:\/\/doi.org\/10.1109\/WCRE.2008.47","DOI":"10.1109\/WCRE.2008.47"},{"key":"407_CR33","doi-asserted-by":"publisher","DOI":"10.1002\/9781118181034","volume-title":"Case study research in software engineering\u2014guidelines and examples","author":"P Runeson","year":"2012","unstructured":"Runeson P, H\u00f6st M, Rainer A, Regnell B. Case study research in software engineering\u2014guidelines and examples. 1st ed. Hoboken: Wiley; 2012.","edition":"1"},{"issue":"1","key":"407_CR34","doi-asserted-by":"publisher","first-page":"43","DOI":"10.1109\/TASSP.1978.1163055","volume":"26","author":"H Sakoe","year":"1978","unstructured":"Sakoe H, Chiba S. Dynamic programming algorithm optimization for spoken word recognition. IEEE Trans Acoust Speech Signal Process. 1978;26(1):43\u20139.","journal-title":"IEEE Trans Acoust Speech Signal Process"},{"key":"407_CR35","doi-asserted-by":"publisher","DOI":"10.1007\/s11219-019-09478-x","author":"D Sas","year":"2019","unstructured":"Sas D, Avgeriou P. Quality attribute trade-offs in the embedded systems industry: an exploratory case study. Softw Qual J. 2019. https:\/\/doi.org\/10.1007\/s11219-019-09478-x.","journal-title":"Softw Qual J"},{"key":"407_CR36","doi-asserted-by":"publisher","unstructured":"Sas D, Avgeriou P, Arcelli Fontana F. Investigating instability architectural smells evolution: an exploratory case study. In: 35th International Conference on Software Maintenance and Evolution, IEEE. 2019; 557\u2013567. https:\/\/doi.org\/10.1109\/ICSME.2019.00090. https:\/\/ieeexplore.ieee.org\/document\/8919109\/. Accessed 08 Dec 2020.","DOI":"10.1109\/ICSME.2019.00090"},{"key":"407_CR37","doi-asserted-by":"publisher","unstructured":"Sheskin DJ. Handbook of Parametric and Nonparametric Statistical Procedures, 5th edn. Chapman & Hall\/CRC. (2007) https:\/\/doi.org\/10.5555\/1529939","DOI":"10.5555\/1529939"},{"key":"407_CR38","doi-asserted-by":"publisher","unstructured":"Shihab E, Mockus A, Kamei Y, Adams B, Hassan AE. High-impact defects: a study of breakage and surprise defects. In: SIGSOFT\/FSE 2011\u2014Proceedings of the 19th ACM SIGSOFT Symposium on Foundations of Software Engineering, ACM Press, New York, New York, USA, pp 300\u2013310 (2011) https:\/\/doi.org\/10.1145\/2025113.2025155","DOI":"10.1145\/2025113.2025155"},{"key":"407_CR39","doi-asserted-by":"publisher","DOI":"10.1002\/0471028959.sof142","author":"R van Solingen","year":"2002","unstructured":"van Solingen R, Basili V, Caldiera G, Rombach HD. Goal question metric (GQM) approach. Encycloped Softw Eng. 2002. https:\/\/doi.org\/10.1002\/0471028959.sof142.","journal-title":"Encycloped Softw Eng"},{"issue":"2","key":"407_CR40","doi-asserted-by":"publisher","first-page":"115","DOI":"10.1147\/sj.132.0115","volume":"13","author":"WP Stevens","year":"1974","unstructured":"Stevens WP, Myers GJ, Constantine LL. Structured design. IBM Syst J. 1974;13(2):115\u201339.","journal-title":"IBM Syst J"},{"key":"407_CR41","volume-title":"Refactoring for software design smells: managing technical debt","author":"G Suryanarayana","year":"2014","unstructured":"Suryanarayana G, Samarthyam G, Sharma T. Refactoring for software design smells: managing technical debt. Burlington: Morgan Kaufmann; 2014."},{"key":"407_CR42","doi-asserted-by":"crossref","unstructured":"Verdecchia R, Malavolta I, Lago P. Architectural technical debt identification: the research landscape. In: 2018 ACM\/IEEE International Conference on Technical Debt; 2018. https:\/\/doi.org\/10.1145\/3194164.3194176. http:\/\/www.ivanomalavolta.com\/files\/papers\/TechDebt_2018.pdf. Accessed 08 Dec  2020.","DOI":"10.1145\/3194164.3194176"},{"key":"407_CR43","doi-asserted-by":"publisher","unstructured":"Xiao L, Cai Y, Kazman R. Design rule spaces: a new form of architecture insight. In: Proceedings of the 36th International Conference on Software Engineering\u2014ICSE 2014, ACM Press, New York, New York, USA 2014; 967\u2013977 https:\/\/doi.org\/10.1145\/2568225.2568241","DOI":"10.1145\/2568225.2568241"},{"key":"407_CR44","unstructured":"Zimmermann T, Wei\u00dfgerber P, Diehl S, Zeller A. Mining version histories to guide software changes. In: Proceedings of the 26th International Conference on Software Engineering, IEEE Computer Society, USA, ICSE \u201904. 2004; 563\u2013572"}],"container-title":["SN Computer Science"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s42979-020-00407-5.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s42979-020-00407-5\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s42979-020-00407-5.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,2,9]],"date-time":"2021-02-09T21:03:32Z","timestamp":1612904612000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s42979-020-00407-5"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,12,16]]},"references-count":44,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2021,2]]}},"alternative-id":["407"],"URL":"https:\/\/doi.org\/10.1007\/s42979-020-00407-5","relation":{},"ISSN":["2662-995X","2661-8907"],"issn-type":[{"value":"2662-995X","type":"print"},{"value":"2661-8907","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,12,16]]},"assertion":[{"value":"1 July 2020","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"13 November 2020","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"16 December 2020","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}],"article-number":"13"}}