Abstract
A large number of commercial software solutions contain some functionality achieved using different APIs. To use these APIs correctly, programmers must understand what they do and how they work. However, research into the comprehension of APIs has so far been limited. The aim of this research is to expand the current knowledge of program comprehension to include APIs and to analyze API comprehension in the context of software engineering work.
- Anneliese Amschler Andrews, Andreas Stefik, Nina Picone, and Sudipto Ghosh. A cots component comprehension process. In 13th International Workshop on Program Comprehension (IWPC'05), pages 135--144. IEEE, 2005.Google ScholarDigital Library
- Leah Bidlake, Eric Aubanel, and Daniel Voyer. Systematic literature review of empirical studies on mental representations of programs. Journal of Systems and Software, 165:110565, 2020.Google ScholarCross Ref
- Beth Crandall, Gary Klein, and Robert R Hoffman. Working minds. A Practitioners Guide to Cognitive Task Analysis, page 2006, 2006.Google ScholarCross Ref
- Fabian Fagerholm, Michael Felderer, Davide Fucci, Michael Unterkalmsteiner, Bogdan Marculescu, Markus Martini, Lars G¨oran Wallgren Tengberg, Robert Feldt, Bettina Lehtel¨a, Bal´azs Nagyv´aradi, and Jehan Khattak. Cognition in software engineering: A taxonomy and survey of a half-century of research. ACM Computing Surveys, 2021.Google Scholar
- Marsha E Fonteyn, Benjamin Kuipers, and Susan J Grobe. A description of think aloud method and protocol analysis. Qualitative health research, 3(4):430--441, 1993.Google Scholar
- Gao Gao, Finn Voichick, Michelle Ichinco, and Caitlin Kelleher. Exploring programmers' api learning processes: Collecting web resources as external memory. In 2020 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pages 1--10. IEEE, 2020.Google ScholarCross Ref
- Ava Heinonen, Fabian Fagerholm, Bettina Lehtel¨a, and Arto Hellas. Synthesizing research on programmers' mental models of programs, tasks and concepts -- a systematic literature review. Information and Software Technology, 2022,in press.Google Scholar
- Daqing Hou and Lin Li. Obstacles in using frameworks and apis: An exploratory study of programmers' newsgroup discussions. In 2011 IEEE 19th International Conference on Program Comprehension, pages 91--100. IEEE, 2011.Google ScholarDigital Library
- Caitlin Kelleher and Michelle Ichinco. Towards a model of api learning. In 2019 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pages 163--168. IEEE, 2019.Google ScholarCross Ref
- Gary A Klein, Roberta Calderwood, and Donald Macgregor. Critical decision method for eliciting knowledge. IEEE Transactions on systems, man, and cybernetics, 19(3):462--472, 1989.Google ScholarCross Ref
- Michael Meng, Stephanie Steinhardt, and Andreas Schubert. How developers use api documentation: an observation study. Communication Design Quarterly Review, 7(2):40--49, 2019.Google ScholarDigital Library
- Brad A Myers and Jeffrey Stylos. Improving api usability. Communications of the ACM, 59(6):62--69, 2016.Google ScholarDigital Library
- Martin P Robillard. What makes apis hard to learn? answers from developers. IEEE software, 26(6):27--34, 2009.Google ScholarDigital Library
- Martin P. Robillard and Robert DeLine. A field study of api learning obstacles. Empirical Software Engineering, 2011.Google Scholar
- M-A Storey. Theories, methods and tools in program comprehension: past, present and future. In 13th International Workshop on Program Comprehension (IWPC'05), pages 181--191. IEEE, 2005.Google ScholarDigital Library
- Laila van Ments and Jan Treur. Reflections on dynamics, adaptation and control: a cognitive architecture for mental models. Cognitive Systems Research, 70:1--9, 2021.Google ScholarDigital Library
- BL William Wong. The handbook of task analysis for human-computer interactions. Mahwah: Lawrence Erlbaum Associates, chapter Critical decision method data analysis, pages 327--46. 2003.Google Scholar
- Xin Xia, Lingfeng Bao, David Lo, Zhenchang Xing, Ahmed E Hassan, and Shanping Li. Measuring program comprehension: A large-scale field study with professionals. IEEE Transactions on Software Engineering, 44(10):951--976, 2017.Google ScholarDigital Library
Recommendations
Automated example oriented REST API documentation at Cisco
ICSE-SEIP '17: Proceedings of the 39th International Conference on Software Engineering: Software Engineering in Practice TrackGenerating and maintaining an up-to-date API documentation is a challenging problem for evolving REST APIs. At Cisco, we've used SpyREST, an automated REST API documentation tool, via our functional tests to solve this problem with one of our APIs for a ...
Generating concept based API element comparison using a knowledge graph
ASE '20: Proceedings of the 35th IEEE/ACM International Conference on Automated Software EngineeringDevelopers are concerned with the comparison of similar APIs in terms of their commonalities and (often subtle) differences. Our empirical study of Stack Overflow questions and API documentation confirms that API comparison questions are common and can ...
Automatic API Usage Scenario Documentation from Technical Q&A Sites
Continuous Special Section: AI and SEThe online technical Q&A site Stack Overflow (SO) is popular among developers to support their coding and diverse development needs. To address shortcomings in API official documentation resources, several research works have thus focused on augmenting ...
Comments