CMU-ISR-11-106 Institute for Software Research School of Computer Science, Carnegie Mellon University
The Impact of API Complexity on Failures: Marcelo Cataldo, Cleidson R.B. de Souza* June 2011
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 This page maintained by reports@cs.cmu.edu |