Abstract

We study the problem of how to compute the boolean abstraction of the solution set of a linear equation system over the positive reals. We call a linear equation system ϕ exact for the boolean abstraction if the abstract interpretation of ϕ over the structure of booleans is equal to the boolean abstraction of the solution set of ϕ over the positive reals. Abstract interpretation over the booleans is thus complete for the boolean abstraction when restricted to exact linear equation systems, while it is not complete more generally. We present a new rewriting algorithm that makes linear equation systems exact for the boolean abstraction while preserving the solutions over the positive reals. The rewriting algorithm is based on the elementary modes of the linear equation system. The computation of the elementary modes may require exponential time in the worst case, but is often feasible in practice with freely available tools. For exact linear equation systems, we can compute the boolean abstraction by finite domain constraint programming. This yields a solution of the initial problem that is often feasible in practice. Our exact rewriting algorithm has two further applications. Firstly, it can be used to compute the sign abstraction of linear equation systems over the reals, as needed for analyzing function programs with linear arithmetics. Secondly, it can be applied to compute the difference abstraction of a linear equation system as used in change prediction algorithms for flux networks in systems biology.

Highlights

  • We develop approaches to remedy the incompleteness of abstract interpretation [1]of linear equation systems over the reals, in the algebra of booleans B = {0, 1} and the structure of signs S = {−1, 0, 1}

  • The concrete interpretation of a first-order formula φ is the set of concrete solutions sol S (φ), and its abstract interpretation is the set of its abstract solutions sol ∆ (φ)

  • We present an algorithm for computing the sign abstraction of systems of linear equations based on exact rewriting for the boolean abstraction (Theorem 6)

Read more

Summary

Introduction

We develop approaches to remedy the incompleteness of abstract interpretation [1]. of linear equation systems over the reals, in the algebra of booleans B = {0, 1} and the structure of signs S = {−1, 0, 1}. Of linear equation systems over the reals, in the algebra of booleans B = {0, 1} and the structure of signs S = {−1, 0, 1}. The soundness of abstract interpretations of first-order logic formulas without negation was shown by John [6,7,8,9]. It applies to the interpretation in any concrete structure S, as long as it is connected by a homomorphism h : S → ∆ to the abstract structure ∆. The sign abstraction extends on the boolean abstraction while mapping all strictly negative reals to −1. We note that the structure of signs S is not an algebra since the sum of a positive and a negative number may have any sign

Problematics
Contributions
Related Work
Outline
Homomorphisms on Σ-Structures
Σ-Algebras
Σ-Structures
Homomorphisms
Expressions
Logic Formulas
Examples
Semantic Properties of Free and Bound Variables
John’s Overapproximation for Σ-Abstractions
Exactness of Σ-Formulas for Σ-Abstractions
Soundness and Completeness of Abstract Interpretation
Galois Connection
Classes of Equation Systems
Linear Equation Systems and Elementary Modes
Invariance
Decomposition
Positivity
Computing Sign Abstractions
10. Application to Program Analysis
11. Example for the Overapproximation of the Sign Abstraction
12. Conclusions and Future Work
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call