国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:于海,王莹,徐美秋,杨博,许畅,朱志良
单位:于海,东北大学 软件学院, 辽宁 沈阳 11016911,王莹,东北大学 软件学院, 辽宁 沈阳 110169;计算机软件新技术国家重点实验室 (南京大学), 江苏 南京 21004602,徐美秋,东北大学 软件学院, 辽宁 沈阳 11016903,杨博,东北大学 软件学院, 辽宁 沈阳 11016904,许畅,南京大学 计算机科学与技术系, 江苏 南京 210046;计算机软件新技术国家重点实验室 (南京大学), 江苏 南京 21004605,朱志良,东北大学 软件学院, 辽宁 沈阳 11016906
关键词:经验软件工程;第三方库;软件度量指标;假设验证
基金:国家自然科学基金(62141210, 61932021, 61902056, 61802164, 61977014); 沈阳市中青年科技创新人才计划(ZX20200272); 中央高校基本科研业务费(N2217005); 南京大学软件新技术国家重点实验室开放基金(KFKT2021B01)
在软件开发过程中, 软件库可以减少开发时间和节约成本而被广泛使用, 因此现代软件项目包含多种不同来源的代码而使得系统具有更高的复杂性和多样性. 软件库在使用的过程中常常伴随着各种风险, 如低质量或安全漏洞, 从而严重影响软件项目的质量. 通过分析与软件库的耦合强度, 来量化由软件库的依赖关系而引入客户代码的复杂性和多样性. 首先, 根据客户代码与软件库之间方法的调用关系建立软件边界图模型, 区分开客户代码和软件库的代码边界; 进而基于此提出一套软件库依赖图谱的复杂性度量指标RMS, 用以量化不同来源软件之间的耦合强度. 在实验过程中, 挖掘Apache开源社区中10个流行软件所有历史版本数据, 最终收集到7857个真实项目间依赖缺陷问题. 在上述真实数据基础上, 结合所提出的复杂性度量指标RMS, 利用假设验证方法开展实证调查研究来探讨: H1: 风险因子更高的边界节点是否更容易引入更多数量的项目间依赖缺陷; H2: 风险因子更高的边界节点会是否更容易引入严重等级高的项目间依赖缺陷; H3: RMS度量指标数值多大程度地影响了引入项目间依赖缺陷数量和严重等级. 实验结果表明, 根据RMS度量指标评估, 与软件库耦合度更高的边界节点容易引入更多数量且严重等级高的项目间依赖缺陷. 与传统复杂性度量指标对比, RMS度量指标较大程度地影响了引入项目间依赖缺陷的数量和严重等级.
来源:2023年第11期
《软件学报》期刊编辑部