Detecting Condition-Related Bugs with Control Flow Graph Neural Network

Control flow Leverage (statistics) Control flow graph Software bug Call graph Program comprehension Knowledge graph
DOI: 10.1145/3597926.3598142 Publication Date: 2023-07-13T20:12:53Z
ABSTRACT
Automated bug detection is essential for high-quality software development and has attracted much attention over the years. Among various bugs, previous studies show that condition expressions are quite error-prone condition-related bugs commonly found in practice. Traditional approaches to automated usually limited compilable code require tedious manual effort. Recent deep learning-based work tends learn general syntactic features based on Abstract Syntax Tree (AST) or apply existing Graph Neural Networks program graphs. However, AST-based neural models may miss important control flow information of source code, tend local neighbourhood structure information. Generally, highly influenced by knowledge, therefore we propose a novel CFG-based Network (CFGNN) automatically detect which includes graph-structured LSTM unit efficiently knowledge long-distance context We also adopt API-usage mechanism leverage API knowledge. To evaluate proposed approach, collect real-world popular GitHub repositories build large-scale dataset. The experimental results our approach significantly outperforms state-of-the-art methods detecting bugs.
SUPPLEMENTAL MATERIAL
Coming soon ....
REFERENCES (60)
CITATIONS (9)
EXTERNAL LINKS
PlumX Metrics
RECOMMENDATIONS
FAIR ASSESSMENT
Coming soon ....
JUPYTER LAB
Coming soon ....