Understanding initial API comprehension

被引:1
作者
Heinonen, Ava [1 ]
Fagerholm, Fabian [1 ]
机构
[1] Aalto Univ, Dept Comp Sci, Espoo, Finland
来源
2023 IEEE/ACM 31ST INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION, ICPC | 2023年
关键词
API comprehension; initial hypothesis; program comprehension; mental models; human factors in software engineering; MODEL;
D O I
10.1109/ICPC58990.2023.00016
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Programmers encounter new Application Programming Interfaces (APIs) regularly as a part of their work. Difficulties in API comprehension affect programmers' performance and the quality of the software they produce. To effectively support API comprehension, it is important to understand how programmers comprehend new APIs in real-life work contexts. In this study, we explore programmers' initial API comprehension efforts. We analyze what information programmers need about an API before they are ready to start working with it and the actions and information sources they use to acquire this information. Furthermore, we identify different contextual factors that affect this process. We used the critical incident method to interview programmers about their API comprehension processes in work contexts. Our results show that before our participants were ready to start using an API for a task, they sought information about the API from various sources to assess its validity and evaluate it with respect to the requirements of the task. They used their background knowledge to steer their information-seeking efforts and to recognize key pieces of information that strengthened or weakened their confidence in the suitability of the API for the task at hand. As initial API comprehension and the resulting initial API mental models seem to guide further stages of programmers' API comprehension efforts, they heavily influence the direction of the rest of the comprehension process. Therefore, it should be considered in the design of means to support API comprehension, such as API documentation.
引用
收藏
页码:43 / 53
页数:11
相关论文
共 32 条
[1]   A model for understanding software components [J].
Andrews, A ;
Ghosh, S ;
Choi, EM .
INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 2002, :359-368
[2]  
[Anonymous], 2019, The ethical principles of research with human participants and ethical review in the human sciences in Finland, Vsecond
[3]   How Graduate Computing Students Search When Using an Unfamiliar Programming Language [J].
Bai, Gina R. ;
Kayani, Joshua ;
Stolee, Kathryn T. .
2020 IEEE/ACM 28TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION, ICPC, 2020, :160-171
[4]  
Brandt J, 2009, CHI2009: PROCEEDINGS OF THE 27TH ANNUAL CHI CONFERENCE ON HUMAN FACTORS IN COMPUTING SYSTEMS, VOLS 1-4, P1589
[5]  
Burgos Carlos L., 2007, Information.Knowledge.Systems Management, V6, P215, DOI 10.3233/iks-2007-00102
[6]  
Duala-Ekoko E, 2012, PROC INT CONF SOFTW, P266, DOI 10.1109/ICSE.2012.6227187
[7]  
Fahl S., 2013, Proceedings of the 2013 ACM SIGSAC conference on Computer communications security, P49, DOI [10.1145/2508859.2516655, DOI 10.1145/2508859.2516655]
[8]  
Grill Thomas, 2012, Human-Centered Software Engineering. Proceedings of the 4th International Conference, HCSE 2012, P164, DOI 10.1007/978-3-642-34347-6_10
[9]  
Heinonen A, 2022, Arxiv, DOI [arXiv:2212.07763, 10.48550/ARXIV.2212.07763]
[10]  
Heinonen Ava, 2023, SUPPL MAT ART UND IN, DOI [10.5281/zenodo.7728163, DOI 10.5281/ZENODO.7728163]