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

Date

1999

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, Eljas

Thesis advisor

Nuutila, Esko

Keywords

performance analysis, suorituskykyanalyysi, instrumentation, instrumentointi, executable modification, ajettavan ohjelman muunnos, control flow, kontrollivuo, data flow, tietovuo

Other note

Citation