10.19678/j.issn.1000-3428.0060389
基于重子节点抽象语法树的软件缺陷预测
在实际软件项目开发过程中,软件缺陷预测能辅助测试人员找到项目中可能存在缺陷的位置,并通过抽象语法树(AST)获取项目模块中隐藏的结构和语义信息,此类信息有助于提高缺陷预测精度.提出基于重子节点抽象语法树的缺陷预测方法,在提取节点信息时保留节点的类型信息和对应代码语义的值信息,并使用特殊字符串代替没有值信息的节点.通过树链剖分思想将AST分割为重子节点和轻子节点,优先选择重子节点作为序列化向量中的节点,同时利用深度学习网络学习节点序列中的源代码结构和语言实现软件缺陷预测.实验结果表明,与DFS方法相比,该方法在基于注意力机制的循环神经网络深度学习模型上的F1值和AUC值平均提升约3%和4%,具有更好的缺陷预测效果.
软件质量保障;软件缺陷预测;代码表征;抽象语法树;深度学习
47
TP311(计算技术、计算机技术)
国家自然科学基金;上海市浦江人才计划;上海市自然科学基金;华东理工大学教育科研基金
2021-12-20(万方平台首次上网日期,不代表论文的发表时间)
共7页
230-235,248