DiSL is a new language (framework) especially designed for dynamic program analysis. DiSL offers an open join point model where any region of bytecodes 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.