计算机科学
语句(逻辑)
软件
安全性令牌
平滑的
编码(集合论)
判决
召回
变压器
度量(数据仓库)
精确性和召回率
人工智能
源代码
自然语言处理
数据挖掘
程序设计语言
工程类
计算机安全
计算机视觉
集合(抽象数据类型)
电压
法学
哲学
电气工程
语言学
政治学
作者
Yulei Zhu,Yufeng Zhang,Zhenbang Chen
标识
DOI:10.1142/s0218126623501839
摘要
Engineers use software defect prediction (SDP) to locate vulnerable areas of software. Recently, statement-level SDP has attracted the attention of researchers due to its ability to localize faulty code areas. This paper proposes DP-Tramo, a new model dedicated to improving the state-of-the-art statement-level SDP. We use Clang to extract abstract syntax trees from source code and extract 32 statement-level metrics as static features for each sentence. Then we feed static features and token sequences as inputs to our improved R-Transformer to learn the syntactic and semantic features of the code. Furthermore, we use label smoothing and weighted loss to improve the performance of DP-Tramo. To evaluate DP-Tramo, we perform a 10-fold cross-validation on 119,989 C/C++ programs selected from Code4Bench. Experimental results show that DP-Tramo can classify the dataset with an average performance of 0.949, 0.602, 0.734 and 0.737 regarding the recall, precision, accuracy and F1-measure, respectively. DP-Tramo outperforms the baseline method on F1-measure by 1.2% while maintaining a high recall rate.
科研通智能强力驱动
Strongly Powered by AbleSci AI