An Empirical Study of API Usability
Authors:
- Marco PiccioniMPMarco Piccioni
- Carlo A. FuriaCFCarlo A. Furia
- Bertrand MeyerBMBertrand Meyer
- 1 October 2013
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- No. 19493770,p. 5-14
Abstract
Modern software development extensively involves reusing library components accessed through their Application Programming Interfaces (APIs). Usability is therefore a fundamental goal of API design, but rigorous empirical studies of API usability are still relatively uncommon. In this paper, we present the design of an API usability study which combines interview questions based on the cognitive dimensions framework, with systematic observations of programmer behavior while solving programming tasks based on ``tokens''. We also discuss the implementation of the study to assess the usability of a persistence library API (offering functionalities such as storing objects into relational databases). The study involved 25 programmers (including students, researchers, and professionals), and provided additional evidence to some critical features evidenced by related studies, such as the difficulty of finding good names for API features and of discovering relations between API types. It also discovered new issues relevant to API design, such as the impact of flexibility, and confirmed the crucial importance of accurate documentation for usability.Keywords
This publication has 19 references indexed in Scilit:
- Asking and answering questions about unfamiliar APIs: An exploratory study2012
- Precise Documentation: The Key to Better Software2010
- Improving software API usability through text analysis: A case study2009
- Improving API documentation usability with knowledge pushing2009
- The implications of method placement on API learnability2008
- Visualizing the word structure of Java class names2008
- Mapping the Space of API Design Decisions2007
- Usability Implications of Requiring Parameters in Objects' Constructors2007
- The Factory Pattern in API Design: A Usability Evaluation29th International Conference on Software Engineering (ICSE'07), 2007
- Informing API Design through Usability Studies of API Design Choices: A Research Abstract2006