paper-with-me

Papers

Using Graph Neural Networks for Program Termination

2022-07-28 · 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.

📄 PDF Abstract BibTeX arXiv:2207.14648

Code (0)

등록된 구현이 없습니다.

Tasks

Graph AttentionGraph Neural NetworkSegmentationSemantic Segmentation

Methods 이 논문이 사용한 방법론

Graph Neural Network 설명 없음

Similar Papers 제목 키워드 기반

LLMs versus the Halting Problem: Characterizing Program Termination Reasoning

2026-01-26 · Oren Sultan, Jordi Armengol-Estape, Pascal Kesseli, Julien Vanegue 외 arxiv

Determining whether a program terminates is a central problem in computer science. Turing's Halting Problem established termination as undecidable, showing that no algorithm can universally determine termination for all …

Transformers for Program Termination

2026-03-25 · Yoav Alon, Cristina David arxiv

Determining whether a program terminates is a core challenge in program analysis with direct implications for correctness, verification, and security. We investigate whether transformer architectures can recognise termin…

NMR Assignment through Linear Programming

2020-08-09 · Jose F. S. Bravo-Ferreira, David Cowburn, Yuehaw Khoo, Amit Singer

Nuclear Magnetic Resonance (NMR) Spectroscopy is the second most used technique (after X-ray crystallography) for structural determination of proteins. A computational challenge in this technique involves solving a discr…

Neural Termination Analysis

2021-02-07 · Mirco Giacobbe, Daniel Kroening, Julian Parsert

We introduce a novel approach to the automated termination analysis of computer programs: we use neural networks to represent ranking functions. Ranking functions map program states to values that are bounded from below …

Human-AI Programming Role Optimization: Developing a Personality-Driven Self-Determination Framework

2025-11-01 · Marcel Valovy arxiv

As artificial intelligence transforms software development, a critical question emerges: how can developers and AI systems collaborate most effectively? This dissertation optimizes human-AI programming roles through self…