Managing the root causes of "internal API hell": an experience report

Guillermo Cabrera-Vives, Zheng Li*, Austen Rainer, Dionysis Athanasopoulos, Diego Rodríguez-Mancini, Francisco Förster

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contribution

21 Downloads (Pure)

Abstract

When growing the software infrastructure for a large-scale scientific project (namely ALeRCE, Automatic Learning for the Rapid Classification of Events), we observed an “internal API hell” phenomenon in which numerous and various API issues coexist and are inextricably interwoven with each other. Driven by this observation, we conducted a set of investigations to help both understand and deal with this complicated and frustrating situation. Through individual interviews and group discussions, our investigation reveals two root causes of the “internal API hell” in ALeRCE, namely (1) an internal API explosion and (2) an increased “churn” of development teams. Given the nature of the system and the software project, each root cause is inherent and unavoidable. To demonstrate our ongoing work on tackling that “hell”, we discuss five API issues and their corresponding solutions, i.e., (1) using a multi-view catalog to help discover suitable APIs, (2) using a publish-subscribe channel to assist API versioning management and negotiation, (3) improving the quality of API adoption through example-driven delivery, (4) using operation serialisation to facilitate API development debugging and migration, and (5) enhancing the usability of long and sophisticated machine learning APIs by employing a graphical user interface for API instantiation. We also briefly consider the threats to validity of our project-specific study. On the other hand, we argue that the root causes and issues are likely to recur for other similar systems and projects. Thus, we urge collaborative efforts on addressing this emerging type of “hell” in software development.

Original languageEnglish
Title of host publicationProceedings of the Product-Focused Software Process Improvement 23nd International Conference: PROFES 2022
EditorsDavide Taibi, Marco Kuhrmann, Tommi Mikkonen, Jil Klünder, Pekka Abrahamsson
PublisherSpringer Lecture Notes in Computer Science (LNCS)
Pages 21-36
Number of pages16
Volume13709
ISBN (Electronic)9783031213885
ISBN (Print)9783031213878
DOIs
Publication statusPublished - 14 Nov 2022
EventThe 23rd International Conference on Product-Focused Software Process Improvement - Jyväskylä, Finland
Duration: 21 Nov 202223 Nov 2022
Conference number: 23rd
https://www.jyu.fi/it/en/research/scholarly-events/profes2022

Publication series

NameLecture Notes in Computer Science
Volume13709
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

ConferenceThe 23rd International Conference on Product-Focused Software Process Improvement
Abbreviated titlePROFES 2022
Country/TerritoryFinland
CityJyväskylä
Period21/11/202223/11/2022
Internet address

Fingerprint

Dive into the research topics of 'Managing the root causes of "internal API hell": an experience report'. Together they form a unique fingerprint.

Cite this