Ta witryna wykorzystuje cookies. Więcej informacji można znaleźć na stronie Polityka dotycząca cookies i podobnych technologii. ZAMKNIJ Zamknij ostrzeżenie dotyczące cookies

Michał Komorowski obronił rozprawę doktorską

Michał Komorowski

M. Komorowski

W dniu 12 kwietnia 2016 roku Michał Komorowski obronił rozprawę doktorską pt. "Metody analizy systemów informatycznych oparte o logi debugger’ów historycznych". Promotorem rozprawy był prof. dr hab. inż. Janusz Sosnowski.

Debugger’y historyczne (DH) to narzędzia pozwalające analizować zmiany zachodzące w programie wraz z upływem czasu. Przeważnie jest to realizowane przez zapisywanie stanu zmiennych lokalnych, wywołań podprogramów (metod składowych klas, funkcji, procedur) itd. w logach. Jest to przydatne na przykład w analizie rzadko występujących błędów, ale są to wciąż˙ narzędzia relatywnie mało popularne. Przyczyn takiego stanu rzeczy autor upatruje miedzy innymi w braku kompatybilności pomiędzy istniejącymi rozwiązaniami i w braku metod pozwalających na efektywną analizę dużych logów debugger’ów historycznych (LDH). Niniejsza praca skupia się na opracowaniu metod, modeli i algorytmów, które ułatwiłyby analizę logów debugger’ów historycznych w celu lepszego zrozumienia działania systemów informatycznych oraz znajdowania i naprawiania błędów. W celu zapewnienia spójnego dostępu do logów w różnych formatach, nagranych przez różne debugger’y historyczne, w pracy zaproponowano nowy model ich przechowywania. Model ten nazywa się uniwersalne repozytorium logów debugger’ów historycznych (URLDH) i oparty jest o relacyjny model danych. Rozpatrywane logi mogą zawierać setki tysięcy wywołań podprogramów, dlatego opracowano także metodę nagrywania i przetwarzania logów debugger’ów historycznych (MNiPL) umożliwiającą redukcję ilości danych do analizy. W celu efektywnego przeglądania danych zgromadzonych w URLDH zdefiniowano nowy model graficzny do reprezentowania zawartości tych logów o nazwie wzbogacone grafy wywołana (WGW), a także opracowano algorytm znajdowania wzorców wywołana podprogramów (AZWWP), czyli pewnego rodzaju dokumentacji systemu. Wzorce te pokazują powtarzające się˛ schematy użycia podprogramów. WGW prezentują˛ zarówno statyczne jak i dynamiczne właściwości programów i mogą na przykład zostać´ użyte do wychwytywania różnic w działaniu aplikacji dla różnych danych wejściowych. W pracy zbadano również możliwości zastosowania wykresów rekurencyjnych (w skrócie WR) do analizy danych w URLDH. W tym celu opracowano metodę zamiany LDH na jednowymiarowe sygnały (szeregi czasowe), które zbudowane są z identyfikatorów liczbowych podprogramów wołanych w czasie działania aplikacji. Dodatkowo, w celu wygenerowania WR, w pracy zaproponowano trzy algorytmy liczenia odległości pomiędzy sekwencjami identyfikatorów podprogramów. Zbadano również możliwość użycia miar ilościowych opisujących WR do analizy danych w URLDH. Wiele DH nie obsługuje systemów rozproszonych. W pracy proponuje się więc metodę ich monitorowania przy pomocy „zwykłych” debugger’ów historycznych. Opracowanie tej metody wymagało przygotowania metody korelacji LDH nagranych na różnych węzłach systemu rozproszonego. Użycie zegarów fizycznych lub logicznych w omawianej sytuacji nie jest zawsze możliwe, dlatego zaproponowano korelację na podstawie zawartości komunikatów wysyłanych pomiędzy poszczególnymi składowymi analizowanego systemu rozproszonego. Praktyczną realizacją zaproponowanych metod i algorytmów są narzędzia ExecutionTraceToolkit, IntelliTrace.Analyzer, IntelliTrace.Service, GraphViewer, PatternsCalculator, RecurrencePlot.RQAComparer, RecurrencePlot.Runner oraz DrawPlot. Zostały one użyte w opisanych w pracy eksperymentach, które bazują na rzeczywistych programach, również takich mających ważne zastosowania komercyjne.

Ostatnia modyfikacja: środa, 13 kwietnia 2016, 09:52:10, Bożenna Skalska

x x Aktualności (3) - wg daty publikacji

‹‹ Kwiecień 2016 ››
Pon Wt Śr Czw Pt So N
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30