Table of Contents
Fetching ...

BAFLineDP: Code Bilinear Attention Fusion Framework for Line-Level Defect Prediction

Shaojian Qiu, Huihao Huang, Jianxiang Luo, Yingjie Kuang, Haoyu Luo

TL;DR

This work tackles the challenge of fine-grained line-level defect prediction by addressing the lack of contextual semantics and local line interactions in prior methods. It introduces BAFLineDP, a code bilinear attention fusion framework that combines CodeBERT-based line embeddings, Bi-GRU line-level context, and a bilinear attention fusion network to capture global and local information for defect localization. Empirical evaluation on 9 open-source projects across 32 releases shows that BAFLineDP outperforms both file-level and line-level baselines in WPDP and CPDP settings, improving AUC, BA, and MCC for file-level predictions and Recall@Top20%LOC alongside reduced Effort@Top20%Recall for line-level predictions. The results demonstrate practical benefits for predicting and prioritizing defective lines, enabling more cost-effective software quality assurance, with code and data publicly available on GitHub.

Abstract

Software defect prediction aims to identify defect-prone code, aiding developers in optimizing testing resource allocation. Most defect prediction approaches primarily focus on coarse-grained, file-level defect prediction, which fails to provide developers with the precision required to locate defective code. Recently, some researchers have proposed fine-grained, line-level defect prediction methods. However, most of these approaches lack an in-depth consideration of the contextual semantics of code lines and neglect the local interaction information among code lines. To address the above issues, this paper presents a line-level defect prediction method grounded in a code bilinear attention fusion framework (BAFLineDP). This method discerns defective code files and lines by integrating source code line semantics, line-level context, and local interaction information between code lines and line-level context. Through an extensive analysis involving within- and cross-project defect prediction across 9 distinct projects encompassing 32 releases, our results demonstrate that BAFLineDP outperforms current advanced file-level and line-level defect prediction approaches.

BAFLineDP: Code Bilinear Attention Fusion Framework for Line-Level Defect Prediction

TL;DR

This work tackles the challenge of fine-grained line-level defect prediction by addressing the lack of contextual semantics and local line interactions in prior methods. It introduces BAFLineDP, a code bilinear attention fusion framework that combines CodeBERT-based line embeddings, Bi-GRU line-level context, and a bilinear attention fusion network to capture global and local information for defect localization. Empirical evaluation on 9 open-source projects across 32 releases shows that BAFLineDP outperforms both file-level and line-level baselines in WPDP and CPDP settings, improving AUC, BA, and MCC for file-level predictions and Recall@Top20%LOC alongside reduced Effort@Top20%Recall for line-level predictions. The results demonstrate practical benefits for predicting and prioritizing defective lines, enabling more cost-effective software quality assurance, with code and data publicly available on GitHub.

Abstract

Software defect prediction aims to identify defect-prone code, aiding developers in optimizing testing resource allocation. Most defect prediction approaches primarily focus on coarse-grained, file-level defect prediction, which fails to provide developers with the precision required to locate defective code. Recently, some researchers have proposed fine-grained, line-level defect prediction methods. However, most of these approaches lack an in-depth consideration of the contextual semantics of code lines and neglect the local interaction information among code lines. To address the above issues, this paper presents a line-level defect prediction method grounded in a code bilinear attention fusion framework (BAFLineDP). This method discerns defective code files and lines by integrating source code line semantics, line-level context, and local interaction information between code lines and line-level context. Through an extensive analysis involving within- and cross-project defect prediction across 9 distinct projects encompassing 32 releases, our results demonstrate that BAFLineDP outperforms current advanced file-level and line-level defect prediction approaches.
Paper Structure (21 sections, 5 equations, 7 figures, 2 tables)

This paper contains 21 sections, 5 equations, 7 figures, 2 tables.

Figures (7)

  • Figure 1: A motivation case of missing line context and local interaction between code lines and line-level context.
  • Figure 2: An overview of our BAFLineDP framework.
  • Figure 3: The process of feature construction with bilinear attention fusion.
  • Figure 4: (For RQ1) The Scott-Knott ESD rankings and the distributions of AUC, BA, and MCC of BAFLineDP and other file-level prediction approaches within the WPDP scenario. The higher ($\nearrow$) the values are, the better the approach is.
  • Figure 5: (For RQ1) The Scott-Knott ESD rankings and the distributions of Recall@Top20%LOC and Effort@Top20%Recall of BAFLineDP and other line-level prediction approaches within the WPDP scenario. The higher ($\nearrow$) or the lower ($\searrow$) the values are, the better the approach is.
  • ...and 2 more figures