Locating Performance Regressions In Code
Locating Performance Regressions In Code
Lokalizovanie zmien výkonnosti v kóde
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/11877Identifikátory
SIS: 44252
Kolekce
- Kvalifikační práce [11244]
Autor
Vedoucí práce
Oponent práce
Hnětynka, Petr
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové systémy
Katedra / ústav / klinika
Katedra softwarového inženýrství
Datum obhajoby
28. 1. 2008
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Slovenština
Známka
Dobře
Cieľom tejto práce je vylepšiť hľadanie zmien v zdrojovom kóde, ktoré možu sposobovať zmenu výkonnosti a uľahčiť tak testovanie software. Pre tento účel je vytvorený framework, ktorý obsahuje popis prípadne vytvorenie nástrojov a definíciu postupov ako s nimi pracovať. Práca začína s popisom profilovania a kým sposobom može tento proces ovplyvniť výsledky merania výkonnosti. Sú definované požiadavky na profiler potrebný na túto prácu a na ich základe bol zvolený OProfile ako vzorový profiler. Ďalšia časť obsahuje analýzu behu programu popis jeho dvoch častí Execution a Waiting. Nasleduje rozdelenie zmien v zdrojovóm kóde do jednotlivých kategórií podľa toho, akým sposobom je možné ich detekovať. Tretia časť definuje dve metódy na lokalizovanie zmien vo výkonnosti: filtrovanie zmien v kóde a porovnávanie výsledkov profileru. Filtrovanie zmien v kóde je definované ako prienik zoznamu zmien v zdrojovom kóde a zoznamu riadkov kódu, ktoré boli pri meraní spustené. Druhá metóda je len porovnávanie výstupov z profileru s použitím vizualizačného nástroja. Záverečná časť je ukážka použitia týchto metód v realnych projektoch
The objective of this work is to improve look up for changes in source code performance and help to remove burden at software testing with it. It tries to design some framework for this purpose which includes creating or desribing tools and defining methods how to work with them. The work starts with desciption of profiling and how this process can influence the performance measurement results. The profiler requirements are defined for purposes of this work and the OProfile is selected as the representative profiler. The next part contains analysis of program run and description of Execution and Waiting part of the run. Following is the categorization of various source code changes due to the posibility of their detection. The third part defines two methods for locating performance regression: advanced difference filtering and comparing the profiler results. Advanced difference filtering is an intersection between a list of changed code parts and a list of code parts executed at measurement. The second method is just comparing the profiler output using the visualization tool. The final part is demonstration of these two methods on real projects.