Sirvi Autor "Vojdani, Vesal" järgi
Nüüd näidatakse 1 - 8 8
- Tulemused lehekülje kohta
- Sorteerimisvalikud
Kirje Eclipse plugin PHP programmides leiduvate SQL päringute kontrollimiseks(2015) Tamm, Urmas; Vojdani, Vesal; Annamaa, AivarKäesoleva magistritöö eesmärgiks oli kavandada ja implementeerida Eclipse’i põhine töövahend, mis võimaldaks kontrollida PHP-skriptides leiduvate SQL-päringute süntaktilist ning semantilist korrektsust. Aluseks sai võetud juba eksisteeriv töövahend Alvor, mis on mõeldud Java koodis leiduvate SQL lausete kontrollimiseks. Töö tulemusena valmis laiendus AlvorPHP, mis kogub kokku päringulaused neid sisaldava PHP funktsiooni või skripti skoobis ning tagastab edasiseks käitlemiseks. PHP dünaamilise eripära tõttu ei olnud võimalik realiseerida toetust kõigile temas esinevatele keelelistele konstruktsioonidele. Mõned neist jäid realiseerimata ka ajapuuduse tõttu, mis jätab võimaluse laienduse edaspidiseks täiendamiseks. Sellele vaatamata on toetatud enam levinud ning kasutatavad vahendid. Antud laienduse kasutajate sihtgrupp peaks olema ennekõike algajad programmeerijad, kes saaksid seda kasutada õppimist toetava abivahendina.Kirje Funktsioonikutsete ajalugu kodeeriva Java agendi jõudluse tõstmine(2016) Maliuvanchuk, Ostap; Vojdani, Vesal; Salnikov-Tarnovski, NikitaFunktsioonikutsete ajalugu, mida kasutajale trükitakse pinujäljena, on suureks abiks programmis toimuva vea täpse asukoha leidmiseks lähtekoodis. Sügavamate probleemide puhul on aga vaja programmi täitmist pikemalt jälgida ja oluliste sündmuste toimumisel nende funktsioonikutsete ajalugu salvestada. Kuna terve ajalugu on väga pikk, siis on mõistlik seda kodeerida. Selles magistritöös uuritakse ühte konkreetset kodeerimise algoritmi Lucce, tuues välja nii selle eeliseid teiste algoritmidega võrreldes kui ka probleeme jõudlusega. Eesmärgiks on selle algoritmi jõudlust tõsta ja sellel näitel tutvustada üldiseid ning Java agentidega seotud jõudluse tõstmise võtteid.Kirje Käitusaegne programmi uuendamine Truffle raamistiku keeltele(2016) Pool, Tõnis; Gregersen, Allan Raundahl; Vojdani, VesalProgrammide käitusaegset uuendamist on põhjalikult uuritud ning selle kasutamine programmeerimiskeelte implementatsioonides kogub hoogu. Senised pakutud lahendused programmide käitusaegse uuendamise osas on rakendatavad ainult konkreetsetele keeltele ja ei ole taaskasutatavad. Käesolevas lõputöös on uuritud seda, kuidas Truffle-nimeline programmeerimiskeelte loomise raamistik suudaks aidata keelte loojatel lisada käitusaegse uuendamise tuge. Autor on loonud taaskasutatava dünaamilise uuendamise lahenduse, mida erinevad Truffle raamistikus loodud keeled saavad kasutada selleks, et vähese vaevaga toetada käitusaegseid uuendusi. Antud lahendusega on võimalik uuendatavaks teha Pythoni, Ruby ja JavasScripti Truffle implementatsioone. Väljatöötatud lahendusel on peaaegu olematu mõju keele tippvõimsusele, kui on sisse lülitatud Truffle täppisajastusega (JIT) kompilaator. See lahendus teeb käitusaegse uuendamise toe lisamise uutele ja tulevastele keeltele märkimisväärselt lihtsamaks.Kirje Lõimeanalüüs Goblintis(Tartu Ülikool, 2011) Laanemets, Raivo; Vene, Varmo; Vojdani, Vesal; Apinis, Kalmer; Tartu Ülikool. Matemaatika-informaatikateaduskond; Tartu Ülikool. Arvutiteaduse instituutC-keelsetes programmides lõimede loomise/lõpetamise struktuuri staatiline analüüs.Kirje Mitmelõimeliste C-programmide kraasimine analüsaatoriga Goblin(2006) Vojdani, Vesal; Vene, Varmo, juhendajaKirje Nim keele toe lisamine IntelliJ IDEA arenduskeskkonnale(2016) Gabbasov, Dmitri; Vojdani, VesalNim on programmeerimiskeel, mis on inspireeritud selliste keelte poolt nagu C, Python ja Lisp. Tegu on eelkõige madala taseme süsteemide programmeerimiskeelega, kuid selle paindlik süntaks ja automaatse mäluhalduse tugi võimaldavad ka näiteks veebirakenduste kirjutamist. IntelliJ IDEA on firma JetBrains poolt loodud arenduskeskkond (IDE), mis võimaldab arendada rakendusi erinevates keeltes (nt. Java, PHP, Python, C++, Ruby jt). Käesoleva töö eesmärgiks on luua IntelliJ arenduskeskkonnale laiendus, mis võimaldaks Nim keeles rakenduste kirjutamist. Põhiline eesmärk on realiseerida sümbolite järgi navigeerimine ja automaatne sümbolite sisestamine.Kirje Staatilise analüsaatori Goblinti regioonianalüüsi täiendamine aja partitsioneerimisega happens-before teabe alusel(2016) Rõtov, Vootele; Vojdani, Vesal; Apinis, KalmerSeadmedraiverite ehk ohjurite paralleelne olemus muudab\n\rnendest vigade leidmise inimese jaoks väga keeruliseks. Staatiline analüsaator\n\rGoblint üritab automaatselt verifitseerida, et ohjuris puuduvad andmejooksud.\n\rSealjuures on suureks väljakutseks analüüsi täpsus. Käesolev töö arendab edasi\n\rGoblinti regioonianalüüsi, mis võimaldab arvesse võtta valdkonnale eriomaseid\n\rhappens-before tagatisi. Väljapakutud täienduse implementeerimise ning\n\rmuudatuste mõju analüüsimise aluseks on võetud Linuxi ohjurite alamhulk. Me\n\rnäitame, et mainitud edasiarendus suurendab Goblinti täpsust character tüüpi\n\rohjurite analüüsimisel.Kirje Static Data Race Analysis of Heap-Manipulating C Programs(2010-11-09) Vojdani, VesalKaasaegsed arvutiarhitektuurid võimaldavad üheaegselt läbi viia mitmeid arvutusi. Programmide kirjutamine niisuguste süsteemide jaoks on äärmiselt raske, kuna paralleelselt käivitatavate lõimede vaheline koosmõju on ettearvamatu. Üks eriti raskesti tabatav viga mitmelõimelises süsteemis on andmejooks, s.o. olukord, kus mitu lõime üritavad samaaegselt ühele ja samale jagatud mäluasukohale ligi pääseda. See võib kaasa tuua andmete riknemise ja sellega süsteemi kokku jooksmise või muu ebakorrektse käitumise. Staatiline programmianalüüs on formaalne meetod, millega saab välja arvutada programmi kõigi võimalike käitumiste ülemhulga, lahendades teatava andmevoogu kirjeldava võrrandisüsteemi. Käesoleva doktoritöö põhiteesiks on väide, et staatilise programmianalüüsiga on võimalik kindlaks teha andmejooksude puudumine reaalsetes keerukates süsteemides, eriti operatsioonisüsteemide tuumamoodulites. Selliste süsteemide jaoks on analüüside arendamine raskendatud, sest nii andmestruktuurid kui ka neid kaitsvad lukud luuakse alles programmi täitmise ajal. Probleemi ületamiseks on töö raames arendatud kolm uudset meetodit: aadressavaldiste võrduste analüüs, dünaamilise mälu regioon-analüüs ja süsteemkoodile sobiv mälukuju analüüs. Mainitud meetodid on realiseeritud mitmelõimeliste C programmide analüsaatorite raamistikus Goblint ja nende praktilisust on demonstreeritud mitmete vabavaraliste rakenduste ja operatsioonisüsteemi Linux tuumamoodulite analüüsiga.