JASSDA TRACE ASSERTIONS∗ Runtime Checking the Dynamic of Java Programs
نویسندگان
چکیده
Research into runtime checking of programs mainly concentrates on the Design by Contract concept, as proposed by Meyer for the programming language Eiffel. The goal is here to check whether a program fulfills certain conditions in certain states, i.e method entry and exit points. Jass (Java with assertions)[1] tries to extend this to behavioural properties by adding trace assertion for dynamical checking (Jass 2). But the Jass approach is a precompiler attempt, so we cannot handle programs without its source code. jassda, the Jass Debug Architecture, is also designed to provide a trace assertion facility, but in contrast to the classic Jass 2 trace assertions these assertions are not precompiled into source code but are checked at runtime via the Java Debug Interface (JDI).
منابع مشابه
Specifying and Checking Java using CSP
Currently several approaches are done in applying formal techniques to the Java programming language. A new trend is to take dynamic behaviour into account when designing such techniques. To bring formal techniques to practical applications one often has to reduce the goal coming down from full verification to runtime checking. jassda [5,4] is a framework for performing such runtime checks at t...
متن کاملDynamic Event Generation for Runtime Checking using the JDI 1
Approaches to runtime checking have to track the execution of a software system and therefore have to deal with generating and processing execution events. Often these techniques are applied at the code level – either by inserting new source code prior to the compilation or by modifying the target code, e.g. Java byte code, before running the program. The jassda [4,3] framework and tool enable ...
متن کاملDynamic Event Generation for Runtime Checking using the JDI
Approaches to runtime checking have to track the execution of a software system and therefore have to deal with generating and processing execution events. Often these techniques are applied at the code level – either by inserting new source code prior to the compilation or by modifying the target code, e.g. Java byte code, before running the program. The jassda [4,3] framework and tool enable ...
متن کاملJ-LO A tool for runtime-checking temporal assertions
We present a Runtime Verification framework for Java programs called the Java Logical Observer, J-LO for short. Properties can be specified in Linear-time Temporal Logic (LTL) over AspectJ pointcuts. These properties are checked during program-execution by an automaton-based approach where transitions are triggered through aspects. No Java source code is necessary since AspectJ works on the byt...
متن کاملExecution-Based Model Checking of Interrupt-Based Systems
Execution-based model checking (EMC) is a verification technique based on executing a multi-threaded/multiprocess program repeatedly in a systematic manner in order to explore the different interleavings of the program. This is in contrast to traditional model checking, where a model of a system is analyzed. Several execution-based model-checking tools exist at this point, such as for example V...
متن کامل