{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,2]],"date-time":"2026-03-02T10:13:23Z","timestamp":1772446403532,"version":"3.50.1"},"reference-count":23,"publisher":"MDPI AG","issue":"1","license":[{"start":{"date-parts":[[2026,3,1]],"date-time":"2026-03-01T00:00:00Z","timestamp":1772323200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Software"],"abstract":"<jats:p>Software repositories such as Git are significant sources of metadata about software projects, containing information such as modified files, change authors, and often commentary describing the change. An emerging approach to support software change impact analysis is to exploit this metadata to determine which files are linked by co-committal, i.e., when two files are frequently updated together within the same Git commit. Such information can serve as an indicator for identifying potential change-impact sets in future development activities. The aim of this study is to determine whether co-committal is a reliable indicator of links between software artifacts stored in Git and, if so, whether these links persist as the artifacts evolve\u2014thereby offering a potentially valuable dimension for change impact analysis. To investigate this, we mined the metadata of five large Git repositories comprising over 14K commits and extracted co-change sets from the resulting data. The results show that: (1) co-committal links between artifacts vary widely in both strength and frequency, with these variations strongly influenced by the development style and activity levels of the contributing developers, and (2) although co-committal can serve as an indicator of evolutionary coupling in certain scenarios, its usefulness depends on project-specific development practices and observable patterns of developer behavior.<\/jats:p>","DOI":"10.3390\/software5010011","type":"journal-article","created":{"date-parts":[[2026,3,2]],"date-time":"2026-03-02T08:51:57Z","timestamp":1772441517000},"page":"11","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Is Code Co-Committal an Indicator of Evolutionary Coupling in Software Repositories?"],"prefix":"10.3390","volume":"5","author":[{"given":"Niall","family":"Price","sequence":"first","affiliation":[{"name":"School of Electronics, Electrical Engineering and Computer Science, Queen\u2019s University Belfast, Belfast BT7 1NN, UK"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1088-4749","authenticated-orcid":false,"given":"David","family":"Cutting","sequence":"additional","affiliation":[{"name":"School of Electronics, Electrical Engineering and Computer Science, Queen\u2019s University Belfast, Belfast BT7 1NN, UK"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6590-7576","authenticated-orcid":false,"given":"Vahid","family":"Garousi","sequence":"additional","affiliation":[{"name":"School of Electronics, Electrical Engineering and Computer Science, Queen\u2019s University Belfast, Belfast BT7 1NN, UK"},{"name":"Institute of Data Science and Artificial Intelligence, Azerbaijan Technical University (AzTU), Baku AZ 1073, Azerbaijan"}]}],"member":"1968","published-online":{"date-parts":[[2026,3,1]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","first-page":"613","DOI":"10.1002\/stvr.1475","article-title":"A survey of code-based change impact analysis techniques","volume":"23","author":"Li","year":"2013","journal-title":"Softw. Test. Verif. Reliab."},{"key":"ref_2","doi-asserted-by":"crossref","first-page":"110892","DOI":"10.1016\/j.jss.2020.110892","article-title":"Change impact analysis: A systematic mapping study","volume":"174","author":"Kretsou","year":"2021","journal-title":"J. Syst. Softw."},{"key":"ref_3","doi-asserted-by":"crossref","first-page":"201","DOI":"10.1109\/SANER.2016.101","article-title":"Generalizing the analysis of evolutionary coupling for software change impact analysis","volume":"Volume 1","author":"Rolfsnes","year":"2016","journal-title":"2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER)"},{"key":"ref_4","first-page":"15","article-title":"Are suggestions of coupled file changes interesting?","volume":"Volume 2","author":"Ramadani","year":"2016","journal-title":"Proceedings of the International Conference on Evaluation of Novel Software Approaches to Software Engineering, Rome, Italy, 27\u201328 April 2016"},{"key":"ref_5","unstructured":"Canfora, G., and Cerulo, L. (2005, January 19\u201322). Impact analysis by mining software and change request repositories. Proceedings of the 11th IEEE International Software Metrics Symposium (METRICS\u201905), Como, Italy."},{"key":"ref_6","doi-asserted-by":"crossref","unstructured":"Cohen, E., and Consens, M.P. (2018, January 28\u201329). Large-scale analysis of the co-commit patterns of the active developers in github\u2019s top repositories. Proceedings of the 15th International Conference on Mining Software Repositories, Gothenburg, Sweden.","DOI":"10.1145\/3196398.3196436"},{"key":"ref_7","doi-asserted-by":"crossref","unstructured":"Kanwal, J., Maqbool, O., Abbasi, R., and Abbasi, A.Q. (2014, January 8\u201310). Network analysis of software change history for understanding software evolution. Proceedings of the 17th IEEE International Multi Topic Conference, Karachi, Pakistan.","DOI":"10.1109\/INMIC.2014.7097342"},{"key":"ref_8","doi-asserted-by":"crossref","first-page":"429","DOI":"10.1109\/TSE.2005.72","article-title":"Mining version histories to guide software changes","volume":"31","author":"Zimmermann","year":"2005","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_9","unstructured":"Hagward, A. (2024, February 04). Using Git Commit History for Change Prediction: An Empirical Study on the Predictive Potential of File-Level Logical Coupling. Available online: https:\/\/api.semanticscholar.org\/CorpusID:58954770."},{"key":"ref_10","doi-asserted-by":"crossref","first-page":"220","DOI":"10.1016\/j.jss.2016.07.016","article-title":"Using contextual information to predict co-changes","volume":"128","author":"Wiese","year":"2017","journal-title":"J. Syst. Softw."},{"key":"ref_11","doi-asserted-by":"crossref","unstructured":"Herzig, K., and Zeller, A. (2013, January 18\u201319). The impact of tangled code changes. Proceedings of the Working Conference on Mining Software Repositories (MSR), San Francisco, CA, USA.","DOI":"10.1109\/MSR.2013.6624018"},{"key":"ref_12","doi-asserted-by":"crossref","unstructured":"Ufuktepe, E., Tuglular, T., and Palaniappan, K. (2021, January 6\u201310). The relation between bug fix change patterns and change impact analysis. Proceedings of the 2021 IEEE 21st International Conference on Software Quality, Reliability and Security (QRS), Haikou, China.","DOI":"10.1109\/QRS54544.2021.00117"},{"key":"ref_13","doi-asserted-by":"crossref","first-page":"739","DOI":"10.1049\/iet-sen.2019.0368","article-title":"Predicting co-change probability in software applications using historical metadata","volume":"14","author":"Agrawal","year":"2020","journal-title":"IET Softw."},{"key":"ref_14","doi-asserted-by":"crossref","unstructured":"Hanam, Q., Mesbah, A., and Holmes, R. (October, January 30). Aiding code change understanding with semantic change impact analysis. Proceedings of the 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME), Cleveland, OH, USA.","DOI":"10.1109\/ICSME.2019.00031"},{"key":"ref_15","doi-asserted-by":"crossref","first-page":"2376","DOI":"10.1109\/TSE.2021.3059481","article-title":"Change-patterns mapping: A boosting way for change impact analysis","volume":"48","author":"Huang","year":"2021","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Ramadani, J., and Wagner, S. (2016, January 1\u20133). Which change sets in Git repositories are related?. Proceedings of the 2016 IEEE International Conference on Software Quality, Reliability and Security (QRS), Vienna, Austria.","DOI":"10.1109\/QRS.2016.52"},{"key":"ref_17","doi-asserted-by":"crossref","first-page":"110571","DOI":"10.1016\/j.jss.2020.110571","article-title":"On tracking Java methods with Git mechanisms","volume":"165","author":"Higo","year":"2020","journal-title":"J. Syst. Softw."},{"key":"ref_18","unstructured":"Mondal, M., Roy, B., Roy, C.K., and Schneider, K.A. (2019, January 4\u20136). Investigating the relationship between evolutionary coupling and software bug-proneness. Proceedings of the 29th Annual International Conference on Computer Science and Software Engineering, Toronto, ON, Canada."},{"key":"ref_19","doi-asserted-by":"crossref","unstructured":"Saydemir, A., Simitcioglu, M.E., and Sozer, H. (2021, January 17\u201319). On the use of evolutionary coupling for software architecture recovery. Proceedings of the 2021 15th Turkish National Software Engineering Symposium (UYMS), Izmir, Turkey.","DOI":"10.1109\/UYMS54260.2021.9659761"},{"key":"ref_20","doi-asserted-by":"crossref","unstructured":"Sohn, J., and Papadakis, M. (2022). Using Evolutionary Coupling to Establish Relevance Links Between Tests and Code Units. A case study on fault localization. arXiv.","DOI":"10.1109\/ISSRE55969.2022.00023"},{"key":"ref_21","doi-asserted-by":"crossref","unstructured":"Garrity, J., and Cutting, D. (2025). A Common Language of Software Evolution in Repositories (CLOSER). Software, 4.","DOI":"10.3390\/software4010001"},{"key":"ref_22","unstructured":"P\u00e2rundefinedachi, P.P., Dash, S.K., Allamanis, M., and Barr, E.T. (2020, January 8\u201313). Flexeme: Untangling commits using lexical flows. Proceedings of the ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC\/FSE 2020, New York, NY, USA."},{"key":"ref_23","doi-asserted-by":"crossref","first-page":"101313","DOI":"10.1016\/j.cola.2024.101313","article-title":"Code histories: Documenting development by recording code influences and changes in code","volume":"82","author":"Pham","year":"2025","journal-title":"J. Comput. Lang."}],"container-title":["Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2674-113X\/5\/1\/11\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,3,2]],"date-time":"2026-03-02T09:39:44Z","timestamp":1772444384000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2674-113X\/5\/1\/11"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2026,3,1]]},"references-count":23,"journal-issue":{"issue":"1","published-online":{"date-parts":[[2026,3]]}},"alternative-id":["software5010011"],"URL":"https:\/\/doi.org\/10.3390\/software5010011","relation":{},"ISSN":["2674-113X"],"issn-type":[{"value":"2674-113X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2026,3,1]]}}}