Detecting Condition-Related Bugs with Control Flow Graph Neural Network
Automated bug detection is essential for high-quality software development and has attracted much attention over the years. Among the various bugs, previous studies show that the condition expressions are quite error-prone and the condition-related bugs are commonly found in practice. Traditional approaches to automated bug detection are usually limited to compilable code and require tedious manual effort. Recent deep learning-based work tends to learn general syntactic features based on Abstract Syntax Tree (AST) or apply the existing Graph Neural Networks over program graphs. However, AST-based neural models may miss important control flow information of source code, and existing Graph Neural Networks for bug detection tend to learn local neighbourhood structure information. Generally, the condition-related bugs are highly influenced by control flow knowledge, therefore we propose a novel CFG-based Graph Neural Network (CFGNN) to automatically detect condition-related bugs, which includes a graph-structured LSTM unit to efficiently learn the control flow knowledge and long-distance context information.
We also adopt the API-usage attention mechanism to leverage the API knowledge. To evaluate the proposed approach, we collect real-world bugs in popular GitHub repositories and build a large-scale condition-related bug dataset. The experimental results show that our proposed approach significantly outperforms the state-of-the-art methods for detecting condition-related bugs.
Tue 18 JulDisplayed time zone: Pacific Time (US & Canada) change
15:30 - 17:00 | ISSTA Online 1: SE and Deep LearningTechnical Papers at Smith Classroom (Gates G10) Chair(s): Myra Cohen Iowa State University | ||
15:30 10mTalk | COME: Commit Message Generation with Modification Embedding Technical Papers Yichen He Beihang University, Liran Wang Beihang University, Kaiyi Wang Beihang University, Yupeng Zhang Beihang University, Hang Zhang Beihang University, Zhoujun Li Beihang University DOI | ||
15:40 10mTalk | CODEP: Grammatical Seq2Seq Model for General-Purpose Code Generation Technical Papers DOI Pre-print | ||
15:50 10mTalk | Towards More Realistic Evaluation for Neural Test Oracle Generation Technical Papers DOI Pre-print | ||
16:00 10mTalk | Detecting Condition-Related Bugs with Control Flow Graph Neural Network Technical Papers Jian Zhang Beihang University, Xu Wang Beihang University, Hongyu Zhang Chongqing University, Hailong Sun Beihang University, Xudong Liu Beihang University, Chunming Hu Beihang University, Yang Liu Nanyang Technological University DOI | ||
16:10 10mTalk | RefBERT: A Two-Stage Pre-trained Framework for Automatic Rename Refactoring Technical Papers Hao Liu Xiamen University, Yanlin Wang Sun Yat-sen University, Zhao Wei Tencent, Yong Xu Tencent, Juhong Wang Tencent, Hui Li Xiamen University, Rongrong Ji Xiamen University DOI Pre-print | ||
16:20 10mTalk | Interpreters for GNN-Based Vulnerability Detection: Are We There Yet? Technical Papers Yutao Hu Huazhong University of Science and Technology, Suyuan Wang Huazhong University of Science and Technology, Wenke Li Huazhong University of Science and Technology, Junru Peng Wuhan University, Yueming Wu Nanyang Technological University, Deqing Zou Huazhong University of Science and Technology, Hai Jin Huazhong University of Science and Technology DOI | ||
16:30 10mTalk | Towards Efficient Fine-Tuning of Pre-trained Code Models: An Experimental Study and Beyond Technical Papers Ensheng Shi Xi’an Jiaotong University, Yanlin Wang Sun Yat-sen University, Hongyu Zhang Chongqing University, Lun Du Microsoft Research, Shi Han Microsoft Research, Dongmei Zhang Microsoft Research, Hongbin Sun Xi’an Jiaotong University DOI |