Title :
Exploring the Impact of API Complexity on Failure-Proneness
Author :
Cataldo, Marcelo ; De Souza, Cleidson R. B.
Author_Institution :
ConnReperio, LLC, New York, NY, USA
Abstract :
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 particular, in large and geographically distributed projects. In this paper, we take a two-step approach. We first examined the impact of API complexity on the failure proneness of source code files. By API complexity we mean how easy or difficult is to use a particular API based on the public functions and data of this API. Second, we examine the relationship of API complexity and geographical distribution of the development teams. In our study we used data from two large-scale systems from two different 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. API complexity is the second best predictor in our results. Furthermore, the organizational context and the patterns of geographical distribution of the development teams have a moderating effect on the role of API complexity. We discuss the research and practical implication of the results.
Keywords :
application program interfaces; public domain software; software reliability; source code (software); API complexity; GNOME community; development productivity; failure-proneness; geographically distributed projects; information hiding; large-scale systems; open source projects; organizational context; public functions; source code files; Communities; Complexity theory; Organizations; Software measurement; Software systems; API complexity; corporate versus open source; glogbal software development; software failures;
Conference_Titel :
Global Software Engineering (ICGSE), 2014 IEEE 9th International Conference on
Conference_Location :
Shanghai
DOI :
10.1109/ICGSE.2014.16