Loading...

Studying the relationship between the usage of APIS discussed in the crowd and post-release defects

Tahmooresi, H ; Sharif University of Technology | 2020

604 Viewed
  1. Type of Document: Article
  2. DOI: 10.1016/j.jss.2020.110724
  3. Publisher: Elsevier Inc , 2020
  4. Abstract:
  5. Software development nowadays is heavily based on libraries, frameworks and their proposed Application Programming Interfaces (APIs). However, due to challenges such as the complexity and the lack of documentation, these APIs may introduce various obstacles for developers and common defects in software systems. To resolve these issues, developers usually utilize Question and Answer (Q&A) websites such as Stack Overflow by asking their questions and finding proper solutions for their problems on APIs. Therefore, these websites have become inevitable sources of knowledge for developers, which is also known as the crowd knowledge. However, the relation of this knowledge to the software quality has never been adequately explored before. In this paper, we study whether using APIs which are challenging according to the discussions of the Stack Overflow is related to code quality defined in terms of post-release defects. To this purpose, we define the concept of challenge of an API, which denotes how much the API is discussed in high-quality posts on Stack Overflow. Then, using this concept, we propose a set of products and process metrics. We empirically study the statistical correlation between our metrics and post-release defects as well as added explanatory and predictive power to traditional models through a case study on five open source projects including Spring, Elastic Search, Jenkins, K-8 Mail Android Client, and OwnCloud Android client. Our findings reveal that our metrics have a positive correlation with post-release defects which is comparable to known high-performance traditional process metrics, such as code churn and number of pre-release defects. Furthermore, our proposed metrics can provide additional explanatory and predictive power for software quality when added to the models based on existing products and process metrics. Our results suggest that software developers should consider allocating more resources on reviewing and improving external API usages to prevent further defects. © 2020 Elsevier Inc
  6. Keywords:
  7. API ; Crowd knowledge ; Defect prediction ; Stack overflow ; Android (operating system) ; Application programs ; Computer software selection and evaluation ; Defects ; Open source software ; Software design ; Software quality ; Websites ; Open source projects ; Positive correlations ; Predictive power ; Proper solutions ; Software developer ; Software systems ; Statistical correlation ; Traditional models ; Application programming interfaces (API)
  8. Source: Journal of Systems and Software ; Volume 170 , 2020
  9. URL: https://www.sciencedirect.com/science/article/abs/pii/S0164121220301606