Abstract
In this work, we consider two sets I and O of bounded integer variables, modeling the inputs and outputs of a program. Given a specification Post, which is a Boolean combination of linear or polynomial inequalities with real coefficients over I ∪ O, our goal is to synthesize the weakest possible pre-condition Pre and a program P satisfying the Hoare triple {Pre}P{Post}. We provide a novel, practical, sound and complete algorithm, inspired by Farkas’ Lemma and Handelman’s Theorem, that synthesizes both the program P and the pre-condition Pre over a bounded integral region. Our approach is exact and guaranteed to find the weakest pre-condition. Moreover, it always synthesizes both P and Pre as linear decision lists. Thus, our output consists of simple programs and preconditions that facilitate further static analysis. We also provide experimental results over benchmarks showcasing the real-world applicability of our approach and considerable performance gains over the state-of-the-art.1
| Original language | English |
|---|---|
| Pages (from-to) | 484-502 |
| Number of pages | 19 |
| Journal | EPiC Series in Computing |
| Volume | 100 |
| DOIs | |
| Publication status | Published - 2024 |
| Event | 25th Conference on Logic for Programming, Artificial Intelligence and Reasoning, LPAR 2024 - Port Louis, Mauritius Duration: 26 May 2024 → 31 May 2024 |
Bibliographical note
Publisher Copyright:© 2024, EasyChair. All rights reserved.
Keywords
- decision lists
- non linear integer arithmetic
- static analysis
- synthesis