Abstraktsed pinujäljed Goblinti väljundis

Organization
Programming Languages
Abstract
Goblint on staatiline programmianalüsaator C keele jaoks, mis keskendub andmejooksude tuvastamise ja andmejooksu-vabaduse tõestamisele. Lihtsustatult tähendab see seda, et Goblint saab kasutajalt sisendiks mitmelõimelise programmi lähtekoodi ja otsustab, kas kõik globaalsed muutujad on korrektselt lukkudega kaitstud. Juhul, kui Goblint kahtlustab, et on leidnud vea, väljastab ta hoiatuse. Selliste hoiatuste ning muu goblinti väljundi järgi peab kasutaja suutma otsustada, kas tegemist on tõepoolest ohtliku olukorraga. See ei pruugi aga olla lihtne, kui vea põhjus ei asu ühes C funktsioonis vaid on jaotunud mitme funktsiooni vahele. Sellisel juhul tuleb Goblinti kasutajal kogu uuritav programm läbi vaadata, et otsida veateate põhjustanud funktsiooni väljakutset. Tegelikult on Goblintil teada kõik vajalik, et otsustada, millistest kohtadest veaga lõppenud funktsiooni (ja kõiki analüüsitud funktsioone) kutsutakse. See info tuleks kokku koguda, ning selle põhjal vastavad graafid joonistada. Siin peab muidugi otsustama, milline väljundi stiil kõige sobivam on. Kuna Goblint on ise kirjutatud OCaml keeles, siis tuleks ka see pinujälgede osa samas keeles teha.
Graduation Theses defence year
2015-2016
Supervisor
Kalmer Apinis
Spoken language (s)
Estonian, English
Requirements for candidates
Level
Masters
Keywords
#plas, #vmcai, #goblint, #ocaml

Application of contact

 
Name
Kalmer Apinis
Phone
+372 737 5443
E-mail
kalmer.apinis@gmail.com
Full Document
PDF document