Accelerating invariant generation

Acceleration is a technique for summarising loops by computing a closed-form representation of the loop behaviour. The closed form can be turned into an accelerator, which is a code snippet that skips over intermediate states of the loop to the end of the loop in a single step. Program analysers rel...

Disgrifiad llawn

Manylion Llyfryddiaeth
Prif Awduron: Madhukar, K, Wachter, B, Kroening, D, Lewis, M, Srivas, M
Awduron Eraill: Kaivola, R
Fformat: Conference item
Cyhoeddwyd: IEEE 2016
_version_ 1826299517394223104
author Madhukar, K
Wachter, B
Kroening, D
Lewis, M
Srivas, M
author2 Kaivola, R
author_facet Kaivola, R
Madhukar, K
Wachter, B
Kroening, D
Lewis, M
Srivas, M
author_sort Madhukar, K
collection OXFORD
description Acceleration is a technique for summarising loops by computing a closed-form representation of the loop behaviour. The closed form can be turned into an accelerator, which is a code snippet that skips over intermediate states of the loop to the end of the loop in a single step. Program analysers rely on invariant generation techniques to reason about loops. The state-of-the-art invariant generation techniques, in practice, often struggle to find concise loop invariants, and, instead, degrade into unrolling loops, which is ineffective for non-trivial programs. In this paper, we evaluate experimentally whether loop accelerators enable existing program analysis algorithm to discover loop invariants more reliably and more efficiently. This paper is the first comprehensive study on the synergies between acceleration and invariant generation. We report our experience with a collection of safe and unsafe programs drawn from the Software Verification Competition and the literature.
first_indexed 2024-03-07T05:03:08Z
format Conference item
id oxford-uuid:d8ffa6ee-3b33-4e2c-bc14-770d4aca94e4
institution University of Oxford
last_indexed 2024-03-07T05:03:08Z
publishDate 2016
publisher IEEE
record_format dspace
spelling oxford-uuid:d8ffa6ee-3b33-4e2c-bc14-770d4aca94e42022-03-27T08:52:53ZAccelerating invariant generationConference itemhttp://purl.org/coar/resource_type/c_5794uuid:d8ffa6ee-3b33-4e2c-bc14-770d4aca94e4Symplectic Elements at OxfordIEEE2016Madhukar, KWachter, BKroening, DLewis, MSrivas, MKaivola, RWahl, TAcceleration is a technique for summarising loops by computing a closed-form representation of the loop behaviour. The closed form can be turned into an accelerator, which is a code snippet that skips over intermediate states of the loop to the end of the loop in a single step. Program analysers rely on invariant generation techniques to reason about loops. The state-of-the-art invariant generation techniques, in practice, often struggle to find concise loop invariants, and, instead, degrade into unrolling loops, which is ineffective for non-trivial programs. In this paper, we evaluate experimentally whether loop accelerators enable existing program analysis algorithm to discover loop invariants more reliably and more efficiently. This paper is the first comprehensive study on the synergies between acceleration and invariant generation. We report our experience with a collection of safe and unsafe programs drawn from the Software Verification Competition and the literature.
spellingShingle Madhukar, K
Wachter, B
Kroening, D
Lewis, M
Srivas, M
Accelerating invariant generation
title Accelerating invariant generation
title_full Accelerating invariant generation
title_fullStr Accelerating invariant generation
title_full_unstemmed Accelerating invariant generation
title_short Accelerating invariant generation
title_sort accelerating invariant generation
work_keys_str_mv AT madhukark acceleratinginvariantgeneration
AT wachterb acceleratinginvariantgeneration
AT kroeningd acceleratinginvariantgeneration
AT lewism acceleratinginvariantgeneration
AT srivasm acceleratinginvariantgeneration