我们需要改进的代码质量度量吗?
软件工程
2020-12-24 v1
摘要
软件开发界在过去五十年中一直使用代码质量度量。尽管被广泛采用,代码质量度量也招致了相当多的批评。在本文中,我们首先通过调查软件开发者进行定性探索,以评估他们对当前实践以及现有度量集合潜在差距的看法。我们识别出若干缺陷,包括缺乏可靠性(即度量准确捕捉其承诺概念的能力)、缺乏对软件架构质量评估的支持,以及对软件测试与基础设施评估的支持不足。在论文第二部分,我们聚焦于一个特定的代码质量度量——LCOM 作为案例研究,探索改进度量的机会。我们对现有 LCOM 算法进行定性与定量评估,以观察它们在多大程度上代表内聚概念。在此过程中,我们首先创建八个任何 LCOM 算法都必须覆盖的多样化案例,并由一组经验丰富的开发者获取其内聚水平并作为基准真值。我们表明,现有 LCOM 算法在这些案例上表现很差。为弥合所识别的差距,我们提出一种计算 LCOM 的新方法,并用基准真值评估该新方法。我们还通过使用属于 261 个高质量 Java 仓库的九万余个类型进行定量分析表明,现有方法集对类内聚给出了非常不准确且具误导性的刻画。我们得出结论:当前使用的代码质量度量存在多种缺陷,为研究界解决这些差距提供了充足机会。
引用
@article{arxiv.2012.12324,
title = {Do We Need Improved Code Quality Metrics?},
author = {Tushar Sharma and Diomidis Spinellis},
journal= {arXiv preprint arXiv:2012.12324},
year = {2020}
}