Nõrgad sõltuvused kõrvalmõjudega kitsendussüsteemides
| dc.contributor.advisor | Saan, Simmo, juhendaja | |
| dc.contributor.advisor | Vojdani, Vesal, juhendaja | |
| dc.contributor.author | Tornik, Heigo | |
| dc.contributor.other | Tartu Ülikool. Loodus- ja täppisteaduste valdkond | et |
| dc.contributor.other | Tartu Ülikool. Arvutiteaduse instituut | et |
| dc.date.accessioned | 2025-10-28T10:28:45Z | |
| dc.date.available | 2025-10-28T10:28:45Z | |
| dc.date.issued | 2025 | |
| dc.description.abstract | The bachelor’s thesis examines the static analysis method abstract interpretation, specifically side-effecting constraint systems. Constraint systems can be used to describe programs in an abstract manner and, by solving them with top-down solvers, such as TD side , several properties, like occuring errors, can be described. The thesis provides a theoretical background on constraint systems and the top-down solver TD side, and describes the inefficiency in TD side , where the program point that creates a thread depends on the thread being created, causing unnecessary recalculations. To solve the inefficiency, so-called “weak dependencies” are described. The right-hand side of the constraint system is supplemented by adding a new function demand and the necessary additions to TD side to solve these new constraint systems are described. In the thesis TD weak was created based on TD side in two variations: eager and lazy. Weak dependencies, when implemented in Goblint, reduced the number of right-hand side evaluations of constraint system by an average of 28.87% for the lazy variation and 13.70% for the eager variation. | |
| dc.description.abstract | Bakalaureusetöös vaadeldakse staatilise analüüsi metoodikat abstraktset interpretatsiooni, täpsemalt kõrvalmõjudega kitsendussüsteeme. Kitsendussüsteemidega saab abstraktselt kirjeldada programme ning neid lahendades laskuvate lahendajatega, näiteks TD side -iga, kirjeldada mitmeid omadusi, näiteks esinevaid vigu. Töös antakse teoreetiline taust kitsendussüsteemide ja laskuva lahendaja TD side kohta, ning käsitletakse ebatõhusust TD side -is, kus lõime loov programmipunkt sõltub loodavast lõimest, tingides ebavajalikke taasarvutusi. Ebatõhususe lahendamiseks kirjeldatakse nn “nõrgad sõltuvused”. Täiendatakse kitsendussüsteemi paremat poolt, lisades uue funktsiooni demand ning kirjeldatakse vajalikud täiendused TD side -is uute kitsendussüsteemide lahendamiseks. Töös loodi TD side põhjal TD weak kahes variatsioonis: ahne ja laisk. Nõrgad sõltuvused Goblintis implementeerituna vähendasid kitsendussüsteemide paremate poolte väärtustamise arvu keskmiselt 28.87% laisa variatsiooni korral ja 13.70% ahne korral. | |
| dc.identifier.uri | https://hdl.handle.net/10062/117144 | |
| dc.language.iso | et | |
| dc.publisher | Tartu Ülikool | et |
| dc.rights.uri | https://creativecommons.org/licenses/by-nc-nd/4.0/ | |
| dc.subject | staatiline analüüs | |
| dc.subject | Goblint | |
| dc.subject.other | bakalaureusetööd | et |
| dc.subject.other | informaatika | et |
| dc.subject.other | infotehnoloogia | et |
| dc.subject.other | informatics | en |
| dc.subject.other | infotechnology | en |
| dc.title | Nõrgad sõltuvused kõrvalmõjudega kitsendussüsteemides | |
| dc.title.alternative | Weak Dependencies for Side-Effecting Constraint Systems | |
| dc.type | Thesis |