Andmebaasi logo
Valdkonnad ja kollektsioonid
Kogu ADA
Eesti
English
Deutsch
  1. Esileht
  2. Sirvi autori järgi

Sirvi Autor "Saan, Simmo, juhendaja" järgi

Tulemuste filtreerimiseks trükkige paar esimest tähte
Nüüd näidatakse 1 - 8 8
  • Tulemused lehekülje kohta
  • Sorteerimisvalikud
  • Laen...
    Pisipilt
    listelement.badge.dso-type Kirje ,
    Abstraktne silur Goblintile
    (Tartu Ülikool, 2023) Hennoste, Juhan Oskar; Saan, Simmo, juhendaja; Tartu Ülikool. Loodus- ja täppisteaduste valdkond; Tartu Ülikool. Arvutiteaduse instituut
    Staatiline analüüs on kasulik meetod programmi omaduste tuvastamiseks ilma programmi jooksutamata. Goblint on Tartu Ülikoolis arendatav staatiline analüsaator C keelele. Staatilise analüüsi käigus tuvastab Goblint palju programmi omadusi, näiteks muutujate võimalike väärtusi programmi eri punktides. Need tulemused on kasulikud nii analüüsitava programmi kui ka Goblinti analüüside käitumise mõistmiseks, kuid hetkel puudub nende kuvamiseks hea viis. Olemasolevad tööriistad esitavad info toorel ja raskesti tõlgendataval kujul. Selles töös luuakse esmane versioon ühest võimalikust lähenemisest selle info kuvamiseks. Loodud lahendus on nn abstraktne silur, mis kasutab tavalise siluri (debugger) kasutajaliidest, kuid selle asemel et programmi jooksutada, kasutab abstraktne silur Goblinti analüüsi tulemusi, et simuleerida programmi jooksutamist. Selles töös realiseeritakse siluri esmane versioon ning kogutakse sellele tagasisidet Goblinti arendajatelt. Loodud abstraktne silur on mitmes aspektis edasiminek võrreldes olemasolevate tööriistadega Goblinti analüüsi tulemuste uurimiseks.
  • Laen...
    Pisipilt
    listelement.badge.dso-type Kirje ,
    Adapting an Alarm Repositioning Algorithm to Data Races
    (Tartu Ülikool, 2023) Holter, Karoliine; Vojdani, Vesal, juhendaja; Saan, Simmo, juhendaja; Tartu Ülikool. Loodus- ja täppisteaduste valdkond; Tartu Ülikool. Arvutiteaduse instituut
    This master’s thesis addresses the challenge of enhancing the usability of sound static analyzers, specifically focusing on the state-of-the-art data race verifier Goblint. The aim is to soundly post-process the warnings generated by Goblint to make them more understandable for developers, thereby increasing the adoption of sound analyzers in practice. The thesis adapts and extends the warning repositioning algorithm of Muske et al. for data race warnings in multi-threaded C programs. Contributions include identifying and implementing a potential solution within the Goblint analyzer, extending the method for data races, and evaluating and analyzing the adapted algorithm in terms of the reduced distance between possible causes and warnings, as well as the impact on the quality of data race warnings.
  • Laen...
    Pisipilt
    listelement.badge.dso-type Kirje ,
    Aine “Automaadid, keeled ja translaatorid” koodibaasi moderniseerimine Java 21-le
    (Tartu Ülikool, 2025) Talvik, Adeline; Saan, Simmo, juhendaja; Tartu Ülikool. Loodus- ja täppisteaduste valdkond; Tartu Ülikool. Arvutiteaduse instituut
    Over the years, the Java programming language has been updated with many code constructs which make programming easier and reduce boilerplate code, such as record patterns and pattern matching for switches. The goal of this Bachelor's thesis was to modernise the codebase for the Java-based course “Automata, Languages and Compilers”. This included replacing the Visitor design pattern with alternatives, converting classes to records, converting abstract classes to sealed interfaces and updating methods. By the end of the modernisation process, the line count of the code repository was reduced by approximately 4000, despite the added files and documentation.
  • Laen...
    Pisipilt
    listelement.badge.dso-type Kirje ,
    Bitioperatsioonide analüüsi täiendamine Goblintis
    (Tartu Ülikool, 2025) Innos, Henrik; Saan, Simmo, juhendaja; Tartu Ülikool. Loodus- ja täppisteaduste valdkond; Tartu Ülikool. Arvutiteaduse instituut
    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.
  • Laen...
    Pisipilt
    listelement.badge.dso-type Kirje ,
    GobExec: programmianalüsaatorite hindamisraamistik
    (Tartu Ülikool, 2024) Petnjunas, Evaldas; Saan, Simmo, juhendaja; Tartu Ülikool. Loodus- ja täppisteaduste valdkond; Tartu Ülikool. Arvutiteaduse instituut
    Goblint is a static program analysis tool which uses a benchmarking suite for ensuring soundness and effectiveness of its analyses. The current solution for benchmarking relies on a set of Ruby scripts which have become unmaintainable and difficult to extend. This thesis describes a unified benchmarking framework for program analysis tools in Python programming language. The framework provides at least the same functionality as the old solution for benchmarking, while making the porting and replacing of old benchmarking scripts to Python possible. The new framework makes extending and maintaining the functionality of the benchmarking suite easier, as most of the framework’s code is shared across different modules. The solution was validated by first porting old scripts to Python using the new framework and then comparing them to scripts from the old benchmarking suite. The ported scripts are much simpler but retain the same functionality and benchmarking results.
  • Laen...
    Pisipilt
    listelement.badge.dso-type Kirje ,
    Java andmevoogude implementatsioonide analüüs ja võrdlus DataStream'i ning ObjectStream’i näitel
    (Tartu Ülikool, 2021) Liik, Del Remi; Saan, Simmo, juhendaja; Tartu Ülikool. Loodus- ja täppisteaduste valdkond; Tartu Ülikool. Arvutiteaduse instituut
    Mitmetest osadest koosnevates infotehnoloogilistes süsteemides omandab tihti kriitilise tähtsuse andmevahetus nende süsteemide erinevate osade vahel. Java programmeerimis-keeles kirjutatud süsteemides on üheks serveritevahelise andmevahetuse rakendamise võimaluseks kasutada andmevoogusid. Käesolevas bakalaureusetöös tutvustati Java andmevoogude loogilist tausta ja implementeeriti kolm erinevat andmevoogudega serveritevahelise andmevahetuse lahendust, millest kaks kasutasid DataStream’i ja üks ObjectStream’i. Implementeeritud lahendusi analüüsiti ning võrreldi implementeerimise protsessi ja jõudluse põhjal. Järeldati, et erinevatel implementatsioonidel on erinevad tugevad ja nõrgad küljed ning et nende seast üheselt parimat valida ei ole võimalik. Võrreldud lahendustele pakuti sobilikke kasutusvaldkondi.
  • Laen...
    Pisipilt
    listelement.badge.dso-type Kirje ,
    Laiendamisoperaatorid abstraktses interpretaatoris Goblint
    (Tartu Ülikool, 2024) Judin, Ronald; Saan, Simmo, juhendaja; Tartu Ülikool. Loodus- ja täppisteaduste valdkond; Tartu Ülikool. Arvutiteaduse instituut
    Static analysis of programs is used to ensure the correctness and safety of software. Abstract interpretation is a method of static analysis used by the abstract interpretator Goblint. Widening is a method in abstract interpretation to ensure the convergence of analysis of cycles. There are many widening operators defined in Goblint. This paper describes them and the implementation of new ones. The newly implemented widening operators were successfully tested.
  • Laen...
    Pisipilt
    listelement.badge.dso-type Kirje ,
    Nõrgad sõltuvused kõrvalmõjudega kitsendussüsteemides
    (Tartu Ülikool, 2025) Tornik, Heigo; Saan, Simmo, juhendaja; Vojdani, Vesal, juhendaja; Tartu Ülikool. Loodus- ja täppisteaduste valdkond; Tartu Ülikool. Arvutiteaduse instituut
    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.

DSpace tarkvara autoriõigus © 2002-2025 LYRASIS

  • Teavituste seaded
  • Saada tagasisidet