Detail publikace
Automatic Verification of Integer Array Programs
Konečný Filip, Ing., Ph.D.
Vojnar Tomáš, prof. Ing., Ph.D. (UITS)
Habermehl Peter
Bozga Marius
formální verifikace, pole, automaty, matematická logika
Článek představuje verifikační metodu pro třídu programů, které manipulují s poli konečné, ale nikoliv předem omezené délky. Pro specifikaci vstupních a výstupních podmínek programu a jeho částí používáme logiku celočíselných polí (SIL). Účinky částí kódu bez cyklů jsou vypočítány syntakticky na úrovni logiky SIL. Takto odvozené vstupní podnínky cyklu jsou transformovány na čítačové automaty (CA). Cykly jsou automaticky, čistě na syntaktické úrovni, přeloženy do čítačových převodníků. Automaty reprezentující vstupní podmínky jsou složeny s převodníky a takto vzniklé automaty nadaproximovány 'flat' čítačovým automatem s diferenčními omezeními a ten je dále převeden na odpovídající SIL formuli. Tímto obdržíme výstupní podmínku cyklu. Platnost uživatelem specifikované výstupní podmínky lze ověřit, neboť logika SIL je rozhodnutelná.
@inproceedings{BUT30759,
author="Iosif {Radu} and Filip {Konečný} and Tomáš {Vojnar} and Peter {Habermehl} and Marius {Bozga}",
title="Automatic Verification of Integer Array Programs",
booktitle="Computer Aided Verification",
year="2009",
series="Lecture Notes in Computer Science",
volume="5643",
pages="157--172",
publisher="Springer Verlag",
address="Berlin",
isbn="978-3-642-02657-7",
url="https://www.fit.vut.cz/research/publication/9005/"
}