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 条
  • [1] How Do Software Developers Identify Design Problems?
    Sousa, Leonardo
    Oliveira, Roberto
    Garcia, Alessandro
    Lee, Jaejoon
    Conte, Tayana
    Oizumi, Willian
    de Mello, Rafael
    Lopes, Adriana
    Valentim, Natasha
    Oliveira, Edson
    Lucena, Carlos
    XXXI BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING (SBES 2017), 2017, : 54 - 63
  • [2] How well do experienced software developers predict software change?
    Lindvall, M
    Sandahl, K
    JOURNAL OF SYSTEMS AND SOFTWARE, 1998, 43 (01) : 19 - 27
  • [3] How do developers meet users? Attitudes and processes in software development
    Gulliksen, Jan
    INTERACTIVE SYSTEMS: DESIGN, SPECIFICATION, AND VERIFICATION, 2007, 4323 : 1 - 10
  • [4] How Do Software Developers Use GitHub Actions to Automate Their Workflows?
    Kinsman, Timothy
    Wessel, Mairieli
    Gerosa, Marco A.
    Treude, Christoph
    2021 IEEE/ACM 18TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2021), 2021, : 420 - 431
  • [5] How do Business Factors Affect Developers in Mobile Software Ecosystems?
    Steglich, Caio
    Marczak, Sabrina
    Santos, Rodrigo
    Mosmann, Luiz Henrique
    Guerra, Luiz Pedro
    de Souza, Cleidson
    Figueira Filho, Fernando
    Perin, Marcelo
    PROCEEDINGS OF 16TH BRAZILIAN SYMPOSIUM ON INFORMATION SYSTEMS ON DIGITAL TRANSFORMATION AND INNOVATION, SBSI 2020, 2020,
  • [6] From Work to Word: How Do Software Developers Describe Their Work?
    Maalej, Walid
    Happel, Hans-Joerg
    2009 6TH IEEE INTERNATIONAL WORKING CONFERENCE ON MINING SOFTWARE REPOSITORIES, 2009, : 121 - +
  • [7] HOW DO WE COMPREHEND THE CONCEPTS?
    Vainik, Ene
    Kirt, Toomas
    EESTI RAKENDUSLINGVISTIKA UHINGU AASTARAAMAT, 2008, 4 : 225 - 245
  • [8] How do Android developers improve non-functional properties of software?
    Callan, James
    Krauss, Oliver
    Petke, Justyna
    Sarro, Federica
    EMPIRICAL SOFTWARE ENGINEERING, 2022, 27 (05)
  • [9] Like, dislike, or just do it? How developers approach software development tasks
    Masood, Zainab
    Hoda, Rashina
    Blincoe, Kelly
    Damian, Daniela
    INFORMATION AND SOFTWARE TECHNOLOGY, 2022, 150
  • [10] Like, dislike, or just do it? How developers approach software development tasks
    Masood, Zainab
    Hoda, Rashina
    Blincoe, Kelly
    Damian, Daniela
    INFORMATION AND SOFTWARE TECHNOLOGY, 2022, 150