Requirements of API documentation: a case study into computer vision services

Alex Cummaudo, Rajesh Vasa, John Grundy, Mohamed Abdelrazek

Research output: Contribution to journalArticleResearchpeer-review

Abstract

Using cloud-based computer vision services is gaining traction, where developers access AI-powered components through

familiar RESTful APIs, not needing to orchestrate large training and inference infrastructures or curate/label training datasets. However,

while these APIs seem familiar to use, their non-deterministic run-time behaviour and evolution is not adequately communicated to

developers. Therefore, improving these services’ API documentation is paramount—more extensive documentation facilitates the

development process of intelligent software. In a prior study, we extracted 34 API documentation artefacts from 21 seminal works,

devising a taxonomy of five key requirements to produce quality API documentation. We extend this study in two ways. Firstly, by

surveying 104 developers of varying experience to understand what API documentation artefacts are of most value to practitioners.

Secondly, identifying which of these highly-valued artefacts are or are not well-documented through a case study in the emerging

computer vision service domain. We identify: (i) several gaps in the software engineering literature, where aspects of API

documentation understanding is/is not extensively investigated; and (ii) where industry vendors (in contrast) document artefacts to

better serve their end-developers. We provide a set of recommendations to enhance intelligent software documentation for both

vendors and the wider research community.

Original languageEnglish
Number of pages18
JournalIEEE Transactions on Software Engineering
DOIs
Publication statusAccepted/In press - 24 Dec 2020

Keywords

  • Code Documentation
  • Computer Vision
  • Intelligent Web Services and Semantic Web

Cite this