Proceedings Article10.1109/QSIC.2014.11
Quantifying Program Comprehension with Interaction Data
Roberto Minelli,Andrea Mocci,Michele Lanza,Takashi Kobayashi +3 more
- 02 Oct 2014
- pp 276-285
TL;DR: Evidence that code navigation and editing occupies only a small fraction of the time of developers, while the vast majority of thetime is spent on reading & understanding source code is found, indicating that the importance of program comprehension was significantly underestimated by previous research.
read more
Abstract: 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 a understanding source code. In essence, the importance of program comprehension was significantly underestimated by previous research.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
I know what you did last summer: an investigation of how developers spend their time
Roberto Minelli,Andrea Mocci,Michele Lanza +2 more
- 16 May 2015
TL;DR: An inference model of development activities is proposed to precisely measure the time spent in editing, navigating and searching for artifacts, interacting with the UI of the IDE, and performing corollary activities, such as inspection and debugging.
Patterns of developers behaviour: A 1000-hour industrial study
TL;DR: Results of a long observational study conducted in an industrial environment suggest that while working on files having a high complexity, developers tend to more frequently execute the system under development as well as to use more online help websites.
30
SDexplorer: a generic toolkit for smoothly exploring massive-scale sequence diagram
Kaixie Lyu,Kunihiro Noda,Takashi Kobayashia +2 more
- 28 May 2018
TL;DR: A generic toolkit SDExplorer is presented, which is a flexible and lightweight tool to effectively explore a massive-scale sequence diagram in a highly scalable manner and is an easy-to-use and promising tool in future research to evaluate and compare the minimizing/compressing techniques in real maintenance tasks.
12
Noise in Mylyn interaction traces and its impact on developers and recommendation systems
TL;DR: The results on Mylyn ITs open new perspectives for the investigation of noise in ITs generated by other monitoring tools such as DFlow, FeedBag, and Mimec, and for future studies based on ITs.
11
Visual Storytelling of Development Sessions
Roberto Minelli,Lorenzo Baracchi,Andrea Mocci,Michele Lanza +3 more
- 29 Sep 2014
TL;DR: The approach to analyze development sessions in the form of visual storytelling is presented, and an initial catalogue of visualizations is illustrated through two development stories.
References
The information capacity of the human motor system in controlling the amplitude of movement.
TL;DR: The motor system in the present case is defined as including the visual and proprioceptive feedback loops that permit S to monitor his own activity, and the information capacity of the motor system is specified by its ability to produce consistently one class of movement from among several alternative movement classes.
Reverse engineering and design recovery: a taxonomy
E.J. Chikofsky,James H. Cross +1 more
TL;DR: The authors define and relate six terms: forward engineering, reverse engineering, redocumentation, design recovery, restructuring, and reengineering to apply to the underlying engineering processes, regardless of the degree of automation applied.
2.3K
An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks
TL;DR: A study was performed in which developers were given an unfamiliar program and asked to work on two debugging tasks and three enhancement tasks for 70 minutes, suggesting a new model of program understanding grounded in theories of information foraging.
767
Maintaining mental models: a study of developer work habits
Thomas D. LaToza,Gina Venolia,Robert DeLine +2 more
- 28 May 2006
TL;DR: It is found that many problems arose because developers were forced to invest great effort recovering implicit knowledge by exploring code and interrupting teammates and this knowledge was only saved in their memory.
Program comprehension during software maintenance and evolution
A. von Mayrhauser,A.M. Vans +1 more
TL;DR: Open questions in code cognition models relate to the scalability of existing experimental results with small programs, the validity and credibility of results based on experimental procedures, and the challenges of data availability are identified.
658