首站-论文投稿智能助手
典型文献
基于软件度量的Solidity智能合约缺陷预测方法
文献摘要:
随着区块链技术的兴起, 智能合约安全问题被越来越多的研究者和企业重视, 目前已有一些针对智能合约缺陷检测技术的研究. 软件缺陷预测技术是软件缺陷检测技术的有效补充, 能够优化测试资源分配, 提高软件测试效率. 然而, 目前还没有针对智能合约的软件缺陷预测研究. 针对这一问题, 提出了面向Solidity智能合约的缺陷预测方法. 首先, 设计了一组针对Solidity智能合约特有的变量、函数、结构和Solidity语言特性的度量元集(smart contract-Solidity, SC-Sol度量元集), 并将其与重点考虑面向对象特征的度量元集(code complexity and features of object-oriented program, COOP度量元集)组合为COOP-SC-Sol度量元集. 然后, 从Solidity智能合约代码中提取相关度量元信息, 并结合缺陷检测结果, 构建Solidity智能合约缺陷数据集. 在此基础上, 应用了7种回归模型和6种分类模型进行Solidity智能合约的缺陷预测, 以验证不同度量元集和不同模型在缺陷数量和倾向性预测上的性能差异. 实验结果表明, 相对于COOP度量元集, COOP-SC-Sol能够让缺陷预测模型的F1-score指标提升8%. 此外,进一步研究了智能合约缺陷预测中的类不平衡问题, 实验结果表明, 通过采样技术对数据集进行预处理能够提升缺陷预测模型的性能, 其中随机欠采样技术能够使模型的F1-score指标提升9%. 在特定缺陷倾向性预测问题上,模型的预测性能受到数据集类不平衡的影响, 在缺陷模块百分比大于10%的数据集中能取得较好的预测性能.
文献关键词:
软件缺陷预测;缺陷数量预测;缺陷倾向性预测;智能合约;Solidity
作者姓名:
杨慧文;崔展齐;陈翔;贾明华;郑丽伟;刘建宾
作者机构:
北京信息科技大学 计算机学院, 北京 100101;网络文化与数字传播北京市重点实验室(北京信息科技大学), 北京 100101;南通大学 计算机科学与技术学院, 江苏 南通 226019;中央财经大学 信息学院, 北京 100101
文献出处:
引用格式:
[1]杨慧文;崔展齐;陈翔;贾明华;郑丽伟;刘建宾-.基于软件度量的Solidity智能合约缺陷预测方法)[J].软件学报,2022(05):1587-1611
A类:
软件度量,软件缺陷检测,缺陷数量预测
B类:
Solidity,智能合约,软件缺陷预测,预测技术,测试资源,资源分配,软件测试,测试效率,预测研究,语言特性,度量元,smart,contract,SC,面向对象,code,complexity,features,object,oriented,program,COOP,代码,相关度,缺陷数据,分类模型,同度,性能差异,缺陷预测模型,score,指标提升,类不平衡,不平衡问题,过采样技术,随机欠采样,欠采样技术,缺陷倾向性预测,预测性能,缺陷模,能取
AB值:
0.250528
相似文献
机标中图分类号,由域田数据科技根据网络公开资料自动分析生成,仅供学习研究参考。