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 条
  • [22] Software Developers in India and Norway: Professional or National Cultures?
    Ghinea, Gheorghita
    Bygstad, Bendik
    Satpathy, Manoranjan
    JOURNAL OF INFORMATION TECHNOLOGY RESEARCH, 2011, 4 (03) : 50 - 63
  • [23] Studying the Advancement in Debugging Practice of Professional Software Developers
    Siegmund, Benjamin
    Perscheid, Michael
    Taeumel, Marcel
    Hirschfeld, Robert
    2014 IEEE INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING WORKSHOPS (ISSREW), 2014, : 269 - 274
  • [24] SOFTWARE ENGINEERING EDUCATION LEARNING PROCESS FOR PROFESSIONAL DEVELOPERS
    Ferdiana, Ridi
    JOURNAL OF E-LEARNING AND KNOWLEDGE SOCIETY, 2016, 12 (02): : 71 - 83
  • [25] Studying the advancement in debugging practice of professional software developers
    Perscheid, Michael
    Siegmund, Benjamin
    Taeumel, Marcel
    Hirschfeld, Robert
    SOFTWARE QUALITY JOURNAL, 2017, 25 (01) : 83 - 110
  • [26] How (Much) Do Developers Test?
    Beller, Moritz
    Gousios, Georgios
    Zaidman, Andy
    2015 IEEE/ACM 37TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, VOL 2, 2015, : 559 - 562
  • [27] Professional carpet cleaners do not comprehend the implications of spilled mercury in the home
    Griffin, Brittany A.
    O'Malley, Gerald
    CLINICAL TOXICOLOGY, 2012, 50 (07) : 618 - 619
  • [28] Do attention and memory explain the performance of software developers?
    Valentina Piantadosi
    Simone Scalabrino
    Alexander Serebrenik
    Nicole Novielli
    Rocco Oliveto
    Empirical Software Engineering, 2023, 28
  • [29] When and Why Do Software Developers Face Uncertainty?
    Ubayashi, Naoyasu
    Kamei, Yasutaka
    Sato, Ryosuke
    2019 IEEE 19TH INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY (QRS 2019), 2019, : 288 - 299
  • [30] Do Software Developers Understand Open Source Licenses?
    Almeida, Daniel A.
    Murphy, Gail C.
    Wilson, Greg
    Hoye, Mike
    2017 IEEE/ACM 25TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC), 2017, : 1 - 11