arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2402.06916cs.SE
收藏

自由开源社区可持续性:是否对软件质量产生影响?

Free Open Source Communities Sustainability: Does It Make a Difference in Software Quality?

Adam Alami, Raúl Pardo, Johan Linåker

AI总结:

本研究通过贝叶斯分析217个Apache项目,发现FOSS社区可持续性指标对缺陷密度和覆盖率无显著影响,但社区年龄提升部分代码质量指标,且可持续性社区仍存在代码质量退化现象。

摘要:

背景:自由和开源软件(FOSS)社区长期保持活力和生产力的能力对社会至关重要,因为它们维护着数字基础设施、产品和服务所依赖的基础构件。然而,可持续性可能从多个方面来表征,而关于这些方面如何相互作用并影响社区产出,特别是软件质量,目前知之甚少。目标:因此,本研究旨在实证探索FOSS可持续性的不同方面如何影响软件质量。方法:从四个类别中选取了16项可持续性指标,并将其应用于来自Apache软件基金会孵化器项目的217个开源软件项目。利用贝叶斯数据分析,通过概率分布表示回归系数和截距,分析了可持续性指标下降对八项软件质量指标的影响。结果:研究结果表明,所选可持续性指标对缺陷密度或代码覆盖率没有显著影响。然而,社区年龄对特定代码质量指标(如风险复杂度、超大文件数量和代码重复百分比)产生了积极影响。有趣的是,研究发现即使社区正在经历可持续性,某些代码质量指标仍受到负面影响。结论:研究结果表明,代码质量实践与可持续性之间并非始终关联,缺陷管理和预防可能优先于前者。结果提示,增长导致代码库更加复杂和庞大,加之可能缺乏对代码质量标准的理解,可能解释了某些代码质量方面的退化。

英文摘要:

Context: Free and Open Source Software (FOSS) communities' ability to stay viable and productive over time is pivotal for society as they maintain the building blocks that digital infrastructure, products, and services depend on. Sustainability may, however, be characterized from multiple aspects, and less is known how these aspects interplay and impact community outputs, and software quality specifically. Objective: This study, therefore, aims to empirically explore how the different aspects of FOSS sustainability impact software quality. Method: 16 sustainability metrics across four categories were sampled and applied to a set of 217 OSS projects sourced from the Apache Software Foundation Incubator program. The impact of a decline in the sustainability metrics was analyzed against eight software quality metrics using Bayesian data analysis, which incorporates probability distributions to represent the regression coefficients and intercepts. Results: Findings suggest that selected sustainability metrics do not significantly affect defect density or code coverage. However, a positive impact of community age was observed on specific code quality metrics, such as risk complexity, number of very large files, and code duplication percentage. Interestingly, findings show that even when communities are experiencing sustainability, certain code quality metrics are negatively impacted. Conclusion: Findings imply that code quality practices are not consistently linked to sustainability, and defect management and prevention may be prioritized over the former. Results suggest that growth, resulting in a more complex and large codebase, combined with a probable lack of understanding of code quality standards, may explain the degradation in certain aspects of code quality.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑