• DocumentCode
    2443297
  • Title

    How do professional developers comprehend software?

  • Author

    Roehm, Tobias ; Tiarks, Rebecca ; Koschke, Rainer ; Maalej, Walid

  • Author_Institution
    Tech. Univ. Munchen, Munich, Germany
  • fYear
    2012
  • fDate
    2-9 June 2012
  • Firstpage
    255
  • Lastpage
    265
  • Abstract
    Research in program comprehension has considerably evolved over the past two decades. However, only little is known about how developers practice program comprehension under time and project pressure, and which methods and tools proposed by researchers are used in industry. This paper reports on an observational study of 28 professional developers from seven companies, investigating how developers comprehend software. In particular we focus on the strategies followed, information needed, and tools used. We found that developers put themselves in the role of end users by inspecting user interfaces. They try to avoid program comprehension, and employ recurring, structured comprehension strategies depending on work context. Further, we found that standards and experience facilitate comprehension. Program comprehension was considered a subtask of other maintenance tasks rather than a task by itself. We also found that face-to-face communication is preferred to documentation. Overall, our results show a gap between program comprehension research and practice as we did not observe any use of state of the art comprehension tools and developers seem to be unaware of them. Our findings call for further careful analysis and for reconsidering research agendas.
  • Keywords
    reverse engineering; software maintenance; comprehension tools; face-to-face communication; maintenance tasks; professional developers; program comprehension; project pressure; structured comprehension strategies; user interfaces; work context; Companies; Content management; Documentation; Interviews; Java; Software; Visualization; context awareness; empirical studies; maintenance; program comprehension; software documentation;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering (ICSE), 2012 34th International Conference on
  • Conference_Location
    Zurich
  • ISSN
    0270-5257
  • Print_ISBN
    978-1-4673-1066-6
  • Electronic_ISBN
    0270-5257
  • Type

    conf

  • DOI
    10.1109/ICSE.2012.6227188
  • Filename
    6227188