Assessing the quality of evolving Haskell systems by measuring structural inequality

Sander Kamps, B.J. Heeren, J.T. Jeuring

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

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 languageEnglish
Title of host publicationHaskell 2020: Proceedings of the 13th ACM SIGPLAN International Symposium on Haskell
PublisherAssociation for Computing Machinery
Pages67-79
ISBN (Print)978-1-4503-8050-8
DOIs
Publication statusPublished - 2020

Keywords

  • Software quality
  • Gini coeicient
  • Ideal value deviation

Fingerprint

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