Complete name of the project


Submitter information

Lukas Marek, Faculty of Mathematics and Physics, Charles University in Prague, lukas.marek (at) d3s.mff.cuni.cz

Project purpose and summarization

Project information

DiSL is a new Java instrumentation language and framework specifically
designed to meet the requirements of dynamic program analysis.

Description of the project and its goals

DiSL is a language inspired by the AOP principles, hosted in Java using
annotations. DiSL offers an open join-point model where any bytecode
region can be a shadow, synthetic local variables for efficient data
passing, efficient access to comprehensive static and dynamic context
information, and weave-time execution of user-defined static analysis code.
DiSL offers much better code coverage, incurs significantly less overhead,
and eases the integration of new analysis features in comparison to other
AOP based languages (frameworks) like AspectJ.

Targeted audience

The target audience are developers of dynamic program analysis tools
requiring easy-to-use and efficient instrumentation language.

The target audience will likely be familiar with AspectJ
(http://www.eclipse.org/aspectj) or ASM (http://asm.ow2.org)
as examples of tools also suitable for writing instrumentation.
AspectJ incurs a significant overhead compared to instrumentation
produced by DiSL. ASM is able to produce efficient instrumentation,
but the developer needs to operate on byte code level. DiSL tries
to provide the same efficiency as ASM (DiSL is based on ASM), but
exposes a higher level API (language) to the developer.

For thorough information see http://dl.acm.org/citation.cfm?doid=2162049.2162077.

Supporting team

Lukas Marek
Charles University in Prague
lukas.marek (at) d3s.mff.cuni.cz

Walter Binder
University of Lugano
binwalt (at) gmail.com

Danilo Ansaloni
University of Lugano
danilo.ansaloni (at) gmail.com

Aibek Sarimbekov
University of Lugano
aibek.sarimbekov (at) gmail.com

Yudi Zheng
Shanghai Jiao Tong University
jhengyudi (at) gmail.com

Business model

At this time, the project is non profit, the goal is to provide and maintain
an already developed tool that can be useful to people working with dynamic
program analysis. By open sourcing our framework, we believe to get faster
adoption by the target audience.

User community

Our framework is currently used by researchers that implement dynamic
program analysis tools, in particular other research teams at University of Lugano, Charles
University, Technische Universitat Darmstadt, Shanghai Jiao Tong University.


The framework aims at developers, user level internalization is therefore
not applicable.


The framework is close to stable, final testing and minor adjustments,
together with documentation writing, are underway. Additional features
planned for later development:

 - Offloading of analysis computations.

 - More abstract language constructs.

 - Supporting plugins.


The project was hosted at http://disl.origo.ethz.ch, but that site went down.

Your project and OW2

Our framework builds on top of ASM, which is a well known OW2 project. We
therefore believe DiSL is a good fit to OW2, where it can extend the range
of tools provided to current ASM users. We note that DiSL does not compete
with ASM, but lifts the abstraction level to ASM users instead.

OW2 components

Our framework uses ASM, see above.


Our framework uses ASM, see above. Some of the other projects that use ASM
might want to simplify development by using DiSL in addition to ASM, but
precise solution depends on particular technical details.

Interested parties

We target the developers who develop instrumentation tools for Java. We have
already attracted some interest in the research community, see above.

Technologies and standards

Our framework is using ASM, JNI, JVMTI and the Java instrumentation interface (see

Contribution to the OW2 Community

The main contribution is the framework itself, which is useful for developers.

Motivations to join the consortium and its community

We believe that coexistence of ASM and DiSL in one place will benefit the
user community. We were forced to consider alternative hosting for DiSL when
our current hosting system (http://disl.origo.ethz.ch) ceased operation, and
we believe that, out of the various options available, OW2 is best because
it already hosts ASM.

Other Information?


Apache Software License 2.0

Terms and conditions acceptance