WCET Analysis of Java Bytecode Featuring Common Execution Environments
Studenteropgave: Speciale (inkl. HD afgangsprojekt)
- Christian Frost
- Casper Svenning Jensen
- Kasper Søe Luckow
4. semester, Software, Kandidat (Kandidatuddannelse)
We present a novel tool called Tool for Execution Time Analysis of Java bytecode (TetaJ)
that is designed for statically determining Worst Case Execution Time (WCET) of Java
Bytecode (JBC) programs. Similar tools have been devised for the same purpose, but they
are either using an unsafe measurement-based technique or are relying on hardware capable
of natively executing JBC. TetaJ differentiates itself by presenting a novel approach for
WCET analysis, whose key characteristic is the incorporation of a software implementation
of the Java Virtual Machine (JVM). The prime benefit is that it accommodates more
common execution environments featuring common embedded processors, thereby, in our
opinion, increasing the incentive for adopting Java for embedded hard real-time systems
development.
The fundamental technique employed in TetaJ is to view the program analysis problem of
determining WCET as a model-checking problem. Specifically, the executable of the JVM
and the JBC program source are processed for yielding a reconstruction of their respective
Control Flow Graph (CFG). Subsequently, a further transformation is responsible for con-
structing a network of timed automata that can be input to the state-of-the-art UPPAAL
model checking tool that will determine the WCET.
To evaluate the applicability of TetaJ, a case study is conducted based on the classic mine
pump real-time system using an execution environment featuring a concrete implementa-
tion of the JVM, called Hardware near Virtual Machine (HVM), that runs on an Atmel
AVR ATmega2560 processor. From the case study we conclude that TetaJ is capable of
estimating safe WCETs with reasonable precision. While TetaJ is only applied for one case
study, it is stressed that it applies for arbitrary hardware and interpretation-based JVMs.
that is designed for statically determining Worst Case Execution Time (WCET) of Java
Bytecode (JBC) programs. Similar tools have been devised for the same purpose, but they
are either using an unsafe measurement-based technique or are relying on hardware capable
of natively executing JBC. TetaJ differentiates itself by presenting a novel approach for
WCET analysis, whose key characteristic is the incorporation of a software implementation
of the Java Virtual Machine (JVM). The prime benefit is that it accommodates more
common execution environments featuring common embedded processors, thereby, in our
opinion, increasing the incentive for adopting Java for embedded hard real-time systems
development.
The fundamental technique employed in TetaJ is to view the program analysis problem of
determining WCET as a model-checking problem. Specifically, the executable of the JVM
and the JBC program source are processed for yielding a reconstruction of their respective
Control Flow Graph (CFG). Subsequently, a further transformation is responsible for con-
structing a network of timed automata that can be input to the state-of-the-art UPPAAL
model checking tool that will determine the WCET.
To evaluate the applicability of TetaJ, a case study is conducted based on the classic mine
pump real-time system using an execution environment featuring a concrete implementa-
tion of the JVM, called Hardware near Virtual Machine (HVM), that runs on an Atmel
AVR ATmega2560 processor. From the case study we conclude that TetaJ is capable of
estimating safe WCETs with reasonable precision. While TetaJ is only applied for one case
study, it is stressed that it applies for arbitrary hardware and interpretation-based JVMs.
Sprog | Engelsk |
---|---|
Udgivelsesdato | 7 jun. 2011 |
Antal sider | 158 |