English
Related papers

Related papers: Non-Termination Analysis of Java Bytecode

200 papers

Since many real-world problems arising in the fields of compiler optimisation, automated software engineering, formal proof systems, and so forth are equivalent to the Halting Problem--the most notorious undecidable problem--there is a…

Information Theory · Computer Science 2007-07-13 Cristian S. Calude , Michael A. Stay

Program termination is a hot research topic in program analysis. The last few years have witnessed the development of termination analyzers for programming languages such as C and Java with remarkable precision and performance. These…

Programming Languages · Computer Science 2013-07-26 Roberto Bagnara , Fred Mesnard

Tiwari proved that termination of linear programs (loops with linear loop conditions and updates) over the reals is decidable through Jordan forms and eigenvectors computation. Braverman proved that it is also decidable over the integers.…

Logic in Computer Science · Computer Science 2009-04-24 Bican Xia , Zhihai Zhang

There is growing interest in termination reasoning for non-linear programs and, meanwhile, recent dynamic strategies have shown they are able to infer invariants for such challenging programs. These advances led us to hypothesize that…

Programming Languages · Computer Science 2020-10-13 Ton Chanh Le , Timos Antonopoulos , Parisa Fathololumi , Eric Koskinen , ThanhVu Nguyen

We present a method for verifying partial correctness properties of imperative programs that manipulate integers and arrays by using techniques based on the transformation of constraint logic programs (CLP). We use CLP as a metalanguage for…

Programming Languages · Computer Science 2013-09-23 Emanuele De Angelis , Fabio Fioravanti , Alberto Pettorossi , Maurizio Proietti

We present a static deadlock analysis approach for C/pthreads. The design of our method has been guided by the requirement to analyse real-world code. Our approach is sound (i.e., misses no deadlocks) for programs that have defined…

Programming Languages · Computer Science 2016-07-26 Daniel Kroening , Daniel Poetzl , Peter Schrammel , Björn Wachter

The termination behavior of probabilistic programs depends on the outcomes of random assignments. Almost sure termination (AST) is concerned with the question whether a program terminates with probability one on all possible inputs.…

Programming Languages · Computer Science 2021-01-29 Marcel Moosbrugger , Ezio Bartocci , Joost-Pieter Katoen , Laura Kovács

From the beginning, the GraphBLAS were designed for ``nonblocking execution''; i.e., calls to GraphBLAS methods return as soon as the arguments to the methods are validated and define a directed acyclic graph (DAG) of GraphBLAS operations.…

Mathematical Software · Computer Science 2025-11-19 Pascal Costanza , Timothy G. Mattson , Raye Kimmerer , Benjamin Brock

In this paper, we define two particular forms of non-termination, namely loops and binary chains, in an abstract framework that encompasses term rewriting and logic programming. The definition of loops relies on the notion of compatibility…

Logic in Computer Science · Computer Science 2023-12-22 Etienne Payet

Universal probabilistic programming languages (PPLs) make it relatively easy to encode and automatically solve statistical inference problems. To solve inference problems, PPL implementations often apply Monte Carlo inference algorithms…

Programming Languages · Computer Science 2024-04-08 Daniel Lundén , Lars Hummelgren , Jan Kudlicka , Oscar Eriksson , David Broman

Proving program termination is key to guaranteeing absence of undesirable behaviour, such as hanging programs and even security vulnerabilities such as denial-of-service attacks. To make termination checks scale to large systems,…

Software Engineering · Computer Science 2015-05-19 Hong-Yi Chen , Cristina David , Daniel Kroening , Peter Schrammel , Björn Wachter

There are many techniques and tools for termination of C programs, but up to now they were not very powerful for termination proofs of programs whose termination depends on recursive data structures like lists. We present the first approach…

Logic in Computer Science · Computer Science 2023-07-21 Jera Hensel , Jürgen Giesl

Static analysis is the analysis of a program without executing it, usually carried out by an automated tool. Symbolic execution is a popular static analysis technique used both in program verification and in bug detection software. It works…

Software Engineering · Computer Science 2024-08-06 Gabor Horvath , Reka Kovacs , Zoltan Porkolab

This paper demonstrates how certified computational tools can be used to address various problems in control theory. In particular, we introduce PACE.jl, a Julia package that implements symbolic elimination techniques, including (among…

Symbolic Computation · Computer Science 2025-05-15 Alexander Demin , Christina Katsamaki , Fabrice Rouillier

Provably correct software is one of the key challenges in our softwaredriven society. While formal verification establishes the correctness of a given program, the result of program synthesis is a program which is correct by construction.…

Logic in Computer Science · Computer Science 2021-03-08 Andreas Humenberger , Laura Kovacs

A simple linear loop is a simple while loop with linear assignments and linear loop guards. If a simple linear loop has only two program variables, we give a complete algorithm for computing the set of all the inputs on which the loop does…

Logic in Computer Science · Computer Science 2015-03-20 Liyun Dai , Bican Xia

We present a novel approach to termination analysis. In a first step, the analysis uses a program as a black-box which exhibits only a finite set of sample traces. Each sample trace is infinite but can be represented by a finite lasso. The…

Logic in Computer Science · Computer Science 2022-10-18 Matthias Heizmann , Jochen Hoenicke , Andreas Podelski

Termination is an important and well-studied property for logic programs. However, almost all approaches for automated termination analysis focus on definite logic programs, whereas real-world Prolog programs typically use the cut operator.…

Logic in Computer Science · Computer Science 2010-07-29 Peter Schneider-Kamp , Jürgen Giesl , Thomas Ströder , Alexander Serebrenik , René Thiemann

There are many techniques and tools to prove termination of C programs, but up to now these tools were not very powerful for fully automated termination proofs of programs whose termination depends on recursive data structures like lists.…

Logic in Computer Science · Computer Science 2023-06-06 Jera Hensel , Jürgen Giesl

Since decade understanding of programs has become a compulsory task for the students as well as for others who are involved in the process of developing software and providing solutions to open problems. In that aspect showing the problem…

Software Engineering · Computer Science 2017-08-25 Safeeullah Soomro , Zainab Alansari , Mohammad Riyaz Belgaum