Generation of API Documentation using Large Language Models – Towards Self-explaining APIs

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Master's thesis

Date

2024-05-20

Department

Major/Subject

Computer Science

Mcode

SCI3042

Degree programme

Master’s Programme in Computer, Communication and Information Sciences

Language

en

Pages

58

Series

Abstract

Application Programming Interfaces (APIs) play a crucial role in modern software development. They are key in not only in enabling software reuse and adaptation, which greatly increase productivity, but also in facilitating exploration of new functionalities and technologies. The main way developers learn new APIs is through reading documentation. However, as many studies have shown, API documentation often suffers from a number of problems, such as incompleteness, outdatedness, or excessive verbosity. Consequently, efforts have been made to improve documentation and detect deficiencies, some leveraging Large Language Models (LLMs). This thesis explores the usage of LLMs to assist users learning new APIs. Employing Design Science, an artifact is developed, in the form of a web platform that leverages LLMs to generate API descriptions. The artifact is evaluated by a user study in the context of a university web development course. Among the 89 who students tested the platform, 58 provided feedback. The results show the potential of LLMs in generating and enhancing API documentation, thus facilitating API comprehension. A large majority of students find the LLM-powered additional support helpful with course assignments and useful for learning. However, students with greater programming experience tend to find less value in this supplementary resource, and prefer studying official API documentation instead.

Applikationsprogrammeringsgränssnitt (API:er) spelar en avgörande roll i modern programvaruutveckling. De möjliggör återanvändning och anpassning av programvara, vilket ökar produktiviteten betydligt. Dessutom underlättar API:er utforskningen av nya funktionaliteter och teknologier. Det huvudsakliga sättet utvecklare lär sig nya API:er är genom att läsa dokumentation. Men som flera studier visat lider API-dokumentation ofta av flera problem, såsom ofullständighet, förådrad information, eller överdriven utförlighet. Följaktligen har det gjorts försök på att förbättra dokumentation och upptäcka brister, där vissa nya utnyttjar stora språkmodeller (LLM:er). I detta diplomarbete utforskas användningen av LLM:er för att hjälpa användare att lära sig nya API:er. Enligt Design Science metodiken utvecklas en artefakt i form av en webbplattform som utnyttjar LLM:er för att generera API-beskrivningar. Artefakten utvärderas genom en användarstudie som utförs i ramen av en universitetskurs i webbutveckling. Av de 89 studenter som testade plattformen fyllde 58 i en utvärderingsblankett. Resultaten visar LLM:ers potential att generera och förbättra API-dokumentation, vilket underlättar förståelsen av API:er. En stor majoritet av studeranden anser att LLM-drivet ytterligare stöd är gynnsamt för kursuppgifter och lärande. Dock tenderar studeranden med mer omfattande programmeringserfarenhet att finna mindre värde i denna kompletterande resurs och föredrar istället att studera officiell API-dokumentation.

Description

Supervisor

Hellas, Arto

Thesis advisor

Heinonen, Ava

Keywords

API documentation, API comprehension, large language models, prompt engineering

Other note

Citation