当前位置: X-MOL 学术J. Syst. Softw. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Studying the relationship between the usage of APIs discussed in the crowd and post-release defects
Journal of Systems and Software ( IF 3.7 ) Pub Date : 2020-12-01 , DOI: 10.1016/j.jss.2020.110724
Hamed Tahmooresi , Abbas Heydarnoori , Reza Nadri

Abstract 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.

中文翻译:

研究人群中讨论的API的使用与发布后缺陷之间的关系

摘要 当今的软件开发在很大程度上基于库、框架及其提议的应用程序编程接口 (API)。但是,由于复杂性和缺乏文档等挑战,这些 API 可能会给开发人员带来各种障碍以及软件系统中的常见缺陷。为了解决这些问题,开发人员通常利用问答 (Q&A) 网站,例如 Stack Overflow,通过询问他们的问题并为他们在 API 上的问题找到合适的解决方案。因此,这些网站成为了开发者不可避免的知识来源,也被称为众包知识。然而,这些知识与软件质量的关系以前从未被充分探讨过。在本文中,我们研究根据 Stack Overflow 的讨论使用具有挑战性的 API 是否与根据发布后缺陷定义的代码质量有关。为此,我们定义了 API 挑战的概念,它表示在 Stack Overflow 上的高质量帖子中讨论了多少 API。然后,使用这个概念,我们提出了一组产品和流程指标。我们通过对 Spring、Elastic Search、Jenkins、K-8 Mail Android Client 和 K-8 Mail Android Client 等五个开源项目的案例研究,实证研究了我们的指标与发布后缺陷之间的统计相关性,并为传统模型增加了解释和预测能力。 OwnCloud 安卓客户端。我们的研究结果表明,我们的指标与发布后缺陷呈正相关,这与已知的高性能传统流程指标(例如代码流失和预发布缺陷的数量)相当。此外,当添加到基于现有产品和过程度量的模型时,我们提出的度量可以为软件质量提供额外的解释和预测能力。我们的结果表明,软件开发人员应该考虑分配更多资源来审查和改进外部 API 使用,以防止出现进一步的缺陷。
更新日期:2020-12-01
down
wechat
bug