Publikation

Zurück zur Übersicht

Introduction to Dynamic Program Analysis with DiSL

Publikationsart Peer-reviewed
Publikationsform Originalbeitrag (peer-reviewed)
Publikationsdatum 2015
Autor/in Marek Lukáš, Zheng Yudi, Ansaloni Danilo, Bulej Lubomír, Sarimbekov Aibek, Binder Walter, Tůma Petr,
Projekt FAN: Foundations of dynamic program ANalysis
Alle Daten anzeigen

Originalbeitrag (peer-reviewed)

Zeitschrift Science of Computer Programming
Volume (Issue) 98(1)
Seite(n) 100 - 115
Titel der Proceedings Science of Computer Programming
DOI 10.1016/j.scico.2014.01.003

Abstract

Dynamic program analysis (DPA) tools assist in many software engineering and development tasks, such as profiling, program comprehension, and performance model construction and calibration. On the Java platform, many DPA tools are implemented either using aspect-oriented programming (AOP), or rely on bytecode instrumentation to modify the base program code. The pointcut/advice model found in AOP enables rapid tool development, but does not allow expressing certain instrumentations due to limitations of mainstream AOP languages—developers thus use bytecode manipulation to gain more expressiveness and performance. However, while the existing bytecode manipulation libraries handle some low-level details, they still make tool development tedious and error-prone. Targeting this issue, we provide the first complete presentation of DiSL, an open-source instrumentation framework that reconciles the conciseness of the AOP pointcut/advice model and the expressiveness and performance achievable with bytecode manipulation libraries. Specifically, we extend our previous work to provide an overview of the DiSL architecture, advanced features, and the programming model. We also include case studies illustrating successful deployment of DiSL-based DPA tools.
-