软件库依赖图谱的复杂性度量方法及其潜在应用

YU Hai,WANG Ying,XU Mei-Qiu, YANG Bo, XU Chang, ZHU Zhi-Liang

Journal of Software(2023)

引用 0|浏览0
暂无评分
摘要
在软件开发过程中,软件库可以减少开发时间和节约成本而被广泛使用,因此现代软件项目包含多种不同来源的代码而使得系统具有更高的复杂性和多样性.软件库在使用的过程中常常伴随着各种风险,如低质量或安全漏洞,从而严重影响软件项目的质量.通过分析与软件库的耦合强度,来量化由软件库的依赖关系而引入客户代码的复杂性和多样性.首先,根据客户代码与软件库之间方法的调用关系建立软件边界图模型,区分开客户代码和软件库的代码边界;进而基于此提出一套软件库依赖图谱的复杂性度量指标RMS,用以量化不同来源软件之间的耦合强度.在实验过程中,挖掘Apache开源社区中 10 个流行软件所有历史版本数据,最终收集到 7857 个真实项目间依赖缺陷问题.在上述真实数据基础上,结合所提出的复杂性度量指标RMS,利用假设验证方法开展实证调查研究来探讨:H1:风险因子更高的边界节点是否更容易引入更多数量的项目间依赖缺陷;H2:风险因子更高的边界节点会是否更容易引入严重等级高的项目间依赖缺陷;H3:RMS度量指标数值多大程度地影响了引入项目间依赖缺陷数量和严重等级.实验结果表明,根据RMS度量指标评估,与软件库耦合度更高的边界节点容易引入更多数量且严重等级高的项目间依赖缺陷.与传统复杂性度量指标对比,RMS度量指标较大程度地影响了引入项目间依赖缺陷的数量和严重等级.
更多
关键词
empirical software engineering,third-party libraries,software metrics,hypothesis testing
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要