English
Related papers

Related papers: Abstract Interpretation as a Programming Language

200 papers

In this functional pearl, we examine the use of definitional interpreters as a basis for abstract interpretation of higher-order programming languages. As it turns out, definitional interpreters, especially those written in monadic style,…

Programming Languages · Computer Science 2017-07-18 David Darais , Nicholas Labich , Phuc C. Nguyen , David Van Horn

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

Discrete mathematics is the foundation of computer science. It focuses on concepts and reasoning methods that are studied using math notations. It has long been argued that discrete math is better taught with programming, which takes…

Computers and Society · Computer Science 2021-10-07 Yanhong A. Liu , Matthew Castelllana

Many abstract interpretation frameworks and analyses for Prolog have been proposed, which seek to extract information useful for program optimization. Although motivated by practical considerations, notably making Prolog competitive with…

Logic in Computer Science · Computer Science 2025-06-18 Baudouin Le Charlier , Sabina Rossi , Pascal Van Hentenryck

Automatic code transformation in which transformations are tuned for specific applications and contexts are difficult to achieve in an accessible manner. In this paper, we present an approach to build application specific code…

Programming Languages · Computer Science 2013-01-21 Matthew J. Sottile , Geoffrey C. Hulette

We propose a method for automatically generating abstract transformers for static analysis by abstract interpretation. The method focuses on linear constraints on programs operating on rational, real or floating-point variables and…

Programming Languages · Computer Science 2010-07-28 David Monniaux

We describe a derivational approach to abstract interpretation that yields novel and transparently sound static analyses when applied to well-established abstract machines for higher-order and imperative programming languages. To…

Programming Languages · Computer Science 2011-07-19 David Van Horn , Matthew Might

We design various logics for proving hyper properties of iterative programs by application of abstract interpretation principles. In part I, we design a generic, structural, fixpoint abstract interpreter parameterized by an algebraic…

Logic in Computer Science · Computer Science 2024-11-19 Patrick Cousot , Jeffery Wang

The use of terms from natural and social scientific titles and abstracts is studied from the perspective of sublanguages and their specialized dictionaries. Different notions of sublanguage distinctiveness are explored. Objective methods…

cmp-lg · Computer Science 2008-02-03 Robert M. Losee , Stephanie W. Haas

Model transformation tools assist system designers by reducing the labor--intensive task of creating and updating models of various aspects of systems, ensuring that modeling assumptions remain consistent across every model of a system, and…

Systems and Control · Computer Science 2019-07-02 Natasha Jarus , Sahra Sedigh Sarvestani , Ali Hurson

Abstract interpretation techniques can be made more precise by distinguishing paths inside loops, at the expense of possibly exponential complexity. SMT-solving techniques and sparse representations of paths and sets of paths avoid this…

Programming Languages · Computer Science 2012-06-20 Julien Henry , David Monniaux , Matthieu Moy

We propose a method for automatically generating abstract transformers for static analysis by abstract interpretation. The method focuses on linear constraints on programs operating on rational, real or floating-point variables and…

Logic in Computer Science · Computer Science 2019-03-14 David Monniaux

We present Executable Abstract Programs and analyse their role for software development and documentation. The intuitive understanding of these programs fits the computational mindset of software system engineers and is supported by a…

Software Engineering · Computer Science 2022-09-15 Egon Boerger

To put static program analysis at the fingertips of the software developer, we propose a framework for interactive abstract interpretation. While providing sound analysis results, abstract interpretation in general can be quite costly. To…

Programming Languages · Computer Science 2022-11-28 Julian Erhard , Simmo Saan , Sarah Tilscher , Michael Schwarz , Karoliine Holter , Vesal Vojdani , Helmut Seidl

We provide here a computational interpretation of first-order logic based on a constructive interpretation of satisfiability w.r.t. a fixed but arbitrary interpretation. In this approach the formulas themselves are programs. This contrasts…

Logic in Computer Science · Computer Science 2007-05-23 Krzysztof R. Apt , Marc Bezem

Abstraction is a well-known approach to simplify a complex problem by over-approximating it with a deliberate loss of information. It was not considered so far in Answer Set Programming (ASP), a convenient tool for problem solving. We…

Logic in Computer Science · Computer Science 2021-07-01 Zeynep G. Saribatur , Thomas Eiter

We consider the problem of synthesizing programs with numerical constants that optimize a quantitative objective, such as accuracy, over a set of input-output examples. We propose a general framework for optimal synthesis of such programs…

Programming Languages · Computer Science 2026-02-17 Stephen Mell , Steve Zdancewic , Osbert Bastani

A typical way of analyzing the time complexity of functional programs is to extract a recurrence expressing the running time of the program in terms of the size of its input, and then to solve the recurrence to obtain a big-O bound. For…

Programming Languages · Computer Science 2020-08-03 Joseph W. Cutler , Daniel R. Licata , Norman Danner

We present a new approach to automated reasoning about higher-order programs by extending symbolic execution to use behavioral contracts as symbolic values, enabling symbolic approximation of higher-order behavior. Our approach is based on…

Programming Languages · Computer Science 2012-04-27 Sam Tobin-Hochstadt , David Van Horn

Semantics of logic programs has been given by proof theory, model theory and by fixpoint of the immediate-consequence operator. If clausal logic is a programming language, then it should also have a compositional semantics. Compositional…

Programming Languages · Computer Science 2007-05-23 M. H. van Emden