English
Related papers

Related papers: Correctness Witness Validation by Abstract Interpr…

200 papers

Static program analysis is a valuable tool for any programming language that people write programs in. The prevalence of scripting languages in the world suggests programming language interpreters are relatively easy to write. Users of…

Programming Languages · Computer Science 2015-05-01 James Ian Johnson

We address the problem of analyzing asynchronous event-driven programs, in which concurrent agents communicate via unbounded message queues. The safety verification problem for such programs is undecidable. We present in this paper a…

Programming Languages · Computer Science 2019-05-27 Peizun Liu , Thomas Wahl , Akash LaL

Training semantic parsers from weak supervision (denotations) rather than strong supervision (programs) complicates training in two ways. First, a large search space of potential programs needs to be explored at training time to find a…

Computation and Language · Computer Science 2019-03-14 Omer Goldman , Veronica Latcinnik , Udi Naveh , Amir Globerson , Jonathan Berant

An uninterpreted program (UP) is a program whose semantics is defined over the theory of uninterpreted functions. This is a common abstraction used in equivalence checking, compiler optimization, and program verification. While simple, the…

Logic in Computer Science · Computer Science 2021-07-28 Hari Govind V K , Sharon Shoham , Arie Gurfinkel

Commutativity of data structure methods is of ongoing interest, with roots in the database community. In recent years commutativity has been shown to be a key ingredient to enabling multicore concurrency in contexts such as parallelizing…

Programming Languages · Computer Science 2020-04-21 Eric Koskinen , Kshitij Bansal

A common technique to verify complex logic specifications for dynamical systems is the construction of symbolic abstractions: simpler, finite-state models whose behaviour mimics the one of the systems of interest. Typically, abstractions…

Systems and Control · Electrical Eng. & Systems 2023-03-30 Rudi Coppola , Andrea Peruffo , Manuel Mazo

As a new programming paradigm, deep neural networks (DNNs) have been increasingly deployed in practice, but the lack of robustness hinders their applications in safety-critical domains. While there are techniques for verifying DNNs with…

Software Engineering · Computer Science 2022-07-05 Jiaxiang Liu , Yunhan Xing , Xiaomu Shi , Fu Song , Zhiwu Xu , Zhong Ming

In deductive verification and software model checking, dealing with certain specification language constructs can be problematic when the back-end solver is not sufficiently powerful or lacks the required theories. One way to deal with this…

Logic in Computer Science · Computer Science 2024-12-10 Jesper Amilon , Zafer Esen , Dilian Gurov , Christian Lidström , Philipp Rümmer , Marten Voorberg

Modern verification tools for deep neural networks (DNNs) increasingly rely on abstraction to scale to realistic architectures. In parallel, proof production is becoming a critical requirement for increasing the reliability of DNN…

Logic in Computer Science · Computer Science 2025-06-12 Yizhak Yisrael Elboher , Omri Isac , Guy Katz , Tobias Ladner , Haoze Wu

Large language models (LLMs) are increasingly used for program verification, and yet little is known about \emph{how} they reason about program semantics during this process. In this work, we focus on abstract interpretation based-reasoning…

Machine Learning · Computer Science 2025-10-01 Jacqueline L. Mitchell , Brian Hyeongseok Kim , Chenyu Zhou , Chao Wang

Verifying whether a procedure is observationally pure is useful in many software engineering scenarios. An observationally pure procedure always returns the same value for the same argument, and thus mimics a mathematical function. The…

Software Engineering · Computer Science 2019-02-15 Himanshu Arora , Raghavan Komondoor , G. Ramalingam

Approximate computing (AC) is an emerging paradigm for energy-efficient computation. The basic idea of AC is to sacrifice high precision for low energy by allowing for hardware which only carries out "approximately correct" calculations.…

Software Engineering · Computer Science 2016-05-10 Tobias Isenberg , Marie-Christine Jakobs , Felix Pauck , Heike Wehrheim

Recent analysis of classical algorithms resulted in their axiomatization as transition systems satisfying some simple postulates, and in the formulation of the Abstract State Machine Theorem, which assures us that any classical algorithm…

Logic in Computer Science · Computer Science 2024-10-15 Andreas Blass , Nachum Dershowitz , Yuri Gurevich

In David Schmidt's PhD work he explored the use of denotational semantics as a programming language. It was part of an effort to not only treat formal semantics as specifications but also as interpreters and input to compiler generators.…

Programming Languages · Computer Science 2013-09-23 Mads Rosendahl

Static analyzers based on abstract interpretation are complex pieces of software implementing delicate algorithms. Even if static analysis techniques are well understood, their implementation on real languages is still error-prone. This…

Programming Languages · Computer Science 2013-05-02 Sandrine Blazy , Vincent Laporte , André Maroneze , David Pichardie

Static analyses overwhelmingly trade precision for soundness and automation. For this reason, their use-cases are restricted to situations where imprecision isn't prohibitive. In this paper, we propose and specify a static analysis that…

Programming Languages · Computer Science 2026-02-10 Abdullah H. Rasheed

The CEGAR loop in software model checking notoriously diverges when the abstraction refinement procedure does not derive a loop invariant. An abstraction refinement procedure based on an SMT solver is applied to a trace, i.e., a restricted…

Logic in Computer Science · Computer Science 2017-02-09 Marius Greitschus , Daniel Dietsch , Andreas Podelski

Refinement transforms an abstract system model into a concrete, executable program, such that properties established for the abstract model carry over to the concrete implementation. Refinement has been used successfully in the development…

Logic in Computer Science · Computer Science 2021-10-27 Aurel Bílý , Christoph Matheja , Peter Müller

We present a new abstract interpretation framework for the precise over-approximation of numerical fixpoint iterators. Our key observation is that unlike in standard abstract interpretation (AI), typically used to over-approximate all…

Machine Learning · Computer Science 2023-04-27 Mark Niklas Müller , Marc Fischer , Robin Staab , Martin Vechev

Type analyses of logic programs which aim at inferring the types of the program being analyzed are presented in a unified abstract interpretation-based framework. This covers most classical abstract interpretation-based type analyzers for…

Software Engineering · Computer Science 2009-09-29 Claudio Vaucheret , Francisco Bueno