Using graph neural networks for program termination
Yoav Alon, Cristina David
摘要
Termination analyses investigate the termination behavior of programs, intending to detect nontermination, which is known to cause a variety of program bugs (e.g. hanging programs, denial-of-service vulnerabilities). Beyond formal approaches, various attempts have been made to estimate the termination behavior of programs using neural networks. However, the majority of these approaches continue to rely on formal methods to provide strong soundness guarantees and consequently suffer from similar limitations. In this paper, we move away from formal methods and embrace the stochastic nature of machine learning models. Instead of aiming for rigorous guarantees that can be interpreted by solvers, our objective is to provide an estimation of a program's termination behavior and of the likely reason for nontermination (when applicable) that a programmer can use for debugging purposes. Compared to previous approaches using neural networks for program termination, we also take advantage of the graph representation of programs by employing Graph Neural Networks. To further assist programmers in understanding and debugging nontermination bugs, we adapt the notions of attention and semantic segmentation, previously used for other application domains, to programs. Overall, we designed and implemented classifiers for program termination based on Graph Convolutional Networks and Graph Attention Networks, as well as a semantic segmentation Graph Neural Network that localizes AST nodes likely to cause nontermination. We also illustrated how the information provided by semantic segmentation can be combined with program slicing to further aid debugging.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper3
- Neural termination analysisMirco Giacobbe, Daniel Kroening, Julian ParsertFSE 2022 · 被引用 16 次
- Let a Neural Network be Your InvariantMirco Giacobbe, Daniel Kroening, Abhinandan Pal, Michael TautschnigNeurIPS 2025 · 被引用 6 次
- Integrating Large Language Models and Reinforcement Learning for Non-linear ReasoningYoav Alon, Cristina DavidFSE 2025 · 被引用 2 次
它引用的顶会 Paper10
- Towards Deeper Graph Neural NetworksMeng Liu, Hongyang Gao, Shuiwang JiKDD 2020 · 被引用 496 次
- Graph Convolutional Networks with Markov Random Field Reasoning for Social Spammer DetectionYongji Wu, Defu Lian, Yiheng Xu, Le Wu 等AAAI 2020 · 被引用 194 次
- Self-Supervised Bug Detection and RepairMiltiadis Allamanis, Henry Jackson-Flux, Marc BrockschmidtNeurIPS 2021 · 被引用 145 次
- LambdaNet: Probabilistic Type Inference using Graph Neural NetworksJiayi Wei, Maruth Goyal, Greg Durrett, Isil DilligICLR 2020 · 被引用 119 次
- Learning to Execute Programs with Instruction Pointer Attention Graph Neural NetworksDavid Bieber, Charles Sutton, Hugo Larochelle, Daniel TarlowNeurIPS 2020 · 被引用 51 次
相关 Paper
- EndWatch: A Practical Method for Detecting Non-Termination in Real-World SoftwareYao Zhang, Xiaofei Xie, Yi Li, Sen Chen 等ASE 2023 · 被引用 4 次
- Learning Probabilistic Termination ProofsAlessandro Abate, Mirco Giacobbe, Diptarko RoyCAV 2021 · 被引用 26 次
- Large-scale analysis of non-termination bugs in real-world OSS projectsXiuhan Shi, Xiaofei Xie, Yi Li, Yao Zhang 等FSE 2022 · 被引用 12 次
- Termination analysis without the tearsShaowei Zhu, Zachary KincaidPLDI 2021 · 被引用 16 次
- Detecting Condition-Related Bugs with Control Flow Graph Neural NetworkJian Zhang, Xu Wang, Hongyu Zhang, Hailong Sun 等ISSTA 2023 · 被引用 19 次
