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 条
[11]   Obstacles in Using Frameworks and APIs: An Exploratory Study of Programmers' Newsgroup Discussions [J].
Hou, Daqing ;
Li, Lin .
2011 IEEE 19TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC), 2011, :91-100
[12]  
Kelleher C, 2019, S VIS LANG HUM CEN C, P163, DOI [10.1109/VLHCC.2019.8818850, 10.1109/vlhcc.2019.8818850]
[13]  
Ko AJ, 2007, PROC INT CONF SOFTW, P344
[14]  
Ko AJ, 2011, S VIS LANG HUM CEN C, P173, DOI 10.1109/VLHCC.2011.6070395
[15]   A Systematic Review of API Evolution Literature [J].
Lamothe, Maxime ;
Gueheneuc, Yann-Gael ;
Shang, Weiyi .
ACM COMPUTING SURVEYS, 2021, 54 (08)
[16]   Understanding Large-Scale Software - A Hierarchical View [J].
Levy, Omer ;
Feitelson, Dror G. .
2019 IEEE/ACM 27TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2019), 2019, :283-293
[17]  
Marcella Rita, 2013, LEADING ISSUES BUSIN, V2
[18]  
Meng Michael, 2020, P 38 ACM INT C DESIG, P1
[19]  
Nykaza J., 2002, the Proceedings of the 20th Annual International Conference on Computer Documentation, P133, DOI DOI 10.1145/584955.584976
[20]   Application Programming Interface (API) Research: A Review of the Past to Inform the Future [J].
Ofoeda, Joshua ;
Boateng, Richard ;
Effah, John .
INTERNATIONAL JOURNAL OF ENTERPRISE INFORMATION SYSTEMS, 2019, 15 (03) :76-95