Browsing by Author "Saan, Simmo"
Now showing 1 - 2 of 2
- Results Per Page
- Sort Options
Item Abstraktsete domeenide omaduspõhine testimine(2018) Saan, Simmo; Vesal Vojdani; Kalmer ApinisStaatilise programmianalüüsiga uuritakse programme lähtekoodi põhjal, ilma neid käivitamata. Üks võimalus on selleks kasutada abstraktset interpretatsiooni, et määrata programmi võimalikke ligikaudseid seisundeid, mis moodustavad abstraktse domeeni. Kui kasutatav domeen rahuldab teatud matemaatilisi omadusi, siis abstraktse interpretatsiooni teooria kohaselt on teostatav analüüs korrektne (ingl sound). Staatilise analüsaatori implementeerimisel võib juhtuda, et domeenides esineb vigu, mis rikuvad analüüsi ja selle korrektsuse. Töös koostatakse omaduste komplekt, mida kasutatakse Goblint analüsaatorist omaduspõhise testimise abil vigade leidmiseks. Selleks implementeeritakse Goblintis vajalik domeenide testimise raamistik ja elementide generaatorid. Lõpuks viiakse läbi testimine, tuvastatakse vead ja kirjeldatakse neid. Sellega näidatakse, et omaduspõhist testimist on võimalik efektiivselt rakendada abstraktsetest domeenidest vigade leidmiseks.Item Witness Generation for Data-flow Analysis(Tartu Ülikool, 2020) Saan, Simmo; PhD Vojdani, Vesal, juhendaja; Tartu Ülikool. Loodus- ja täppisteaduste valdkond; Tartu Ülikool. Arvutiteaduse instituutA program analyzer, which determines whether a given program satisfies or violates the specification, may itself contain bugs and thus be untrustworthy. Hence, the analyzer should back its claims with witnesses, which can be understood by the programmer and automatically checked by independent tools. Interprocedural data-flow analysis is well-suited for certain problems but its abstractions do not directly correspond to required witnesses. We show that witnesses can be generated with data-flow analysis by designing the necessary methods to handle interprocedurality and adapting a technique from model checking to increase precision of the generated witnesses. The ideas are implemented and experimentally evaluated in the data-flow analyzer Goblint. This allows improving trustworthiness and usability of data-flow analyzers and enables their comparison with other verifiers.