Název:
Instrumentace a vyhodnocení pro dynamickou analýzu aplikací.
Překlad názvu:
Instrumentation and Evaluation for Dynamic Program Analysis
Autoři:
Marek, Lukáš ; Tůma, Petr (vedoucí práce) ; Hasselbring, Wilhelm (oponent) ; Krall, Andreas (oponent) Typ dokumentu: Disertační práce
Rok:
2014
Jazyk:
eng
Abstrakt: [eng][cze] A dynamic program analysis provides essential information during later phases of an application development. It helps with debugging, profiling, performance optimizations or vulnerability detection. Despite that, support for creating custom dynamic analysis tools, especially in the domain of managed languages, is rather limited. In this thesis, we present two systems to help improve application observability on the Java platform. DiSL is a language accompanied with a framework allowing simple and flexible instrumentation for the dynamic program analysis. DiSL provides high level abstractions to enable quick prototyping even for programmers not possessing a knowledge of Java internals. A skilled analysis developer gains full control over the instrumentation process, thus does not have to worry about unwanted allocations or hidden execution overhead. ShadowVM is a platform that provides isolation between the observed application and the analysis environment. To reduce the amount of possible interactions between the analysis and the application, ShadowVM offloads analysis events out of the context of the application. Even though the isolation is the primary focus of the platform, ShadowVM introduces a number of techniques to stay performance comparable and provide a similar programming model as existing...Dynamická analýza aplikací zprostředkovává důležité informace během pozdějších fází vývoje. Napomáhá při laděni, profilování, výkonnostní optimalizaci nebo při detekci bezpečnostních chyb. Nicméně, podpora pro vytváření vlastních nástrojů pro dynamickou analýzu, speciálně v oblasti řízených jazyků, je poměrně omezená. Tato práce prezentuje dva systémy, které pomáhají zlepšit sledování aplikací na platformě Java. DiSL je jazyk a framework, který umožňuje jednoduchou a flexibilní instrumentaci zaměřenou na dynamickou analýzu. DiSL poskytuje abstrakce vyšší úrovně pro rychlé prototypování i pro vývojáře, kteří nemají znalosti interních systémů v Javě. Kvalifikovaný vývojář získává plnou kontrol na instrumentačním procesem, tudíž se nemusí bát nevyžádaných alokací nebo skryté běhové režie. ShadowVM je platforma poskytující separaci mezi sledovanou aplikací a prostředím pro analýzu. Pro zmírnění interakcí mezi analýzou a aplikací, ShadowVM transportuje události analýzy mimo kontext aplikace. I když je primárním cílem platformy izolace, ShadowVM zavádí několik technik tak, aby zůstala rychlostně srovnatelná a vytvářela obobné vývojové podmínky jako existující frameworky pro dynamickou analýzu.
Klíčová slova:
aspektově orientované programování; Bajtkódová instrumentace; dynamická analýza programů; JVM; aspect-oriented programming; Bytecode instrumentation; dynamic program analysis; JVM