WCET Analysis of Java Bytecode Featuring Common Execution Environments
Translated title
Term
4. term
Education
Publication year
2011
Submitted on
2011-06-07
Pages
158
Abstract
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.
Documents
