Quantifying Program Comprehension with Interaction Data

Quantifying Program Comprehension with Interaction Data
复制标题

DOI:
10.1109/qsic.2014.11
复制
发表时间:
2014-10
期刊:
2014 14th International Conference on Quality Software
影响因子:
--
通讯作者:
Roberto Minelli;Andrea Mocci;Michele Lanza;Takashi Kobayashi
Roberto Minelli;Andrea Mocci;Michele Lanza;Takashi Kobayashi
中科院分区:
其他
文献类型:
--
作者:
Roberto Minelli;Andrea Mocci;Michele Lanza;Takashi Kobayashi

文献摘要

被引文献

相似文献

众所周知,程序理解占据了软件开发的很大一部分。这种“城市传奇”是基于可以追溯到几十年的工作,这引发了一个问题,即从那时起就出现的软件开发工具,技术和方法的进步是否可能无效或确认索赔。我们提出了一项实证研究,目的是根据捕获开发人员的用户界面活动的交互数据来确认或拒绝索赔。我们使用交互数据来凭经验量化软件开发过程中不同开发人员活动的分布:特别是,我们专注于估计程序理解的作用。此外,我们研究了是否以及不同的开发人员和会话类型如何影响此类活动的持续时间。我们分析了来自两个不同上下文的交互数据:一个来自Java源代码开发的Eclipse IDE,而另一个来自SmallTalk源代码开发的Pharo IDE。我们发现证据表明,代码导航和编辑仅占开发人员时间的一小部分,而大多数时间都花在阅读和理解源代码上。从本质上讲,以前的研究显着低估了计划理解的重要性。
It is common knowledge that program comprehension takes up a substantial part of software development. This "urban legend" is based on work that dates back decades, which throws up the question whether the advances in software development tools, techniques, and methodologies that have emerged since then may invalidate or confirm the claim. We present an empirical investigation which goal is to confirm or reject the claim, based on interaction data which captures the user interface activities of developers. We use interaction data to empirically quantify the distribution of different developer activities during software development: In particular, we focus on estimating the role of program comprehension. In addition, we investigate if and how different developers and session types influence the duration of such activities. We analyze interaction data from two different contexts: One comes from the ECLIPSE IDE on Java source code development, while the other comes from the PHARO IDE on Smalltalk source code development. We found evidence that code navigation and editing occupies only a small fraction of the time of developers, while the vast majority of the time is spent on reading & understanding source code. In essence, the importance of program comprehension was significantly underestimated by previous research.