Results 1 -
2 of
2
Test-Based Inference of Polynomial Loop-Bound Functions ∗
"... This paper presents an interpolation-based method of inferring arbitrary degree loop-bound functions for Java programs. Given a loop, by its “loop-bound function ” we mean a function with the numeric program variables as its parameters, that is used to bound the number of loop-iterations. Using our ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
This paper presents an interpolation-based method of inferring arbitrary degree loop-bound functions for Java programs. Given a loop, by its “loop-bound function ” we mean a function with the numeric program variables as its parameters, that is used to bound the number of loop-iterations. Using our analysis, loopbound functions that are polynomials with natural, rational or real coefficients can be found. Analysis of loop bounds is important in several different areas, including worst-case execution time (WCET) and heap consumption analysis, optimising compilers and termination-analysis. While several other methods exist to infer numerical loop bounds, we know of no other research on the inference of non-linear loopbound functions. Additionally, the inferred bounds are provable using external tools, e.g. KeY.
High-level Programming of Embedded Hard Real-Time Devices
"... While managed languages such as C # and Java have become quite popular in enterprise computing, they are still considered unsuitable for hard real-time systems. In particular, the presence of garbage collection has been a sore point for their acceptance for low-level system programming tasks. Realti ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
While managed languages such as C # and Java have become quite popular in enterprise computing, they are still considered unsuitable for hard real-time systems. In particular, the presence of garbage collection has been a sore point for their acceptance for low-level system programming tasks. Realtime extensions to these languages have the dubious distinction of, at the same time, eschewing the benefits of highlevel programming and failing to offer competitive performance. The goal of our research is to explore the limitations of high-level managed languages for real-time systems programming. To this end we target a real-world embedded platform, the LEON3 architecture running the RTEMS real-time operating system, and demonstrate the feasibility of writing garbage collected code in critical parts of embedded systems. We show that Java with a concurrent, real-time garbage collector, can have throughput close to that of C programs and comes within 10 % in the worst observed case on realistic benchmark. We provide a detailed breakdown of the costs of Java features and their execution times and compare to real-time and throughput-optimized commercial Java virtual machines.

