Assessing the Quality of Evolving Haskell Systems by Measuring Structural Inequality

Sander Kamps, Bastiaan Heeren, Johan Jeuring

Research output: Chapter in Book/Report/Conference proceedingConference Article in proceedingAcademicpeer-review

142 Downloads (Pure)


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 languageEnglish
Title of host publicationHaskell 2020
Subtitle of host publicationProceedings of the 13th ACM SIGPLAN International Symposium on Haskell
EditorsTom Schrijvers
Place of PublicationNew York, NY, USA
PublisherAssociation for Computing Machinery
Number of pages13
ISBN (Print)9781450380508
Publication statusPublished - Aug 2020
EventACM SIGPLAN International Conference on Functional Programming - Online, United States
Duration: 23 Aug 202026 Aug 2020
Conference number: 25


ConferenceACM SIGPLAN International Conference on Functional Programming
Abbreviated titleICFP 20'20
Country/TerritoryUnited States


  • Gini coefficient
  • Ideal value deviation
  • Software quality


Dive into the research topics of 'Assessing the Quality of Evolving Haskell Systems by Measuring Structural Inequality'. Together they form a unique fingerprint.

Cite this