— DSAL'10 — Program — Call For Papers — Organizers —
Many dynamic analysis tools for the Java Virtual Machine are implemented with low-level bytecode instrumentation techniques. While program manipulation at the bytecode level is very flexible, because the possible bytecode transformations are not restricted, tool development is tedious and error-prone. Specifying dynamic analyses at a higher level using AOP is a promising alternative in order to reduce tool development time and cost. However, general-purpose AOP languages lack some features that are essential for dynamic analyses, such as pointcuts at the level of individual bytecodes and basic blocks of code, primitives for passing data between woven advice in local variables, and support for custom static analysis at weaving time. This talk presents the design of @J (Aspect Tools in Java), an aspect-oriented DSL for dynamic program analysis currently under development at the University of Lugano. @J addresses the aforementioned issues and offers dedicated support for optimizing dynamic analyses on multicores.
The McLab system is an extensible optimizing compiler framework for the Matlab language. It allows for domain-specific extensions and language experimentation. One example extension that has been implemented is AspectMatlab.
In this presentation we will describe McLab and AspectMatlab from two points of view. First, from the perspective of compiler designers, we will present the design of McLab as a domain-specific extensible framework and AspectMatlab as an example extension. Second, from the perspective of a scientist using AspectMatab for domain-specific applications, we will provide interesting scientific applications of aspects.
This talk will include an introduction to Matlab, a discussion of tools and design decisions in McLab, motivation for aspects in Matlab, some example aspects and some domain-specific challenges encountered while building AspectMatlab.
Note: This talk complements the AOSD presentation on AspectMatlab. The AOSD talk will present the design of the AspectMatlab language and the implementation details of the AspectMatlab compiler. The workshop presentation will not address these topics in any detail.