<?xml version="1.0" encoding="utf-8"?>
<Gradivo ID="187782" NadgradivoID="0" NRID="0" OceID="0" DomainUrl="https://repozitorij.uni-lj.si/" IzpisPolniUrl="https://repozitorij.uni-lj.si/IzpisGradiva.php?lang=slv&amp;id=187782" StOgledov="9" StPrenosov="1" StOcen="0" VsotaOcen="0" DatumIzvoza="2026-09-15 10:24:09" OcenaSkupna="0" StPodgradiv="0" StudijskiProgramEvsID="1000468" JeIndeksirano="0" JeVecAvtorjev="0" DovoliZahtevkeZaDostop="0">
  <PID Url="http://hdl.handle.net/20.500.12556/RUL-187782">20.500.12556/RUL-187782</PID>
  <Naslov>Razvoj abstraktnega stroja s preverjanjem kode</Naslov>
  <Podnaslov></Podnaslov>
  <TujJezik_Naslov>Development of an abstract machine with code verification</TujJezik_Naslov>
  <TujJezik_Podnaslov></TujJezik_Podnaslov>
  <Opis>Varno izvajanje programov zahteva strogo preverjanje kode, preden se program sploh izvede. Varnost lahko še dodatno okrepimo s sledenjem pretoku informacij, ki omogoča nadzor nad tem, kako se vrednosti prenašajo med različnimi deli sistema, predvsem standardnim vhodom in izhodom. V pričujočem delu je zasnovan eksperimentalni abstraktni stroj, katerega računski model združuje lastnosti skladovne in registrske arhitekture. Vrednosti na skladu so nespremenljive, nadzorni tok pa je omejen na pogojne stavke in klice funkcij. Stroj je implementiran kot knjižnica v jeziku Rust ter vsebuje izvajalnik za konkretno izvajanje programov in preverjalnik, ki pred izvajanjem opravi preverjanje kode z uporabo intervalov, ki predstavljajo možne vrednosti med izvajanjem. Oba dela stroja podpirata tudi sledenje pretoku informacij. Stroju je potrebno podati varnostno politiko, ki določa pravila za sledenje. Da se izognemo plazenju oznak, je s funkcijami za siromašenje mogoče spremeniti oznake podatkov iz strogih v ohlapne. Izdelani stroj uspešno preverja programe pred izvajanjem in izvaja sledenje pretoku informacij.</Opis>
  <TujJezik_Opis>Safe execution of programs requires strict code verification before the program is executed at all. Security can be further enhanced by information flow tracking, which allows control over how values are transferred between different parts of the system, especially standard input and output. In this thesis, an experimental abstract machine is designed, whose computational model combines properties of stack-based and register-based architectures. Stack values are immutable, and control flow is restricted to conditional statements and function calls. The machine is implemented as a library in the Rust language and includes an executor for concrete program execution and a verifier that performs code verification before execution using intervals that represent possible values during execution. Both parts of the machine also support information flow tracking. The machine requires a security policy that defines the rules for tracking. To avoid tag creep, it is possible to change data tags from strict to loose using downgraders. The developed machine successfully verifies programs before execution and performs information flow tracking.</TujJezik_Opis>
  <KljucneBesede>
    <Beseda>abstraktni stroj</Beseda>
    <Beseda>preverjanje kode</Beseda>
    <Beseda>enkratno prirejanje</Beseda>
    <Beseda>sledenje pretoku informacij</Beseda>
  </KljucneBesede>
  <TujJezik_KljucneBesede>
    <Beseda>abstract machine</Beseda>
    <Beseda>code verification</Beseda>
    <Beseda>single assignment</Beseda>
    <Beseda>information-flow tracking</Beseda>
  </TujJezik_KljucneBesede>
  <Potrjeno>true</Potrjeno>
  <JeZaklenjeno>false</JeZaklenjeno>
  <JeRecenzirano>false</JeRecenzirano>
  <Zaloznik></Zaloznik>
  <Izvor></Izvor>
  <Jezik ID="1060" ISO639-3="slv">Slovenski jezik</Jezik>
  <TujJezik ID="1033" ISO639-3="eng">Angleški jezik</TujJezik>
  <Povezave></Povezave>
  <Pokrivanje></Pokrivanje>
  <CasovnoPokritje></CasovnoPokritje>
  <AvtorskePravice></AvtorskePravice>
  <VrstaGradiva ID="mb11" DRIVER="info:eu-repo/semantics/bachelorThesis">Diplomsko delo/naloga</VrstaGradiva>
  <DatumVstavljanja>2026-09-14 12:05:09</DatumVstavljanja>
  <DatumObjave>2026-09-14 12:05:14</DatumObjave>
  <DatumSpremembe>2026-09-15 04:27:48</DatumSpremembe>
  <DatumTrajnegaHranjenja>0000-00-00 00:00:00</DatumTrajnegaHranjenja>
  <LetoIzida>2026</LetoIzida>
  <LetoIzidaDo>0</LetoIzidaDo>
  <KrajIzida></KrajIzida>
  <LetoIzvedbe>0</LetoIzvedbe>
  <KrajIzvedbe></KrajIzvedbe>
  <Opomba></Opomba>
  <StStrani></StStrani>
  <StevilcenjeNivo1></StevilcenjeNivo1>
  <StevilcenjeNivo2></StevilcenjeNivo2>
  <Kronologija></Kronologija>
  <Patent_Stevilka></Patent_Stevilka>
  <Patent_DatumVeljavnosti>0000-00-00</Patent_DatumVeljavnosti>
  <VerzijaDokumenta>NiDoloceno</VerzijaDokumenta>
  <StatusObjaveDrugje>NiDoloceno</StatusObjaveDrugje>
  <VrstaStroskaObjave>NiDoloceno</VrstaStroskaObjave>
  <DatumPoslanoVRecenzijo>0000-00-00</DatumPoslanoVRecenzijo>
  <DatumSprejetjaClanka>0000-00-00</DatumSprejetjaClanka>
  <DatumObjaveClanka>0000-00-00</DatumObjaveClanka>
  <EmbargoDo>1970-01-01</EmbargoDo>
  <VrstaEmbarga ID="1" Naziv="Takojšnja javna objava" OpenAIREDostop="openAccess"></VrstaEmbarga>
  <Osebe>
    <Oseba ID="166018" Ime="Matic" Priimek="Poženel" AltIme="" VlogaID="70" VlogaNaziv="Avtor" ConorID="" Afiliacija="" ArrsID="0" ORCID=""></Oseba>
    <Oseba ID="23619" Ime="Jurij" Priimek="Mihelič" AltIme="Jurij Mihelic; Jurij Mihellič; Jurij Mihehič" VlogaID="991" VlogaNaziv="Mentor" ConorID="22912099" Afiliacija="" ArrsID="22475" ORCID=""></Oseba>
  </Osebe>
  <Identifikatorji>
    <Identifikator ID="16" Sifra="VisID" Naziv="VisID" URL="">38816</Identifikator>
  </Identifikatorji>
  <Datoteke>
    <Datoteka ID="247533" DatotekaNRID="0" NamenDatotekeID="2" NamenDatoteke="Predstavitvena datoteka" FormatDatotekeID="2" FormatDatoteke=".pdf" MIME="application/pdf" IkonaFormata="pdf.png" IkonaFormataPolniUrl="https://repozitorij.uni-lj.si/teme/rulDev/img/fileTypes/pdf.png" VelikostDatoteke="496673" VelikostDatotekeKratko="485,03 KB" DatumVstavljanja="2026-09-14 12:05:15" JeZbrisana="false" JeJavnoVidna="true" JeIndeksirana="false" JeVidno="true" VidnoOd="01.01.1970" Zaporedje="0">
      <Naziv>Pozenel_Matic_-_Razvoj_abstraktnega_stroja_s_preverjanjem_kode.pdf</Naziv>
      <OrgNaziv>Pozenel_Matic_-_Razvoj_abstraktnega_stroja_s_preverjanjem_kode.pdf</OrgNaziv>
      <URL></URL>
      <Opis></Opis>
      <OpisTujJezik></OpisTujJezik>
      <UrlObdelave></UrlObdelave>
      <FrekvencaAzuriranjaID>1</FrekvencaAzuriranjaID>
      <Verzija></Verzija>
      <MD5>E3AE0629BFE699B4C913C9A3DB1C0786</MD5>
      <SHA256>4c584e592f5ef413dc1c7bf94dc4e457160702b6d7c295ee241cc94103506ac5</SHA256>
      <UUID>bfc3264f-b023-11f1-8bc5-0050569b8976</UUID>
      <PID></PID>
      <PrenosPolniUrl>https://repozitorij.uni-lj.si/Dokument.php?lang=slv&amp;id=247533</PrenosPolniUrl>
      <Vsebine>
      </Vsebine>
    </Datoteka>
  </Datoteke>
  <Organizacije>
    <Organizacija OrganizacijaID="25" Kratica="FRI" ZavodEvsID="0000066" Logo="" LogoPolniUrl="https://repozitorij.uni-lj.si/teme/rulDev/img/logo/">Fakulteta za računalništvo in informatiko</Organizacija>
  </Organizacije>
  <OrganizacijeVira>
  </OrganizacijeVira>
  <MetodeZbiranjaPodatkov>
  </MetodeZbiranjaPodatkov>
  <TipologijaDela ID="0" Koda="0" Naziv="Ni določena" SchemaOrg="CreativeWork"></TipologijaDela>
  <Ostalo>
    <StIrodsDatotek>0</StIrodsDatotek>
    <StDatotekPodTrajnimEmbargom>0</StDatotekPodTrajnimEmbargom>
    <StDatotekZOmejenimDostopom>0</StDatotekZOmejenimDostopom>
  </Ostalo>
</Gradivo>
