• DocumentCode
    155201
  • Title

    Quantifying Program Comprehension with Interaction Data

  • Author

    Minelli, Roberto ; Mocci, Andrea ; Lanza, Mario ; Kobayashi, Takehiko

  • Author_Institution
    Fac. of Inf., Univ. of Lugano, Lugano, Switzerland
  • fYear
    2014
  • fDate
    2-3 Oct. 2014
  • Firstpage
    276
  • Lastpage
    285
  • 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 & understanding source code. In essence, the importance of program comprehension was significantly underestimated by previous research.
  • Keywords
    Java; Smalltalk; human computer interaction; software engineering; source code (software); user interfaces; ECLIPSE IDE; Java source code development; PHARO IDE; Smalltalk source code development; code editing; code navigation; interaction data; program comprehension; software developer user interface activities; software development techniques; software development tools; Browsers; History; Inspection; Java; Maintenance engineering; Navigation; Software; IDE; Interaction data; Program Comprehension; Program Understanding; Quantification;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Quality Software (QSIC), 2014 14th International Conference on
  • Conference_Location
    Dallas, TX
  • ISSN
    1550-6002
  • Print_ISBN
    978-1-4799-7197-8
  • Type

    conf

  • DOI
    10.1109/QSIC.2014.11
  • Filename
    6958415