• Home
  • Search
  • Measuring Program Comprehension: A Large-Scale Field Study with Professionals
  • Open Access IconOpen Access
  • Cite Icon328
  • https://doi.org/10.1109/tse.2017.2734091Copy DOI Icon

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

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

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 $\sim$ 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.

Similar Papers
  • Conference Article
  • Citations20

Measuring program comprehension

  • May 27, 2018
  • Xin Xia +5
  • Conference Article
  • Citations3

Reverse Engineering UML Sequence Diagrams for Program Comprehension Activities

  • Nov 25, 2020
  • Hayden Cheers +1
  • Conference Article
  • Citations2

The effectiveness of Zoom Visual Flow (ZViF) technique in program comprehension activities

  • Jun 01, 2010
  • Rozita Kadar +1
  • Research Article
  • Citations10

An automated approach for noise identification to assist software architecture recovery techniques

  • Jun 05, 2015
  • The Journal of Systems & Software
  • Eleni Constantinou +2
  • Conference Article
  • Citations29

Effects of explicit feature traceability on program comprehension

  • Aug 12, 2019
  • Jacob Krüger +4
  • Research Article
  • Citations92

Configuring latent Dirichlet allocation based feature location

  • Aug 29, 2012
  • Empirical Software Engineering
  • Lauren R Biggers +5
  • Research Article
  • Citations1

Special issue on program comprehension

  • Jul 26, 2014
  • Empirical Software Engineering
  • Michael W Godfrey +1
  • Conference Article
  • Citations3

Tackling knowledge needs during software evolution

  • Aug 12, 2019
  • Jacob Krüger
  • Research Article
  • Citations3

WWW.Cell Biology Education: Using the World Wide Web To Develop a New Teaching Topic

  • Jun 01, 2005
  • Cell Biology Education
  • Robert V Blystone +1
  • Conference Article
  • Citations8

#ifdef Directives and Program Comprehension: The Dilemma between Correctness and Preference

  • Sep 01, 2020
  • Wolfram Fenske +3
  • Front Matter
  • Citations35

Human factors in software development: On its underlying theories and the value of learning from related disciplines. A guest editorial introduction to the special issue

  • Jul 23, 2014
  • Information and Software Technology
  • Chintan Amrit +2
  • Research Article
  • Citations45

How to identify class comment types? A multi-language approach for class comment classification

  • Jul 19, 2021
  • Journal of Systems and Software
  • Pooja Rani +4
  • Research Article
  • Citations3

Multi-Intent Inline Code Comment Generation via Large Language Model

  • Mar 23, 2024
  • International Journal of Software Engineering and Knowledge Engineering
  • Xiaowei Zhang +4
  • Research Article
  • Citations422

A Systematic Survey of Program Comprehension through Dynamic Analysis

  • Sep 01, 2009
  • IEEE Transactions on Software Engineering
  • B Cornelissen +4
  • Conference Article
  • Citations22

Adaptable Enterprise Architectures for Software Evolution of SmartLife Ecosystems

  • Sep 01, 2014
  • Alfred Zimmermann +5
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.