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

Sirvi Autor "Vojdani, Vesal, juhendaja" järgi

Tulemuste filtreerimiseks trükkige paar esimest tähte
Nüüd näidatakse 1 - 17 17
  • Tulemused lehekülje kohta
  • Sorteerimisvalikud
  • 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 ,
    Automatic Error Correction for Elixir
    (Tartu Ülikool, 2022) Sisask, Aron; Vojdani, Vesal, juhendaja; Tartu Ülikool. Loodus- ja täppisteaduste valdkond; Tartu Ülikool. Arvutiteaduse instituut
    Code linting is the practice of automatically checking source code for errors, usually those related to consistency. Most programing languages have linters that come with a set of rules, each one targeting a specific kind of error. To reduce programmer effort, some linters employ autocorrect, meaning that where possible, the linter fixes the mistake for the programmer. Linters are also used in Elixir ecosystem; however, there is no linter for Elixir with autocorrect capabilities. In this thesis, autocorrect is added to one of the most frequently used Elixir linters, Credo. The developed extension can be integrated with Credo seamlessly, and it can automatically correct several types of errors.
  • Laen...
    Pisipilt
    listelement.badge.dso-type Kirje ,
    Developing a Course on Teaching Functional Programming in JavaScript
    (Tartu Ülikool, 2021) Tinn, Kaarel; Vojdani, Vesal, juhendaja; Niitsoo, Margus, juhendaja; Tartu Ülikool. Loodus- ja täppisteaduste valdkond; Tartu Ülikool. Arvutiteaduse instituut
    This thesis describes the design and development process of a course teaching functional programming in JavaScript. The course is targeted at third-year BSc or first-year MSc students who are familiar with at least the basics of JavaScript. The course will be taught at the University of Tartu. This paper discusses the motivation behind the creation of the course. It also reviews problems with learning functional programming and argues how learning functional programming could be made more efficient by focusing on practical examples. The topics covered in materials - lecture slides and home assignment descriptions - are explained in depth. The overall course structure and delivery process is described. The thesis serves as helpful documentation to the course’s future lecturer.
  • Laen...
    Pisipilt
    listelement.badge.dso-type Kirje ,
    Evaluating CodeQL for Automated Runtime Complexity Approximation
    (Tartu Ülikool, 2023) Hlebnikov, Tõnis Hendrik; Vojdani, Vesal, juhendaja; Tartu Ülikool. Loodus- ja täppisteaduste valdkond; Tartu Ülikool. Arvutiteaduse instituut
    Ajaline keerukus kirjeldab programmi käitusaega funktsioonina tema sisendi pikkuse suhtes. Selle käsitsi hindamine on keerukas ning ajamahukas. Tulenevalt on loodud mitmeid tööriistu, mille kasutamine on vähem keerukas ning ajamahukas. Eesmärk on hinnata kas turvalisuse analüüsi tööriista CodeQL-i, saaks kasutada ajalise keerukuse hindamiseks. See saab tuvastatud läbi minimaalse tööriista loomise, mis suudab korrektselt hinnata lihtsamate Java programmide ajalist keerukust. Järgneb arutelu tööriista ning loomisprotsessi ümber.
  • Laen...
    Pisipilt
    listelement.badge.dso-type Kirje ,
    Fully automatic Self-Organizing Maps package for data visualization
    (2009-12-02T11:04:05Z) Tint, Hando; Tartu Ülikool. Matemaatika-informaatikateaduskond; Vojdani, Vesal, juhendaja; Arvutiteaduse instituut
    Iseorganiseeruvad kujutised (self-organizing maps, SOMs) on tehislikud neurovõrgud, mida kasutadakse kõrg-dimensionaalsete andmete kujutamiseks madaladimensionaalsesse neuronite massiivi. Saadud kujutist võib kasutada andmete pakkimiseks ja andmete visualiseerimiseks, mistõttu on SOM algoritm kasutuses paljudes statistika- ja monitoorimisrakendustes. Keskendudes andmete visualiseerimisele, on magistritöö eesmärk välja pakkuda juhtnöörid, mille alusel saaks SOM algoritmi tuua kasutusele väiksematesse ja täielikku automatiseeritust eeldavatesse tarkvara-rakendustesse. Töös antakse ülevaade SOM ja hilisemast PLSOM algoritmist, pakutakse välja ühine sõnavara ja klassifikatsioon erinevat tüüpi visualiseerimismeetoditele. Selle põhjal tuuakse välja soovituslik raamistik tarkvarapaketile, mis oleks võimeline haldama kõiki andmetest visuaalse pildi saamiseks vajalikke samme. Raamistiku eesmärk on olla lihtsalt laiendatav, tehes lihtsaks ja arusaadavaks uute andmete importimise/töötlemise ja uute visualiseerimismeetodite lisamise. Magistritööga tuleb kaasa tarkvarapakett, mis järgib töös väljatoodud juhtnööre. Tarkvarapakett on kasutatav nii musta kastina, võttes vastu juhtnööre XML kujul kui ka valge kastina, ehk siis integreeritav otse mõnda teise rakendusse.
  • Laen...
    Pisipilt
    listelement.badge.dso-type Kirje ,
    Funktsionaalprogrammeerimise õpetamine Idrises
    (Tartu Ülikool, 2021) Holter, Karoliine; Apinis, Kalmer, juhendaja; Vojdani, Vesal, juhendaja; Tartu Ülikool. Loodus- ja täppisteaduste valdkond; Tartu Ülikool. Arvutiteaduse instituut
    Viimase kümne aasta jooksul on funktsionaalprogrammeerimine palju arenenud ja edasi liikunud. Bakalaureusetöö eesmärk on uurida, kas sõltuvate tüüpidega keel Idris on sobilik keel bakalaureuseastmes klassikaliste ja tänapäevaste funktsionaalprogrammeerimise teemade õpetamiseks. Selleks kohandati Haskelli baasil eelkõige klassikalist funktsionaalprogrammeerimist õpetava kursuse „Programmeerimiskeeled“ praktikumiülesanded Idrisesse ning uuriti, milliseid uusi teemasid saab Idrise kasutusele võtmisega kursuse kavva lisaks võtta. Töös tutvustatakse Haskelli ja Idrise põhilisi erinevusi „Programmeerimiskeelte“ aines käsitletud teemade ulatuses ning sõltuvate tüüpidega programmeerimist Idrises. Töö põhjal jõuti järeldusele, et Idris on sobilik keel bakalaureuseastmes funktsionaalprogrammeerimise õpetamiseks.
  • Laen...
    Pisipilt
    listelement.badge.dso-type Kirje ,
    Implementing Temporal Resources
    (Tartu Ülikool, 2025) Tavits, Joosep; Ahman, Danel, juhendaja; Vojdani, Vesal, juhendaja; Tartu Ülikool. Loodus- ja täppisteaduste valdkond; Tartu Ülikool. Arvutiteaduse instituut
    Temporaalsed ressursid – mille kasutamist piirab mitte üksnes kuidas, vaid ka millal neid võib kasutada – on modelleeritavad Fitchi-stiilis modaalsete tüüpide abil. Järgides Ahmani ja Žajdela lähenemist, arendab käesolev töö ajateadliku tüübisüsteemi ja operatsioonisemantikaga -arvutuse. Tuginedes Matija Pretnari loodud puhta MLlaadsele keelele Millet, formaliseeritakse lambda-arvutus Mille[ ] koos korrektsete tüübituletusreeglite ja unifitseerimisalgoritmiga. Lisaks realiseeritakse Milleti laiendusena interpreteeritud prototüüpkeel Temporal Millet. Temporal Millet tagab tüübisüsteemi kaudu temporaalse ohutuse ning võimaldab uurida realistlikke stsenaariume, mis nõuavad ajakriitiliste operatsioonide korrektset järjestamist. Käesolev töö näitab nii temporaalsete arvutuste järgimise formaalset teostatavust kui ka sellega kaasnevaid väljakutseid efektsete keelte kontekstis, tuvastades lahendamata probleeme nagu temporaalne rekursioon ning modaalselt tüübitud väärtuste lahtipakkimine funktsioonides, mis ei teosta temporaalseid arvutusi. Kokkuvõttes loob töö aluse edasiseks uurimistööks kompilaatori suunas, mis säilitab kompileeritud programmides temporaalse ohutuse.
  • Laen...
    Pisipilt
    listelement.badge.dso-type Kirje ,
    Interaktiivne Abstraktne Interpretaator IntelliJ IDEA jaoks
    (Tartu Ülikool, 2021) Viil, Alex; Vojdani, Vesal, juhendaja; Tartu Ülikool. Loodus- ja täppisteaduste valdkond; Tartu Ülikool. Arvutiteaduse instituut
    Abstraktne interpreteerimine on arvutiprogrammi osati täitmine eesmärgiga aru saada, kui-das programm käitub, ilma et peaks kõiki arvutusi tegema. Selle abil saab tuvastada, kas rakendus käitub nagu oodatud. Vastasel juhul saab arendaja teada vea olemasolust ja selle parandamisega tööle asuda. IntelliJ IDEA on arenduskeskkond, kus arendaja saab Java programmeerimiskeele koodi näol programme kirja panna ja samas neid kompileerida ja jooksutada. Peaaegu kõik prog-rammid kasutavad oma töös muutujaid, millele omistatakse vähemalt ühe korra mingi väär-tus ning mida hiljem loetakse. Tihti hargneb programmi töö olenevalt nende muutujate väär-tustest ning olenevalt arendaja tööst võib tekkida olukordi, kus kindlatel väärtustel tekib programmi töös erind ehk tõrge. Java hea tava puhul sellised olukorrad püütakse tavaliselt kinni ja lastakse programmil vastavalt reageerida, kuid keerulisemates süsteemides on tihti keeruline kõiki juhte ette näha. Eelnimetatud arenduskeskkond toetab pistikprogramme, mis on eraldi tööd soodustavad programmid. Interaktiivse abstraktse interpretaatori pistikprogramm tagab võimaluse aren-dajal programmeerimise ajal teostada programmi kohta analüüs staatilise analüüsi raamis-tiku Põder abil. Selle bakalaureusetöö uuritakse olemasolevaid raamistikke ja võimalikku teostust, mis võimaldaks lihtsamaid omaduse kontrolle teostada, näiteks kas täisarvulise muutuja väärtus jääb mingisse vahemikku piiritletud või mitte.
  • Laen...
    Pisipilt
    listelement.badge.dso-type Kirje ,
    Modulaarne staatiline programmianalüüs
    (Tartu Ülikool, 2021) Mägi, Karl Marten; Apinis, Kalmer, juhendaja; Vojdani, Vesal, juhendaja; Tartu Ülikool. Loodus- ja täppisteaduste valdkond; Tartu Ülikool. Arvutiteaduse instituut
    Staatiline programmianalüüs on viis uurida programmi käitumist ja omadusi. Modulaarne analüüs viitab programmi osade eraldi analüüsimisele ja saadud tulemuste kombineerimisele. See aitab mahukate analüüside korral aega säästa, sest on võimalik tükeldatud analüüsi osi taaskasutada. Töö käigus antakse eestikeelne ülevaade modulaarsest analüüsist, selle impleementatsioonist programmianalüüsi raamistikus Põder ning täiendatakse raamistiku Põder. Esmalt parandati vigu, mis tekkisid tulemuste laadimisel. Lisati laetavate tulemuste verifitseerimine, et nendes saaks kindlam olla, ning versioonihaldus, et oleks võimalik ohutult laadida tulemusi kasutaja arvuti välistest allikatest. Tulemusena on raamistik Põder kasutajale mugavam ja tulemuste salvestamine ning laadimine on töökindlam.
  • Laen...
    Pisipilt
    listelement.badge.dso-type Kirje ,
    Mudelipõhise testimise õppematerjalide ja koduülesande loomine ainele ,,Automaadid, keeled ja translaatorid”
    (Tartu Ülikool, 2022) Põllumäe, Alexandra; Vojdani, Vesal, juhendaja; Tartu Ülikool. Loodus- ja täppisteaduste valdkond; Tartu Ülikool. Arvutiteaduse instituut
    Bakalaureusetöö eesmärk on koostada õppematerjalid mudelipõhisest testimisest kursusele “Automaadid, keeled ja translaatorid” ning leida vastus uurimusküsimusele, kas mudelipõhiselt sobib testida kursuse neid ülesandeid, mille taga peituvad olekumasinad? Töös kasutati mudelipõhise testimise tööriista GraphWalker, mille olemus sarnaneb olekumasinatele.
  • 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.
  • Laen...
    Pisipilt
    listelement.badge.dso-type Kirje ,
    Praktiliste kodutööde loomine ainele “Automaadid, keeled ja translaatorid”
    (Tartu Ülikool, 2023) Surva, Kristen; Vojdani, Vesal, juhendaja; Tartu Ülikool. Loodus- ja täppisteaduste valdkond; Tartu Ülikool. Arvutiteaduse instituut
    See bakalaureusetöö kirjeldab alternatiivsete praktiliste kodutööde loomisprotsessi Tartu Ülikooli kursusele “Automaadid, keeled ja translaatorid”. Kodutööde laiem eesmärk on näidata, et kursusel käsitlevatel teemadel on ka kasutust väljaspool programmeerimiskeelte konteksti. Töö käigus loodi kaks kodutööd. Esimene kodutöö õpetab JSON parsimist kasutades Java GSON teeki. Teine kodutöö tutvustab ärireeglite mõistet ning kasutust läbi JsonLogicu ja Easy Rulesi. Mõlemad kodutööd on käesoleval semestril kasutusele võetud. Ainekorraldajate ning tudengite tagasiside põhjal täidavad loodud kodutööd oma eesmärki. Suurem osa kursusel osalenud tudengite arvates on alternatiivsete kodutööde pakkumine hea täiendus kursusele.
  • Laen...
    Pisipilt
    listelement.badge.dso-type Kirje ,
    Programmianalüsaator Goblinti hindamine Juliet testkomplektiga
    (Tartu Ülikool, 2021) Lebbin, Raner; Vojdani, Vesal, juhendaja; Tartu Ülikool. Loodus- ja täppisteaduste valdkond; Tartu Ülikool. Arvutiteaduse instituut
    Staatiline programmianalüüs võimaldab programme uurida käitusaja väliselt ja aitab avastada lähtekoodis leiduvaid turvanõrkuseid. Andmevooanalüüsi rakendav analüsaator Goblint, millega analüüsitakse staatiliselt mitmelõimelisi C-keelseid programme, suudab tuvastada andmejooksul põhinevaid turvanõrkuseid. Käesoleva töö eesmärk on hinnata Goblinti analüüsi võimekust ning pakkuda välja võimalusi analüsaatori tegevusvälja laiendamiseks. Töös kasutatakse Goblinti testimiseks Juliet testkomplekti, mis on kogum erinevaid nõrkuseid sisaldavatest testprogrammidest. Selle protsessi tarvis luuakse skript (Pythoni keeles), mis automatiseerib Goblinti rakendamist suurel hulgal testfailidel ja kuvab tulemused mugavaks ülevaatuseks HTML-failis. Tulemuste põhjal analüüsitakse Goblinti sooritust. Edasiarenduseks pakutakse välja turvanõrkused, mille kohta analüsaator võiks anda hoiatusi, ning luuakse uued testid, mille alusel implementeerida uute nõrkuste tuvastamist.
  • Laen...
    Pisipilt
    listelement.badge.dso-type Kirje ,
    Static Analysis to Detect Memory Corruption Vulnerabilities
    (Tartu Ülikool, 2025) Amjaga, Roman; Vojdani, Vesal, juhendaja; Tartu Ülikool. Loodus- ja täppisteaduste valdkond; Tartu Ülikool. Arvutiteaduse instituut
    Memory corruption attacks have existed for a long time, and despite that, they are still considered a major threat to modern software. In fact, memory safety is such a major problem that in 2023, the U.S. Cybersecurity and Infrastructure Security Agency and in the year 2024, the Office of the National Cyber Director released articles, addressing the need for memory safety in modern and future software. The most widespread solution to memory safety problems is the use of memory-safe programming languages. In addition to not solving the problem completely, such an approach also does not take into consideration all the software that is written using non-memory-safe programming languages. Due to different constraints, it is often not realistic to rewrite a whole application to another programming language. The need for code written in a non-memory-safe programming language to be secure has several solutions with their advantages and downsides. This paper focuses on one such solution, that is, static code analysis. Static code analysis inspects the code without executing it and can detect a wide range of vulnerabilities. This paper contributed to the field by examining the cause of modern memory corruption bugs in the code. During the analysis, modern static code analyzers were tested to determine whether static code analysis is an effective measure against memory corruption vulnerabilities. In addition, a test suite of simplified real-world vulnerabilities was created for further refinement of static code analysis tools.
  • Laen...
    Pisipilt
    listelement.badge.dso-type Kirje ,
    Töövahendi CoOpeRace loomine
    (Tartu Ülikool, 2024) Haavasalu, Epp; Vojdani, Vesal, juhendaja; Tartu Ülikool. Loodus- ja täppisteaduste valdkond; Tartu Ülikool. Arvutiteaduse instituut
    The objective of this Bachelor’s thesis is to create CoOpeRace, a tool that combines the principles of cooperative verification with identifying data races. This work gives an overview of the concepts of data races and cooperative verification, describes the three analyzers used in the created tool - Goblin, Locksmith and Relay - and introduces the usage of CoOpeRace.
  • Laen...
    Pisipilt
    listelement.badge.dso-type Kirje ,
    Veebipõhise automaatide õppevahendi loomine ainele “Automaadid, keeled ja translaatorid”
    (Tartu Ülikool, 2024) Mägi, Artur Hendrik; Vojdani, Vesal, juhendaja; Tartu Ülikool. Loodus- ja täppisteaduste valdkond; Tartu Ülikool. Arvutiteaduse instituut
    As a result of this bachelor's thesis, a new web-based automata learning tool called AktFLAP was created for the University of Tartu course “Automata, Languages and Compilers”. The thesis provides an overview of automata simulators and their use in teaching. Additionally, the requirements set for the web application and the technologies used are outlined. Finally, the components of the developed learning tool and the details of the application testing process are described.
  • Laen...
    Pisipilt
    listelement.badge.dso-type Kirje ,
    Verifitseerimistööriistade kombineerimine andmejooksude tõhusamaks avastamiseks
    (Tartu Ülikool, 2025) Matsiselts, Chris; Vojdani, Vesal, juhendaja; Holter, Karoliine, juhendaja; Tartu Ülikool. Loodus- ja täppisteaduste valdkond; Tartu Ülikool. Arvutiteaduse instituut
    The purpose of this Bachelor’s thesis is to create a tool, CoOpeRace CLI, that utilizes the principles of verification cooperation to combine existing verification tools into a single meta-verifier and to find the best configuration of available verification tools for detecting data races. The work provides an overview of software verification, the SV-COMP competition, and the CoOpeRace project. Additionally, the tools developed during the work and the results of experiments conducted using the CoOpeRace CLI are presented.

DSpace tarkvara autoriõigus © 2002-2025 LYRASIS

  • Teavituste seaded
  • Saada tagasisidet