论文标题:Exploring Software Measures to Assess Program Comprehension
作者:Janet Feigenspan
作者单位/个人主页:https://ieeexplore.ieee.org/author/37315681700
论文档次: 2011 International Symposium on Empirical Software Engineering and Measurement
论文引用量:11
1、摘要:
软件度量常被用于评估程序的理解性,但是适用性存在争议。因此为了评估软件度量和程序理解是否相关,以及如何相关,作者设计一个实验,使用四种判断源代码的度量方法,测量受试者如何理解在实现上不同但是可比的软件系统,实验结果显示,尽管使用了几种测量的变体,使他们可以更接近观察到的结果,但是仍然不能确认软件度量和程序理解之间的关系,所以实验最终将作者的发现作为开放的话题呈现出来。
2、问题是什么:
评估软件度量和程序理解是否相关,以及如何相关。
3、项目背景:
软件质量评估是软件工程的一项重要任务,可以减少维护工作,是软件开发过程中一个主要成本因素,因此本文就是探索软件度量方法。
4、解决方案:
进行对照实验,实验中,受试者使用 MobileMedia,因为MobileMedia存在两个具有相当大差异的可比版本,两个版本的差异就是作者的研究目标。
5、作者的核心思想、创新点:
把许多针对程序理解的软件度量划分为:复杂性,代码行数,关注措施,关注属性;作者使用修复bug的任务来描述程序理解的过程。
6、实验及结论:
作者为评估软件度量和程序理解之间的关系,设计了维护任务的实验,两组受试者使用两种可比的系统,一种是用AspectJ实现的MobileMedia,另一种是带有预处理器的JAVA实现的MobileMedia;受试者需要定位错误发生的位置,说明错误发生的原因并提出解决方案,研究人员从受试者的回答中分析是否正确的识别了一个bug。实验结果发现,在程序理解上观察到的差异(正确性,响应时间)并不显著,因此实验并没有明确表明软件度量与程序理解之间的关系,只是证明了它们之间存在关系,结果表明这是一个开放性的问题。在未来的工作研究中,可以采用调整软件度量的方式继续进行该问题的探索。
7、启发:
在本篇文章中对我的启发就是作者在考虑程序理解时,利用让被试者参与修复bug任务,测量任务是否被正常解决,以及解决它需要多少时间来作为一个程序理解的思考过程,这个思想可以被借鉴。