How Do Professional Developers Comprehend Software?

被引:0
|
作者
Roehm, Tobias [1 ]
Tiarks, Rebecca [2 ]
Koschke, Rainer [2 ]
Maalej, Walid [1 ]
机构
[1] Tech Univ Munich, Munich, Germany
[2] Univ Bremen, Bremen, Germany
关键词
program comprehension; empirical studies; software documentation; maintenance; context awareness; MAINTENANCE; INFORMATION;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:255 / 265
页数:11
相关论文
共 50 条
  • [31] Do attention and memory explain the performance of software developers?
    Piantadosi, Valentina
    Scalabrino, Simone
    Serebrenik, Alexander
    Novielli, Nicole
    Oliveto, Rocco
    EMPIRICAL SOFTWARE ENGINEERING, 2023, 28 (05)
  • [32] How do Developers Test Android Applications?
    Linares-Vasquez, Mario
    Bernal-Cardenas, Carlos
    Moran, Kevin
    Poshyvanyk, Denys
    2017 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2017, : 613 - 622
  • [33] Requirements Engineering: from software requirements specification to quality assurance. How MSMEs developers of software in Pereira city do it
    Toro, A.
    Pelaez, L. E.
    ENTRE CIENCIA E INGENIERIA, 2016, (20): : 117 - 123
  • [34] A Comprehensive Skills Analysis of Novice Software Developers Working in the Professional Software Development Industry
    Mian, Imdad Ahmad
    Ijaz-ul-Haq, Aamir
    Anwar, Aamir
    Alroobaea, Roobaea
    Ullah, Syed Sajid
    Almansour, Fahad
    Umar, Fazlullah
    COMPLEXITY, 2022, 2022
  • [35] How Do Code Refactoring Activities Impact Software Developers' Sentiments? - An Empirical Investigation into GitHub Commits
    Singh, Navdeep
    Singh, Paramvir
    2017 24TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2017), 2017, : 648 - 653
  • [36] How Do Open Source Software (OSS) Developers Practice and Perceive Requirements Engineering? An Empirical Study
    Kuriakose, Jaison
    Parsons, Jeffrey
    2015 IEEE FIFTH INTERNATIONAL WORKSHOP ON EMPIRICAL REQUIREMENTS ENGINEERING (EMPIRE), 2015, : 49 - 56
  • [37] A Comprehensive Skills Analysis of Novice Software Developers Working in the Professional Software Development Industry
    Mian, Imdad Ahmad
    Ijaz-ul-Haq
    Anwar, Aamir
    Alroobaea, Roobaea
    Ullah, Syed Sajid
    Almansour, Fahad
    Umar, Fazlullah
    COMPLEXITY, 2022, 2022
  • [38] A Comprehensive Skills Analysis of Novice Software Developers Working in the Professional Software Development Industry
    Mian, Imdad Ahmad
    Ijaz-ul-Haq
    Anwar, Aamir
    Alroobaea, Roobaea
    Ullah, Syed Sajid
    Almansour, Fahad
    Umar, Fazlullah
    COMPLEXITY, 2022, 2022
  • [39] Chronia:: Visualizing how developers change software systems
    Seeberger, Mauricio
    Kuhn, Adrian
    Girba, Tudor
    Ducasse, Stephane
    10TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING, PROCEEDINGS, 2006, : 345 - 346
  • [40] Poster: How Developers Debug Software The DBGBENCH Dataset
    Bohme, Marcel
    Soremekun, Ezekiel O.
    Chattopadhyay, Sudipta
    Ugherughe, Emamurho
    Zeller, Andreas
    PROCEEDINGS OF THE 2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C 2017), 2017, : 244 - 246