Introduction

This page documents the research activity undertaken at Imperial College with respect to WCET analysis.

Tool Support

Tool support in WCET analysis is invaluable in assessing how techniques perform against each other. For this very reason, we aim to provide public accessibility to the tools developed at Imperial College London.

Running the Tools

All our tools ship either as executable jar files or Python scripts. They have been tested extensively on 32-bit versions (and in some cases on 64-bit versions) of Ubuntu. They should run without the slighest hint of trouble! We would be delighted (and at the same time disappointed) to hear about bugs using the email address below.

Our tools are littered with assertion checks. To safeguard against problems downstream, we recommend running the Java interpreter with assertions enabled (the -ea option).

A tool comes with a bunch of options, some of them, quite bizarrely, are non-optional options. To see the options available to a specific jar tool run:

java -ea -jar <tool>.jar -h

Equally for a Python tool run:

python <tool>.py -h

Python

Our analysis tools run with Python 2.7. They have not been tested for backward compatability, nor are they likely to work with Python 3.0 onwards.

lp_solve

Some of our tools use integer linear programming to compute WCET estimates. Our tools assume you have the lp_solve application in your PATH. See the lp_solve website for more details.

uDraw(Graph) Integration

All of our tools allow the data structures (CFGs, dominator trees, etc.) used to be visualised via uDraw(Graph). See the help output of a tool for more details.

WCET benchmarks for dynamic analysis

We have modified the widely-used WCET benchmarks supplied by Mälardalen University so that they are amenable to dynamic analyses. Each C file is associated with a corresponding test file (with suffix .test) which specifies precisely the expected inputs. The benchmarks and test files are available here.

Tools Currently Available

Contact

For more information email Adam Betts, the maintainer of this page.