Detail publikace
Byte-Precise Verification of Low-Level List Manipulation
dynamic linked data structures, separation logic, symbolic memory graphs, list manipulation, low-level memory manipulation, memory safety, shape analysis
Navrhujeme nový přístup k shape analýze programů s vázanými seznamy, které používají nízkoúrovňovou operace s pamětí. Takové operace zahrnují ukazatelovou aritmetiku, bezpečné používání neplatných ukazatelů, blokové operace s pamětí, reinterpretaci obsahu paměti, zarovnání adres, atd. Náš přístup je založený na nové reprezentaci množin hromad, který je do určité míry inspirován pracemi o separační logice se seznamovými predikáty vyššího řádu, ale je založený na grafech a používá mnohem jemnější (bytově přesný) paměťový model, aby podporoval výše zmíněné nízkoúrovňové operace s pamětí. Tento přístup byl implementován v nástroji Predator a úspěšně ověřen na mnoha netriviálních případových studiích, jejichž analýza je za hranicemi možností ostatních současných nástrojů na plně automatickou shape analýzu.
@inproceedings{BUT103494,
author="Kamil {Dudka} and Petr {Peringer} and Tomáš {Vojnar}",
title="Byte-Precise Verification of Low-Level List Manipulation",
booktitle="20th Static Analysis Symposium",
year="2013",
series="Lecture Notes in Computer Science Volume 7935",
journal="Lecture Notes in Computer Science",
volume="20",
number="7935",
pages="215--237",
publisher="Springer Verlag",
address="Berlin",
isbn="978-3-642-38855-2",
issn="0302-9743"
}