Abstraktsed pinujäljed Goblinti väljundis

Organisatsiooni nimi
Programming Languages
Kokkuvõte
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.
Lõputöö kaitsmise aasta
2015-2016
Juhendaja
Kalmer Apinis
Suhtlemiskeel(ed)
eesti keel, inglise keel
Nõuded kandideerijale
Tase
Magister
Märksõnad
#plas, #vmcai, #goblint, #ocaml

Kandideerimise kontakt

 
Nimi
Kalmer Apinis
Tel
+372 737 5443
E-mail
kalmer.apinis@gmail.com
Kuulutus
PDF kuulutus