Exploring Software Measures to Assess Program Comprehension

Exploring Software Measures to Assess Program Comprehension
复制标题

探索评估程序理解的软件方法

DOI:
--
复制
发表时间:
2011
期刊:
International Symposium on Empirical Software Engineering and Measurement
影响因子:
--
通讯作者:
Christian Kästner
Christian Kästner
中科院分区:
--
文献类型:
--
作者:
J. Siegmund;S. Apel;Jörg Liebig;Christian Kästner

文献摘要

被引文献

相似文献

软件度量常常被用于评估程序理解能力,尽管其适用性存在争议。通常,它们的应用基于合理性论证,然而,这不足以确定软件度量是否是程序理解能力的良好预测指标。我们的目标是评估软件度量与程序理解之间是否以及如何相关。为此,我们精心设计了一个实验。我们使用了四种常用于判断源代码质量的不同度量标准:复杂度、代码行数、关注点属性和关注点操作。我们测量了受试者如何理解两个在实现上有所不同的可比软件系统,其中一种实现方式在更好的软件度量方面具有相当大的优势。我们并未观察到受试者在程序理解上存在如软件度量所表明的差异。为了探究软件度量与程序理解之间如何相关,我们使用了几种计算软件度量的变体。这使它们更接近我们观察到的结果,但还不足以确认软件度量与程序理解之间的关系。由于未能建立这种关系,我们将我们的发现作为一个未解决的问题呈现给社区,并发起一场关于软件度量作为可理解性预测指标的作用的讨论。
Software measures are often used to assess program comprehension, although their applicability is discussed controversially. Often, their application is based on plausibility arguments, which, however, is not sufficient to decide whether software measures are good predictors for program comprehension. Our goal is to evaluate whether and how software measures and program comprehension correlate. To this end, we carefully designed an experiment. We used four different measures that are often used to judge the quality of source code: complexity, lines of code, concern attributes, and concern operations. We measured how subjects understood two comparable software systems that differ in their implementation, such that one implementation promised considerable benefits in terms of better software measures. We did not observe a difference in program comprehension of our subjects as the software measures suggested it. To explore how software measures and program comprehension could correlate, we used several variants of computing the software measures. This brought them closer to our observed result, however, not as close as to confirm a relationship between software measures and program comprehension. Having failed to establish a relationship, we present our findings as an open issue to the community and initiate a discussion on the role of software measures as comprehensibility predictors.