English
Related papers

Related papers: Interactive Abstract Interpretation: Reanalyzing W…

200 papers

In our times, when the world is increasingly becoming more dependent on software programs, writing bug-free, correct programs is crucial. Program verification based on formal methods can guarantee this by detecting run-time errors in…

Programming Languages · Computer Science 2024-03-21 Rajendra Kumar Solanki

We propose a constraint-based flow-sensitive static analysis for concurrent programs by iteratively composing thread-modular abstract interpreters via the use of a system of lightweight constraints. Our method is compositional in that it…

Programming Languages · Computer Science 2017-10-02 Markus Kusano , Chao Wang

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

The use of formal analysis tools on models or source code often requires the availability of auxiliary invariants about the studied system. Abstract interpretation is currently one of the best approaches to discover useful invariants,…

Logic in Computer Science · Computer Science 2015-03-20 Pierre-Loïc Garoche , Temesghen Kahsai , Cesare Tinelli

This article shows a correspondence between abstract interpretation of imperative programs and the refinement calculus: in the refinement calculus, an abstract interpretation of a program is a specification which is a function. This…

Programming Languages · Computer Science 2014-06-16 Arnaud Spiwack

We describe a derivational approach to abstract interpretation that yields novel and transparently sound static analyses when applied to well-established abstract machines. To demonstrate the technique and support our claim, we transform…

Programming Languages · Computer Science 2010-09-09 David Van Horn , Matthew Might

Data leakage is a well-known problem in machine learning. Data leakage occurs when information from outside the training dataset is used to create a model. This phenomenon renders a model excessively optimistic or even useless in the real…

Programming Languages · Computer Science 2024-08-07 Filip Drobnjaković , Pavle Subotić , Caterina Urban

Static analysis techniques enhance the security, performance, and reliability of programs by analyzing and portraiting program behaviors without the need for actual execution. In essence, static analysis takes the Intermediate…

Programming Languages · Computer Science 2024-05-22 Bowen Zhang , Wei Chen , Hung-Chun Chiu , Charles Zhang

CiaoPP is an analyzer and optimizer for logic programs, part of the Ciao Prolog system. It includes PLAI, a fixpoint algorithm for the abstract interpretation of logic programs which we adapt to use tabled constraint logic programming. In…

Programming Languages · Computer Science 2019-08-02 Joaquin Arias , Manuel Carro

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

To harness the potential of advanced computing technologies, efficient (real time) analysis of large amounts of data is as essential as are front-line simulations. In order to optimise this process, experts need to be supported by…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-07-03 Jovana Knežević , Ralf-Peter Mundani , Ernst Rank

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 program analysis by abstract interpretation is an efficient method to determine properties of embedded software. One example is value analysis, which determines the values stored in the processor registers. Its results are used as…

Logic in Computer Science · Computer Science 2011-11-09 Reinhold Heckmann , Christian Ferdinand

We give thread-modular non-relational value analyses as abstractions of a local trace semantics. The semantics as well as the analyses are formulated by means of global invariants and side-effecting constraint systems. We show that a…

Programming Languages · Computer Science 2021-08-18 Michael Schwarz , Simmo Saan , Helmut Seidl , Kalmer Apinis , Julian Erhard , Vesal Vojdani

The design and implementation of precise static analyzers for significant fragments of modern imperative languages like C, C++, Java and Python is a challenging problem. In this paper, we consider a core imperative language that has several…

Programming Languages · Computer Science 2007-06-28 Roberto Bagnara , Patricia M. Hill , Andrea Pescetti , Enea Zaffanella

The relationship between abstract interpretation and partial deduction has received considerable attention and (partial) integrations have been proposed starting from both the partial deduction and abstract interpretation perspectives. In…

Programming Languages · Computer Science 2007-05-23 German Puebla , Elvira Albert , Manuel Hermenegildo

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 interpreters are complex pieces of software: even if the abstract interpretation theory and companion algorithms are well understood, their implementations are subject to bugs, that might question the soundness of their…

Programming Languages · Computer Science 2021-10-19 Lucas Franceschino , David Pichardie , Jean-Pierre Talpin

Nowadays, as machine-learned software quickly permeates our society, we are becoming increasingly vulnerable to programming errors in the data pre-processing or training software, as well as errors in the data itself. In this paper, we…

Programming Languages · Computer Science 2020-07-22 Caterina Urban

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