Nõrgima eeltingimuse staatiline analüüs pinukeeltele
Date
2019
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Staatiline analüüs on üks viis programmide uurimiseks. Vastandina dünaaamilisele analüüsile ei pea staatilise analüüsi jaoks analüüsitavat koodi käivitama. Seetõttu võimaldab staatiline analüüs ohutumat ning üldisemat analüüsi kui dünaamiline. Käesolevas töös keskendutakse nõrgima eeltingimuse staatilisele analüüsile alt üles meetodil. Selle meetodi korrektsuse näitamiseks kasutatakse analüüsitavate programmide abstraktsete mäluga pinumasinatena mudelleerimist. Alt-üles lähenemise eeliseks traditsiooniliste ülalt-alla meetodi ees on programmi semantika ebaoluliste osade analüüsi vältimine. Töö väljundina teostatakse staatilise analüüsi raamistikus Põder nõrgima eeltingimuse alt üles leidmise analüüs.
Static analysis is a way to inspect software. As opposed to dynamic analysis, code does not need to be executed in order to be analysed. This property allows for safer and more general analysis than dynamic analysis. This thesis focuses on weakest precondition computation through a backwardsstatic analysis. To show the soundness of this approach, the programs to be analysed are modelled as memory-augmented stack machines. The advangate of the backwards method compared to traditional forward analyses is avoiding analysing inconsequential properties of the program's semantics during verification. As a practical contrubition of this thesis, the weakest precondition analysis is implemented in the Põder static analyisis framework.
Static analysis is a way to inspect software. As opposed to dynamic analysis, code does not need to be executed in order to be analysed. This property allows for safer and more general analysis than dynamic analysis. This thesis focuses on weakest precondition computation through a backwardsstatic analysis. To show the soundness of this approach, the programs to be analysed are modelled as memory-augmented stack machines. The advangate of the backwards method compared to traditional forward analyses is avoiding analysing inconsequential properties of the program's semantics during verification. As a practical contrubition of this thesis, the weakest precondition analysis is implemented in the Põder static analyisis framework.