Abstract
Software metrics are used to measure the quality of a software system, and to understand the evolution of the system's quality over time. In this paper we report on an empirical study that investigates whether structural degradation in Haskell systems is related to decreasing software quality. For our study we use three metrics that measure internal attributes at the level of Haskell modules: intra-modular complexity (cohesion), inter-modular complexity (coupling), and module size. For these metrics, we calculate the Gini coefficient, which is a measure of the inequality in a distribution of values within a certain population, and the deviation of the population's central tendency from an empirically established ideal value. We develop a method to track the evolution, and measure the correlation between the calculated system-level information and post-release defects. The results show that: (1) post-release defects are significantly correlated with the degree of inequality between the size of modules, (2) the inequality measure is able to indicate significant structural shifts in Haskell source code, and (3) the deviation of a population's central tendency from an ideal value can serve as a benchmark to evaluate the structural characteristics of a Haskell system. The results, however, do not show that a combined measure for inequality and ideal value deviation increases the ability to indicate the defect proneness of Haskell source code.
Original language | English |
---|---|
Title of host publication | Haskell 2020 |
Subtitle of host publication | Proceedings of the 13th ACM SIGPLAN International Symposium on Haskell |
Editors | Tom Schrijvers |
Place of Publication | New York, NY, USA |
Publisher | Association for Computing Machinery |
Pages | 67–79 |
Number of pages | 13 |
ISBN (Print) | 9781450380508 |
DOIs | |
Publication status | Published - Aug 2020 |
Event | ACM SIGPLAN International Conference on Functional Programming - Online, United States Duration: 23 Aug 2020 → 26 Aug 2020 Conference number: 25 |
Conference
Conference | ACM SIGPLAN International Conference on Functional Programming |
---|---|
Abbreviated title | ICFP 20'20 |
Country/Territory | United States |
Period | 23/08/20 → 26/08/20 |
Keywords
- Gini coefficient
- Ideal value deviation
- Software quality