Automatically Assessing Complexity of Contributions to Git Repositories

Research output: Conference Article in Proceeding or Book/Report chapterArticle in proceedingsResearch

Abstract

Lehman’s second law of software evolution suggests that under certain conditions software “becomes more difficult to evolve”. Similarly, Technical Debt (TD) is often considered as technical compromises that render future changes of software more costly. But how does one actually assess if modifying software becomes more difficult or costly? So far research studied this question indirectly by assessing internal structural complexity of successive software versions arguing that increasing internal complexity renders evolution tasks more difficult and costly too. Our goal is to assess complexity of evolution tasks directly. Therefore, we present an algorithm and tool that allows to automatically assess Contribution Complexity (CC), which is the complexity of a contribution respecting difficulty of integration work. Our initial evaluation suggests that our proposed algorithm and readily available tool are suitable to automatically assess complexity of contributions to software in Git repositories and the results of applying it on 8 686 contributions to two open-source systems indicate that evolution tasks actually become slightly more difficult.
Original languageEnglish
Title of host publicationInternational Conference on the Quality of Information and Communications Technology
Number of pages14
PublisherSpringer, Cham
Publication dateAug 2021
Publication statusPublished - Aug 2021

Keywords

  • Software Evolution
  • Technical Debt
  • Contribution Complexity
  • Algorithm Evaluation
  • Git Repositories

Fingerprint

Dive into the research topics of 'Automatically Assessing Complexity of Contributions to Git Repositories'. Together they form a unique fingerprint.

Cite this