TU Darmstadt / ULB / TUbiblio

Turbo DiSL: Partial Evaluation for High-level Bytecode Instrumentation

Zheng, Yudi ; Ansaloni, Danilo ; Marek, Lukas ; Sewe, Andreas ; Binder, Walter ; Villazón, Alex ; Tuma, Petr ; Qi, Zhengwei ; Mezini, Mira (2012)
Turbo DiSL: Partial Evaluation for High-level Bytecode Instrumentation.
In: Objects, Models, Components, Patterns
doi: 10.1007/978-3-642-30561-0_24
Buchkapitel, Bibliographie

Kurzbeschreibung (Abstract)

Bytecode instrumentation is a key technique for the implementation of dynamic program analysis tools such as profilers and debuggers. Traditionally, bytecode instrumentation has been supported by low-level bytecode engineering libraries that are difficult to use. Recently, the domain-specific aspect language DiSL has been proposed to provide high-level abstractions for the rapid development of efficient bytecode instrumentations. While DiSL supports user-defined expressions that are evaluated at weave-time, the DiSL programming model requires these expressions to be implemented in separate classes, thus increasing code size and impairing code readability and maintenance. In addition, the DiSL weaver may produce a significant amount of dead code, which may impair some optimizations performed by the runtime. In this paper we introduce Turbo, a novel partial evaluator for DiSL, which processes the generated instrumentation code, performs constant propagation, conditional reduction, and pattern-based code simplification, and executes pure functions at weave-time. With Turbo, it is often unnecessary to wrap expressions for evaluation at weave-time in separate classes, thus simplifying the programming model. We present Turbo's partial evaluation algorithm and illustrate its benefits with several case studies. We evaluate the impact of Turbo on weave-time performance and on runtime performance of the instrumented application.

Typ des Eintrags: Buchkapitel
Erschienen: 2012
Autor(en): Zheng, Yudi ; Ansaloni, Danilo ; Marek, Lukas ; Sewe, Andreas ; Binder, Walter ; Villazón, Alex ; Tuma, Petr ; Qi, Zhengwei ; Mezini, Mira
Art des Eintrags: Bibliographie
Titel: Turbo DiSL: Partial Evaluation for High-level Bytecode Instrumentation
Sprache: Englisch
Publikationsjahr: Mai 2012
Ort: Berlin / Heidelberg
Verlag: Springer
Buchtitel: Objects, Models, Components, Patterns
Reihe: Lecture Notes in Computer Science
Band einer Reihe: 7304
DOI: 10.1007/978-3-642-30561-0_24
Kurzbeschreibung (Abstract):

Bytecode instrumentation is a key technique for the implementation of dynamic program analysis tools such as profilers and debuggers. Traditionally, bytecode instrumentation has been supported by low-level bytecode engineering libraries that are difficult to use. Recently, the domain-specific aspect language DiSL has been proposed to provide high-level abstractions for the rapid development of efficient bytecode instrumentations. While DiSL supports user-defined expressions that are evaluated at weave-time, the DiSL programming model requires these expressions to be implemented in separate classes, thus increasing code size and impairing code readability and maintenance. In addition, the DiSL weaver may produce a significant amount of dead code, which may impair some optimizations performed by the runtime. In this paper we introduce Turbo, a novel partial evaluator for DiSL, which processes the generated instrumentation code, performs constant propagation, conditional reduction, and pattern-based code simplification, and executes pure functions at weave-time. With Turbo, it is often unnecessary to wrap expressions for evaluation at weave-time in separate classes, thus simplifying the programming model. We present Turbo's partial evaluation algorithm and illustrate its benefits with several case studies. We evaluate the impact of Turbo on weave-time performance and on runtime performance of the instrumented application.

Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik > Softwaretechnik
LOEWE > LOEWE-Zentren > CASED – Center for Advanced Security Research Darmstadt
20 Fachbereich Informatik
Zentrale Einrichtungen
LOEWE
LOEWE > LOEWE-Zentren
Hinterlegungsdatum: 17 Apr 2012 14:28
Letzte Änderung: 05 Mär 2013 10:00
PPN:
Export:
Suche nach Titel in: TUfind oder in Google
Frage zum Eintrag Frage zum Eintrag

Optionen (nur für Redakteure)
Redaktionelle Details anzeigen Redaktionelle Details anzeigen