Please use this identifier to cite or link to this item: https://open.uns.ac.rs/handle/123456789/19456
Title: Translation and Transformation of Low Level Programs
Prevođenje i transformisanje programa niskog nivoa
Authors: Pracner Doni 
Keywords: Software Evolution, Code transformations, Automated Transformations, Formal transformations, assembly,bytecode, Wide Spectrum Language, MicroJava;Evolucija softvera, transformacije kôda, automatizacija transformacija, formalne transformacije, asembler,bajtkôd, Wide Spectrum Language, MicroJava
Issue Date: 17-Apr-2019
Publisher: Univerzitet u Novom Sadu, Prirodno-matematički fakultet u Novom Sadu
University of Novi Sad, Faculty of Sciences at Novi Sad
Abstract: <p>This 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&nbsp; 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 <em>hill climbing </em>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 &ldquo;weight&rdquo; 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.</p>
<p>U okviru ove teze se predstavlja pristup radu sa programima niskog nivoa koji omogućava automatsko restrukturiranje i podizanje na vi&scaron;e nivoe. Samim tim postaje mnogo lak&scaron;e razumeti logiku programa &scaron;to smanjuje vreme razvoja.Proces je dizajniran tako da bude fleksibilan i sastoji se od vi&scaron;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&ocirc;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&scaron;ire ili da ga integri&scaron;u u neki drugi već postojeći&nbsp;&nbsp; proces.Automatizacija je&nbsp; postignuta pretraživanjem usponom (eng. hill climbing).Eksperimenti vr&scaron;eni na nekoliko tipova ulaznih programa niskog nivoa su pokazali da rezultati mogu biti&nbsp; izuzetni. Za funkciju pogodnosti je kori&scaron;ćena ugrađena metrika koja daje &ldquo;težinu&rdquo; struktura u programu. Kod ulaza za koje je originalni izvorni k&ocirc;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&scaron;to kompleksniji. Rezultati su uvek pokazivali značajna unapređenja u odnosu na originalni k&ocirc;d niskog nivoa.</p>
URI: https://open.uns.ac.rs/handle/123456789/19456
Appears in Collections:PMF Teze/Theses

Show full item record

Page view(s)

25
Last Week
7
Last month
0
checked on May 10, 2024

Google ScholarTM

Check


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.