DiSL
Complete name of the project
DiSL
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.
Internationalization
The framework aims at developers, user level internalization is therefore
not applicable.
Roadmap
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.
Hosting
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.
Synergies
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
http://docs.oracle.com/javase/6/docs/api/java/lang/instrument/package-summary.html).
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?
License
Apache Software License 2.0
Terms and conditions acceptance
Yes
Cedric Thomas
Patrick Starck
Mark Weitzel
Alexandre Zapolsky
Round Table1
Gianfranco Boccalon
Thomas Mortagne
Serge Lacourte
Florent Garin
Frederic Aatz
Alfonso Castro
Jamie Marshall
Bernard Boltz
Alexandre Lefebvre
Thomas Debru
Denis Caromel
Daniel Stern
Bruno Dillenseger
Jean-Christophe Vuillot
Jeanne Le Garrec
Sylvain Baubeau
Jean-Marc Menaud
Fabien Hermenier
Christophe Hamerling
Patrick Petit
Marius Preda
Frederic Dang Tran
Pawel Rubach
Eric Debeau
Alban Richard
Andrea Manieri
Ali Ataya
Round Table2
Rani Halimi
Nicolas Aube
Marc Triboulet
Jim Walker
Monica Franceschini
Cedric Carbone
John Mertic
Marc Dutoo
Clement Oudot
Christophe Hamerling
Alexis Portmann
Goulven Le Jeune
Gerard Dupont
Alexandre Lefebvre
Guillaume Sauthier
Clement Escoffier
Christophe Hamerling
Guillaume Sauthier
Williams Lamar
Philippe Bolac
Meng Li
Gabriele Giammatteo
Daniele Gagliardi
Marc Lacoste
Pierre Chatel
Gaurav Parakh
Michel Catan
Cedric Thomas
Follow us on Twitter
Network @ LinkedIn

































