Deriving a usage-independent software quality metric

Deriving a usage-independent software quality metric
复制标题

DOI:
10.1007/s10664-019-09791-w
复制
发表时间:
2020-02-19
影响因子:
4.1
通讯作者:
Mockus, Audris
Mockus, Audris
中科院分区:
计算机科学2区
文献类型:
--
作者:
Dey, Tapajit;Mockus, Audris

文献摘要

被引文献

相似文献

软件发布后使用的程度影响故障的数量,从而使质量度量产生偏差,并对相关决策产生不利影响。ObjectiveTo determine how software faults and software use are related and how,based on that,an accurate quality measure can be designed.Method通过Google Analytics(分析),我们测量Android和iOS的复杂专有移动的应用程序的新用户、使用强度、使用频率、异常情况以及发布日期和持续时间。我们利用贝叶斯网络和随机森林模型来解释的相互关系,并得出使用独立的发布质量措施。为了增加外部有效性,我们还调查了520个NPM软件包的各种代码复杂性度量、使用(下载)和问题数量之间的相互关系。我们从这些分析中得出了一个与使用无关的质量度量,并将其应用于4430个流行的NPM软件包,以构建比较感知质量的时间表(问题数量)和我们在这些软件包的生命周期中导出的质量度量。结果我们发现新用户的数量是决定异常数量的主要因素,并发现软件使用的强度和频率与软件故障之间没有直接联系。对于Android应用程序,崩溃随着新用户的1.02-1.04的幂而增加,对于iOS应用程序,崩溃随着新用户的1.6的幂而增加。以每个用户的崩溃表示的发布质量独立于其他使用相关的预测因素,因此可以作为软件质量的使用独立度量。使用也影响了NPM的质量,即使考虑到其他代码复杂性度量,下载量也与问题数量密切相关。不像在移动的情况下,每个用户的异常随着时间的推移而减少,为45.8%的NPM包的问题,每次下载increases. Conclusions的数量,我们希望我们的结果和我们提出的质量措施将有助于更准确地衡量软件的发布质量,并激发在这一领域的进一步研究。
Context The extent of post-release use of software affects the number of faults, thus biasing quality metrics and adversely affecting associated decisions. The proprietary nature of usage data limited deeper exploration of this subject in the past.Objective To determine how software faults and software use are related and how, based on that, an accurate quality measure can be designed.Method Via Google Analytics we measure new users, usage intensity, usage frequency, exceptions, and release date and duration for complex proprietary mobile applications for Android and iOS. We utilize Bayesian Network and Random Forest models to explain the interrelationships and to derive the usage independent release quality measure. To increase external validity, we also investigate the interrelationship among various code complexity measures, usage (downloads), and number of issues for 520 NPM packages. We derived a usage-independent quality measure from these analyses, and applied it on 4430 popular NPM packages to construct timelines for comparing the perceived quality (number of issues) and our derived measure of quality during the lifetime of these packages.Results We found the number of new users to be the primary factor determining the number of exceptions, and found no direct link between the intensity and frequency of software usage and software faults. Crashes increased with the power of 1.02-1.04 of new user for the Android app and power of 1.6 for the iOS app. Release quality expressed as crashes per user was independent of other usage-related predictors, thus serving as a usage independent measure of software quality. Usage also affected quality in NPM, where downloads were strongly associated with numbers of issues, even after taking the other code complexity measures into consideration. Unlike in mobile case where exceptions per user decrease over time, for 45.8% of the NPM packages the number of issues per download increase.Conclusions We expect our result and our proposed quality measure will help gauge release quality of a software more accurately and inspire further research in this area.