arrow
返回

Measuring Program Comprehension: A Large-Scale Field Study with Professionals

delete2018-10-01
delete195
delete
OA
AI
X
Xin Xia
鲍凌峰 (Lingfeng Bao) *
D
David Lo
Z
Zhenchang Xing
A
Ahmed E. Hassan
S
Shanping Li
DOI:10.1109/TSE.2017.2734091delete
delete原文链接
delete分享
delete收藏
查看原文
摘要

摘要

En 中文
During software development and maintenance, developers spend a considerable amount of time on program comprehension activities. Previous studies show that program comprehension takes up as much as half of a developer's time. However, most of these studies are performed in a controlled setting, or with a small number of participants, and investigate the program comprehension activities only within the IDEs. However, developers' program comprehension activities go well beyond their IDE interactions. In this paper, we extend our ActivitySpace framework to collect and analyze Human-Computer Interaction (HCI) data across many applications (not just the IDEs). We follow Minelli et al.'s approach to assign developers' activities into four categories: navigation, editing, comprehension, and other. We then measure the comprehension time by calculating the time that developers spend on program comprehension, e.g., inspecting console and breakpoints in IDE, or reading and understanding tutorials in web browsers. Using this approach, we can perform a more realistic investigation of program comprehension activities, through a field study of program comprehension in practice across a total of seven real projects, on 78 professional developers, and amounting to 3,148 working hours. Our study leverages interaction data that is collected across many applications by the developers. Our study finds that on average developers spend similar to 58 percent of their time on program comprehension activities, and that they frequently use web browsers and document editors to perform program comprehension activities. We also investigate the impact of programming language, developers' experience, and project phase on the time that is spent on program comprehension, and we find senior developers spend significantly less percentages of time on program comprehension than junior developers. Our study also highlights the importance of several research directions needed to reduce program comprehension time, e.g., building automatic detection and improvement of low quality code and documentation, construction of software-engineering-specific search engines, designing better IDEs that help developers navigate code and browse information more efficiently, etc.
Keyword:
Program comprehension
field study
inference model
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

IEEE Transactions on Software Engineering 封面图
IEEE Transactions on Software Engineering
IF:
5.6
论文数:
2.8K
被引数:
1.1W

机构

Q
queens university - canada
学者数:
1.8W
论文数: 1.7W
被引数: 29
A
Australian National University
学者数:
2.1W
论文数: 2.3W
被引数: 3.9W
S
Singapore Management University
学者数:
1.5K
论文数: 2.5K
被引数: 3.5K
Z
zhejiang university
学者数:
17.6W
论文数: 12.1W
被引数: 152
学者 查看更多机构