Institute for Software Research
School of Computer Science, Carnegie Mellon University


The Impact of API Complexity on Failures:
An Empirical Analysis of Proprietary and
Open Source Software Systems

Marcelo Cataldo, Cleidson R.B. de Souza*

June 2011


Keywords: API complexity, corporate versus open source, software failures

Information hiding is a cornerstone principle of modern software engineering. Interfaces, or APIs, are central to realizing the benefits of information hiding, but despite their widespread use, designing good interfaces is not a trivial activity. Particular design choices can have a significant detrimental effect on quality or development productivity. In this paper, we examined the impact of API complexity on the failure proneness of source code files using data from two large-scale systems from two distinct software companies and nine open source projects from the GNOME community. Our analyses showed that increases in the complexity of APIs are associated with increases in the failure proneness of source code files. Interestingly, there are significant differences between corporate and open source software. Although the impact of the complexity of APIs is important in both settings, the magnitude of the detrimental effects on quality is significantly higher in corporate settings. We discuss the research and practical implication of the results.

16 pages

*IBM Research Brazil

Return to: SCS Technical Report Collection
School of Computer Science

This page maintained by