Measuring program comprehension: A large-scale field study with professionals

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,...

Full description

Saved in:
Bibliographic Details
Main Authors: XIA, Xin, BAO, Lingfeng, LO, David, XING, Zhengchang, HASSAN, Ahmed E., LI, Shanping
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2018
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/3779
https://ink.library.smu.edu.sg/context/sis_research/article/4781/viewcontent/tse_2734091_pp__1_.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-4781
record_format dspace
spelling sg-smu-ink.sis_research-47812020-01-20T09:30:59Z Measuring program comprehension: A large-scale field study with professionals XIA, Xin BAO, Lingfeng LO, David XING, Zhengchang HASSAN, Ahmed E. LI, Shanping 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 ∼58% 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. 2018-10-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/3779 info:doi/10.1109/TSE.2017.2734091 https://ink.library.smu.edu.sg/context/sis_research/article/4781/viewcontent/tse_2734091_pp__1_.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Program Comprehension Field Study Inference Model Programming Languages and Compilers Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Program Comprehension
Field Study
Inference Model
Programming Languages and Compilers
Software Engineering
spellingShingle Program Comprehension
Field Study
Inference Model
Programming Languages and Compilers
Software Engineering
XIA, Xin
BAO, Lingfeng
LO, David
XING, Zhengchang
HASSAN, Ahmed E.
LI, Shanping
Measuring program comprehension: A large-scale field study with professionals
description 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 ∼58% 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.
format text
author XIA, Xin
BAO, Lingfeng
LO, David
XING, Zhengchang
HASSAN, Ahmed E.
LI, Shanping
author_facet XIA, Xin
BAO, Lingfeng
LO, David
XING, Zhengchang
HASSAN, Ahmed E.
LI, Shanping
author_sort XIA, Xin
title Measuring program comprehension: A large-scale field study with professionals
title_short Measuring program comprehension: A large-scale field study with professionals
title_full Measuring program comprehension: A large-scale field study with professionals
title_fullStr Measuring program comprehension: A large-scale field study with professionals
title_full_unstemmed Measuring program comprehension: A large-scale field study with professionals
title_sort measuring program comprehension: a large-scale field study with professionals
publisher Institutional Knowledge at Singapore Management University
publishDate 2018
url https://ink.library.smu.edu.sg/sis_research/3779
https://ink.library.smu.edu.sg/context/sis_research/article/4781/viewcontent/tse_2734091_pp__1_.pdf
_version_ 1770573731053174784