English
Related papers

Related papers: Abstract interpretation as anti-refinement

200 papers

Alternation of forward and backward analyses is a standard technique in abstract interpretation of programs, which is in particular useful when we wish to prove unreachability of some undesired program states. The current state-of-the-art…

Programming Languages · Computer Science 2017-08-08 Alexey Bakhirkin , David Monniaux

Program slicing provides explanations that illustrate how program outputs were produced from inputs. We build on an approach introduced in prior work by Perera et al., where dynamic slicing was defined for pure higher-order functional…

Programming Languages · Computer Science 2017-09-12 Wilmer Ricciotti , Jan Stolarek , Roly Perera , James Cheney

Mechanistic interpretability aims to reverse engineer neural networks by uncovering which high-level algorithms they implement. Causal abstraction provides a precise notion of when a network implements an algorithm, i.e., a causal model of…

Machine Learning · Computer Science 2025-03-17 Theodora-Mara Pîslar , Sara Magliacane , Atticus Geiger

Abstract argumentation is a popular toolkit for modeling, evaluating, and comparing arguments. Relationships between arguments are specified in argumentation frameworks (AFs), and conditions are placed on sets (extensions) of arguments that…

Artificial Intelligence · Computer Science 2024-08-21 Johannes K. Fichte , Markus Hecher , Yasir Mahmood , Arne Meier

The functional correspondence is a manual derivation technique transforming higher-order evaluators into the semantically equivalent abstract machines. The transformation consists of two well-known program transformations: translation to…

Programming Languages · Computer Science 2021-08-17 Maciej Buszka , Dariusz Biernacki

Refinement types enable lightweight verification of functional programs. Algorithms for statically inferring refinement types typically work by reduction to solving systems of constrained Horn clauses extracted from typing derivations. An…

Programming Languages · Computer Science 2020-11-11 Zvonimir Pavlinovic , Yusen Su , Thomas Wies

Abstract interpretation is a method to automatically find invariants of programs or pieces of code whose semantics is given via least fixed-points. Up-to techniques have been introduced as enhancements of coinduction, an abstract principle…

Logic in Computer Science · Computer Science 2018-05-03 Filippo Bonchi , Pierre Ganty , Roberto Giacobazzi , Dusko Pavlovic

Static analysis by abstract interpretation is generally designed to be "sound", that is, it should not claim to establish properties that do not hold-in other words, not provide "false negatives" about possible bugs. A rarer requirement is…

Programming Languages · Computer Science 2024-12-11 David Monniaux

Writing parallel codes is difficult and exhibits a fundamental trade-off between abstraction and performance. The high level language abstractions designed to simplify the complexities of parallelism make certain assumptions that impacts…

Programming Languages · Computer Science 2020-10-28 Nick Brown , Ludovic Capelli , J. Mark Bull

Stepwise refinement of algebraic specifications is a well known formal methodology for program development. However, traditional notions of refinement based on signature morphisms are often too rigid to capture a number of relevant…

Logic in Computer Science · Computer Science 2015-07-01 Manuel A. Martins , Alexandre Madeira , Luis S. Barbosa

For engineering software with formal correctness proofs it is crucial that proofs can be efficiently reused in case the software or its specification is changed. Unfortunately, in reality even slight changes in the code or its specification…

Software Engineering · Computer Science 2015-01-20 Maria Pelevina

This paper develops a proof-theoretic framework for abstract interpretation by systematically associating logical systems with finite abstractions. Building on earlier work on the internal logics of abstractions, we propose a general…

Logic in Computer Science · Computer Science 2026-05-27 Vijay D'Silva , Alessandra Palmigiano , Apostolos Tzimoulis , Caterina Urban

A key challenge in example-based program synthesis is the gigantic search space of programs. To address this challenge, various work proposed to use abstract interpretation to prune the search space. However, most of existing approaches…

Programming Languages · Computer Science 2023-04-24 Yongho Yoon , Woosuk Lee , Kwangkeun Yi

Abstract interpretation offers a powerful toolset for static analysis, tackling precision, complexity and state-explosion issues. In the literature, state partitioning abstractions based on (bi)simulation and property-preserving state…

Logic in Computer Science · Computer Science 2025-06-09 Paolo Baldan , Roberto Bruni , Francesco Ranzato , Diletta Rigo

Matrix Code gives imperative programming a mathematical semantics and heuristic power comparable in quality to functional and logic programming. A program in Matrix Code is developed incrementally from a specification in pre/post-condition…

Programming Languages · Computer Science 2013-02-26 M. H. van Emden

We provide a novel notion of what it means to be interpretable, looking past the usual association with human understanding. Our key insight is that interpretability is not an absolute concept and so we define it relative to a target model,…

Artificial Intelligence · Computer Science 2017-07-14 Amit Dhurandhar , Vijay Iyengar , Ronny Luss , Karthikeyan Shanmugam

Developing suitable formal semantics can be of great help in the understanding, design and implementation of a programming language, and act as a guide for software development tools like analyzers or partial evaluators. In this sense, full…

Logic in Computer Science · Computer Science 2010-02-16 F. J. López-Fraguas , J. Rodríguez-Hortalá

Automatic differentiation plays a prominent role in scientific computing and in modern machine learning, often in the context of powerful programming systems. The relation of the various embodiments of automatic differentiation to the…

Programming Languages · Computer Science 2020-02-04 Martin Abadi , Gordon D. Plotkin

Mechanistic interpretability aims to explain neural model behaviour by reverse-engineering learned computational structure into human-understandable components. Without a formal framework, however, mechanistic explanations cannot be…

Machine Learning · Computer Science 2026-05-12 Ward Gauderis , Thomas Dooms , Steven T. Holmer , Kola Ayonrinde , Geraint A. Wiggins

The technique of abstracting abstract machines (AAM) provides a systematic approach for deriving computable approximations of evaluators that are easily proved sound. This article contributes a complementary step-by-step process for…

Programming Languages · Computer Science 2013-07-25 J. Ian Johnson , Nicholas Labich , Matthew Might , David Van Horn