Using Graph Neural Networks for Program Termination
Yoav Alon, Cristina David

TL;DR
This paper explores the use of Graph Neural Networks to estimate program termination behavior and identify nontermination causes, aiding debugging without formal guarantees.
Contribution
It introduces GNN-based classifiers and semantic segmentation models for program termination analysis, moving beyond formal methods to a probabilistic approach.
Findings
GNN classifiers effectively predict program termination.
Semantic segmentation localizes nontermination causes.
Combining segmentation with slicing improves debugging.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
MethodsGraph Neural Network
