|   | CMU-ISR-10-100 Institute for Software Research
 School of Computer Science, Carnegie Mellon University
 
    
     
 CMU-ISR-10-100
 
The Impact of Interface Complexity on Failures:an Empirical Analysis and Implications for Tool Design
 
Marcelo Cataldo, Cleidson R.B. de Souza*,David L. Bentolila*, Tales C. Miranda*, Sangeeth Nambiar**
 
January 2010  
CMU-ISR-10-100.pdf Keywords: APIs, API design, empirical software engineering,
software quality, development tools
 Information hiding is a cornerstone principle of modern software engineering. 
Interfaces 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 examine the relative 
impact of interface complexity on the failure proneness of source code files 
using data from two large-scale systems from two distinct software
companies. Our analyses showed that increases in the complexity of interfaces 
are associated with increases the failure proneness of source code files. 
Building on our empirical results, we develop a set of implications for 
designing tools aimed at assisting developers to cope with the detrimental 
impact of interface complexity.
 
17  pages 
*Department of Informatics, Universidade Federal do Para**Robert Bosch Engineering and Business Solutions, Ltd.
 
 |