Bitioperatsioonide analüüsi täiendamine Goblintis
Laen...
Kuupäev
Autorid
Ajakirja pealkiri
Ajakirja ISSN
Köite pealkiri
Kirjastaja
Tartu Ülikool
Abstrakt
Goblint is a static analyzer, based on abstract interpretation, specializing in multi-threaded C programs. The goal of this thesis is to improve the precision of Goblint's static analysis by enhancing its handling of bit operations. The thesis establishes a set of integer properties that characterize their behaviour when subjected to bitwise operations on their machine representations, which were used to enhance the abstractions of logical bitwise operations in Goblint's integer domains. Additionally, support for the analysis of bit-fields was added. The precision of Goblint's analyses was successfully improved: the implementation was evaluated on SV-COMP benchmarks, resulting in Goblint being able to solve 26 additional tasks, and its correctness was formally proved.
Goblint on abstraktsel interpretatsioonil põhinev staatiline analüsaator, mille peamine rakendusala on mitmelõimelised C programmid. Töö eesmärk on Goblinti staatilise analüüsi täpsuse parandamine, täiendades selle bitioperatsioonide käsitlust. Töös formuleeritakse komplekt täisarvude omadusi, mis iseloomustavad nende käitumist, kui nende masinesitusele rakendada bitthaaval operatsioone, ning neid kasutatakse bitthaaval operatsioonide abstraktsioonide täpsustamiseks Goblinti täisarvudomeenides. Samuti lisati Goblintile bittväljade analüüsi funktsionaalsus. Tulemusena suudeti edukalt muuta Goblinti analüüse täpsemaks: implementatsiooni evalveeriti SV-COMP mõõtlusalustel, mille tulemusena Goblint suutis lahendada 26 uut ülesannet, ning selle korrektsus tõestati formaalselt.
Goblint on abstraktsel interpretatsioonil põhinev staatiline analüsaator, mille peamine rakendusala on mitmelõimelised C programmid. Töö eesmärk on Goblinti staatilise analüüsi täpsuse parandamine, täiendades selle bitioperatsioonide käsitlust. Töös formuleeritakse komplekt täisarvude omadusi, mis iseloomustavad nende käitumist, kui nende masinesitusele rakendada bitthaaval operatsioone, ning neid kasutatakse bitthaaval operatsioonide abstraktsioonide täpsustamiseks Goblinti täisarvudomeenides. Samuti lisati Goblintile bittväljade analüüsi funktsionaalsus. Tulemusena suudeti edukalt muuta Goblinti analüüse täpsemaks: implementatsiooni evalveeriti SV-COMP mõõtlusalustel, mille tulemusena Goblint suutis lahendada 26 uut ülesannet, ning selle korrektsus tõestati formaalselt.
Kirjeldus
Märksõnad
staatiline analüüs, abstraktne interpretatsioon, bitioperatsioonid, Goblint