基于重子节点抽象语法树的软件缺陷预测

被引:7
作者
黄晓伟 [1 ,2 ]
范贵生 [1 ]
虞慧群 [1 ]
杨星光 [1 ]
机构
[1] 华东理工大学计算机科学与工程系
[2] 上海市计算机软件测评重点实验室
基金
上海市自然科学基金;
关键词
软件质量保障; 软件缺陷预测; 代码表征; 抽象语法树; 深度学习;
D O I
10.19678/j.issn.1000-3428.0060389
中图分类号
TP311.53 [];
学科分类号
081202 ; 0835 ;
摘要
在实际软件项目开发过程中,软件缺陷预测能辅助测试人员找到项目中可能存在缺陷的位置,并通过抽象语法树(AST)获取项目模块中隐藏的结构和语义信息,此类信息有助于提高缺陷预测精度。提出基于重子节点抽象语法树的缺陷预测方法,在提取节点信息时保留节点的类型信息和对应代码语义的值信息,并使用特殊字符串代替没有值信息的节点。通过树链剖分思想将AST分割为重子节点和轻子节点,优先选择重子节点作为序列化向量中的节点,同时利用深度学习网络学习节点序列中的源代码结构和语言实现软件缺陷预测。实验结果表明,与DFS方法相比,该方法在基于注意力机制的循环神经网络深度学习模型上的F1值和AUC值平均提升约3%和4%,具有更好的缺陷预测效果。
引用
收藏
页码:230 / 235+248 +248
页数:7
相关论文
共 15 条
[11]   基于特征迁移和实例迁移的跨项目缺陷预测方法 [J].
倪超 ;
陈翔 ;
刘望舒 ;
顾庆 ;
黄启国 ;
李娜 .
软件学报, 2019, 30 (05) :1308-1329
[12]   基于特征选择的软件缺陷报告严重性评估 [J].
刘文杰 ;
江贺 .
计算机工程, 2019, 45 (08) :80-85
[13]   软件缺陷模式的研究 [J].
曾福萍 ;
靳慧亮 ;
陆民燕 .
计算机科学, 2011, 38 (02) :127-130
[14]   AUC:: a misleading measure of the performance of predictive distribution models [J].
Lobo, Jorge M. ;
Jimenez-Valverde, Alberto ;
Real, Raimundo .
GLOBAL ECOLOGY AND BIOGEOGRAPHY, 2008, 17 (02) :145-151
[15]  
A Complexity Measure..[J].Thomas J. McCabe.IEEE Trans. Software Eng..1976, 4