PPIG 2024 - 35th Annual Workshop
Understanding APIs and the software that provides them - Analysis of programmers’ API mental models used in programming tasks
Ava Heinonen
Abstract: At one point in time, programming could be thought of as the act of translating program requirements into source code written in one programming language. However, modern programming relies heavily on building programs by integrating services, functionality, and data provided by external software into a program using APIs. In part, programming consists of selecting suitable software that provides ready solutions for programming problems and using their APIs to integrate those solutions into a coherent program.
This change in programming necessarily changes programmers’ mental models — their understanding of the programs they work on. In this paper, we discuss programmers’ mental models when using an API in a programming task. We conducted interviews with twelve industry professionals using the critical decision method. We analyzed the mental models — the understanding these practitioners utilized when completing different software development tasks using an API. Through this analysis, we were able to identify information about the tasks, the software providing an API, and the API that were represented in the programmers’ mental models. These results contribute to the existing literature by opening a discussion on how using APIs changes the nature of programs and programming and by providing insight into the understanding necessary for completing programming tasks using APIs.