EMIL: A Toolkit for Program Analysis and Modification
No Thumbnail Available
URL
Journal Title
Journal ISSN
Volume Title
Helsinki University of Technology |
Diplomityö
Checking the digitized thesis and permission for publishing
Instructions for the author
Instructions for the author
Authors
Date
1999
Department
Major/Subject
Ohjelmistotekniikka
Mcode
Tik-106
Degree programme
Language
en
Pages
vi + 65
Series
Abstract
Diplomityössä tarkastellaan instrumentointia, ohjelmistojen suorituskykyanalyysissä käytettyä tekniikkaa, jossa ohjelmaan lisätään haluttuja mittauksia tekevää ohjelmakoodia. Työssä tarkastellaan kokonaisten ajettavien ohjelmien instrumentointia lähdekoodin tai yksittäisten objektitiedostojen sijasta, koska näin koko ohjelmakoodia voidaan tarkastella ohjelmointikielestä riippumatta tasolla, jossa kaikki sen suorituksen yksityiskohdat ovat esillä ja tarkat mittaukset ovat mahdollisia. Instrumentointi on käsitteellisesti yksinkertainen tekniikka, mutta käytännön toteutusta hankaloittavat laiteympäristöjen käskykannan piirteet sekä kääntäjien, tiedostoformaattien ja käyttöjärjestelmien rajoitukset. Työn aikana on toteutettu instrumentointikirjasto, joka toimii Linux-käyttöjärjestelmän Alpha-versiossa. Sen toteutuksesta saatujen kokemusten avulla tarkastellaan instrumetointiin liittyvien toimintojen, konekoodin analysoinnin, muokkauksen ja uudelleensijoituksen käytännön ongelmia, kun toimitaan ilman ohjelman lähdekoodia tai eksplisiittistä tietoa ohjelman rakenteesta. Esimerkkinä kirjaston käytöstä GCC-kääntäjä on instrumentoitu ohjelmakoodilla, joka mittaa sen kutsumien C-kirjastossa olevien syöte- ja tulostefunktioiden suoritusaikoja.Description
Supervisor
Soisalon-Soininen, EljasThesis advisor
Nuutila, EskoKeywords
performance analysis, suorituskykyanalyysi, instrumentation, instrumentointi, executable modification, ajettavan ohjelman muunnos, control flow, kontrollivuo, data flow, tietovuo