# Different Maps for Different Uses. A Program Transformation for   Intermediate Verification Languages

**Authors:** Daniel Dietsch, Matthias Heizmann, Jochen Hoenicke, Alexander Nutz,, Andreas Podelski

arXiv: 1901.01915 · 2019-01-08

## TL;DR

This paper introduces a program transformation for intermediate verification languages that reduces exponential case splits by using different maps for independent memory regions, improving verification efficiency.

## Contribution

The paper presents a novel program transformation that replaces a single map with multiple maps to avoid exponential case splits during verification.

## Key findings

- Transformation can avoid exponential explosion in case splits
- Implementation demonstrates practical effectiveness
- Reduces verification complexity for programs with independent memory regions

## Abstract

In theorem prover or SMT solver based verification, the program to be verified is often given in an intermediate verification language such as Boogie, Why, or CHC. This setting raises new challenges. We investigate a preprocessing step which takes the similar role that alias analysis plays in verification, except that now, a (mathematical) map is used to model the memory or a data object of type array. We present a program transformation that takes a program P to an equivalent program P' such that, by verifying P' instead of P, we can reduce the burden of the exponential explosion in the number of case splits. Here, the case splits are according to whether two statements using the same map variable are independent or not; if they are independent, we might as well employ two different map variables and thus remove the need for a case split (this is the idea behind the program transformation). We have implemented the program transformation and show that, in an ideal case, we can avoid the exponential explosion.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1901.01915/full.md

## Figures

5 figures with captions in the complete paper: https://tomesphere.com/paper/1901.01915/full.md

## References

15 references — full list in the complete paper: https://tomesphere.com/paper/1901.01915/full.md

---
Source: https://tomesphere.com/paper/1901.01915