Verifying Procedural Programs via Constrained Rewriting Induction

Salvato in:
Dettagli Bibliografici
Pubblicato in:arXiv.org (Feb 25, 2017), p. n/a
Autore principale: Fuhs, Carsten
Altri autori: Kop, Cynthia, Nishida, Naoki
Pubblicazione:
Cornell University Library, arXiv.org
Soggetti:
Accesso online:Citation/Abstract
Full text outside of ProQuest
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
Descrizione
Abstract:This paper aims to develop a verification method for procedural programs via a transformation into Logically Constrained Term Rewriting Systems (LCTRSs). To this end, we extend transformation methods based on integer TRSs to handle arbitrary data types, global variables, function calls and arrays, as well as encode safety checks. Then we adapt existing rewriting induction methods to LCTRSs and propose a simple yet effective method to generalize equations. We show that we can automatically verify memory safety and prove correctness of realistic functions. Our approach proves equivalence between two implementations, so in contrast to other works, we do not require an explicit specification in a separate specification language.
ISSN:2331-8422
Fonte:Engineering Database