返回
Bidirectional Program Dependency-Guided Attention for Improved Method-Level Software Defect Prediction
DOI:10.1002/smr.70115.png)
摘要
En 中文
软件缺陷预测(SDP)是软件工程中的一个活跃研究领域,多年来提出了多种方法以协助从业者识别潜在的软件缺陷。然而,大多数现有SDP方法在粗粒度级别上预测软件缺陷。从业者仍需投入大量时间和精力手动检查大段代码。另一个关键问题在于受代码结构影响的上下文理解。一些SDP方法试图从连续的代码行中学习上下文,但这可能并不总能构成有意义的语义单元。此外,许多SDP研究采用的数据预处理技术可能影响代码语义的保留。本研究提出了一种双向程序依赖引导的注意力缺陷预测(BiPDG-DP),这是一种基于分层Transformer的语言模型,用于方法级别的SDP,该模型通过考虑源到目标和目标到源两个方向上的控制与数据依赖,学习方法级别PDG的上下文信息。基于对九个Java项目32个版本的比较实验结果,本研究提出的方法在非效率感知评估指标上相对其他基线方法提升了11.8%-35.7%,在效率感知评估指标上提升了14.2%-218.5%。
Keyword:
attention mechanism
deep learning
program dependency graph
software defect prediction

