Приказ основних података о дисертацији

Prevođenje i transformisanje programa niskog nivoa

dc.contributor.advisorBudimac, Zoran
dc.contributor.otherRadovanović, Miloš
dc.contributor.otherBudimac, Zoran
dc.contributor.otherRakić, Gordana
dc.contributor.otherRadivojević, Zaharije
dc.creatorPracner, Doni
dc.date.accessioned2019-05-16T11:43:46Z
dc.date.available2019-05-16T11:43:46Z
dc.date.available2020-07-03T13:41:23Z
dc.date.issued2019-04-17
dc.identifier.urihttps://www.cris.uns.ac.rs/DownloadFileServlet/Disertacija154833234227384.pdf?controlNumber=(BISIS)110184&fileName=154833234227384.pdf&id=12548&source=NaRDuS&language=srsr
dc.identifier.urihttps://nardus.mpn.gov.rs/handle/123456789/11087
dc.identifier.urihttps://www.cris.uns.ac.rs/record.jsf?recordId=110184&source=NaRDuS&language=srsr
dc.identifier.urihttps://www.cris.uns.ac.rs/DownloadFileServlet/IzvestajKomisije154833239987936.pdf?controlNumber=(BISIS)110184&fileName=154833239987936.pdf&id=12549&source=NaRDuS&language=srsr
dc.description.abstractThis thesis presents an approach for working with low level source code that enables automatic restructuring and raising the abstraction level of the programs. This makes it easier to understand the logic of the program, which in turn reduces the development time.The process in this thesis was designed to be flexible and consists of several independent tools. This makes the process easy to adapt as needed, while at the same time the developed tools can be used for other processes. There are usually two basic steps. First is the translation to WSL language, which has a great number of semantic preserving program transformations. The second step are the transformations of the translated WSL. Two tools were developed for translation: one that works with a subset of x86 assembly, and another that works with MicroJava bytecode. The result of the translation is a low level program in WSL.The primary goal of this thesis was to fully automate the selection of the transformations. This enables users with no domain  knowledge to efficiently use this process as needed. At the same time, the flexibility of the process enables experienced users to adapt it as needed or integrate it into other processes. The automation was achieved with a hill climbing algorithm.Experiments that were run on several types of input programs showed that the results can be excellent. The fitness function used was a built-in metric that gives the “weight” of structures in a program. On input samples that had original high level source codes, the end result metrics of the translated and transformed programs were comparable. On some samples the result was even better than the originals, on some others they were somewhat more complex. When comparing with low level original source code, the end results was always significantly improved.en
dc.description.abstractU okviru ove teze se predstavlja pristup radu sa programima niskog nivoa koji omogućava automatsko restrukturiranje i podizanje na više nivoe. Samim tim postaje mnogo lakše razumeti logiku programa što smanjuje vreme razvoja.Proces je dizajniran tako da bude fleksibilan i sastoji se od više nezavisnih alata. Samim tim je lako menjati proces po potrebi, ali i upotrebiti razvijene alate u drugim procesima. Tipično se mogu razlikovati dva glavna koraka. Prvi je prevođenje u jezik WSL,za koji postoji veliki broj transformacija programa koje očuvavaju semantiku. Drugi su transformacije u samom WSL-u. Za potrebe prevođenja su razvijena dva alata, jedan koji radi sa podskupom x86 asemblera i drugi koji radi sa MikroJava bajtkôdom. Rezultat prevođenja je program niskog nivoa u WSL jeziku.Primarni cilj ovog istraživanja je bila potpuna automatizacija odabira transformacija, tako da i korisnici bez iskustva u radu sa sistemom mogu efikasno da primene ovaj proces za svoje potrebe. Sa druge strane zbog fleksibilnosti procesa, iskusni korisnici mogu lakoda ga prošire ili da ga integrišu u neki drugi već postojeći   proces.Automatizacija je  postignuta pretraživanjem usponom (eng. hill climbing).Eksperimenti vršeni na nekoliko tipova ulaznih programa niskog nivoa su pokazali da rezultati mogu biti  izuzetni. Za funkciju pogodnosti je korišćena ugrađena metrika koja daje “težinu” struktura u programu. Kod ulaza za koje je originalni izvorni kôd bio dostupan, krajnje metrike najboljih varijanti prevedenih i transformisanih programa su bile na sličnom nivou. Neki primeri su bolji od originala, dok su drugi bili nešto kompleksniji. Rezultati su uvek pokazivali značajna unapređenja u odnosu na originalni kôd niskog nivoa.sr
dc.languageen
dc.publisherУниверзитет у Новом Саду, Природно-математички факултетsr
dc.rightsopenAccessen
dc.rights.urihttps://creativecommons.org/licenses/by-sa/4.0/
dc.sourceУниверзитет у Новом Садуsr
dc.subjectSoftware Evolutionen
dc.subjectEvolucija softverasr
dc.subjecttransformacije kôdasr
dc.subjectautomatizacija transformacijasr
dc.subjectformalne transformacijesr
dc.subjectasemblersr
dc.subjectbajtkôdsr
dc.subjectWide Spectrum Languagesr
dc.subjectMicroJavasr
dc.subjectCode transformationsen
dc.subjectAutomated Transformationsen
dc.subjectFormal transformationsen
dc.subjectassemblyen
dc.subjectbytecodeen
dc.subjectWide Spectrum Languageen
dc.subjectMicroJavaen
dc.titleTranslation and Transformation of Low Level Programsen
dc.title.alternativePrevođenje i transformisanje programa niskog nivoasr
dc.typedoctoralThesisen
dc.rights.licenseBY-SA
dc.identifier.fulltexthttp://nardus.mpn.gov.rs/bitstream/id/37658/IzvestajKomisije.pdf
dc.identifier.fulltexthttp://nardus.mpn.gov.rs/bitstream/id/37657/Disertacija.pdf
dc.identifier.fulltexthttps://nardus.mpn.gov.rs/bitstream/id/37658/IzvestajKomisije.pdf
dc.identifier.fulltexthttps://nardus.mpn.gov.rs/bitstream/id/37657/Disertacija.pdf
dc.identifier.rcubhttps://hdl.handle.net/21.15107/rcub_nardus_11087


Документи за докторску дисертацију

Thumbnail
Thumbnail

Ова дисертација се појављује у следећим колекцијама

Приказ основних података о дисертацији