The real-time performance of embedded software is often critical for the safety and quality of the software-controlled system. Recent research has made it possible to find safe bounds on the worst-case execution time (WCET) of a program by statically analysing the machine-code program. A crucial step is the analysis of the program`s computations on integer data. For instance, the program flow usually depends on such computations. Current WCET tools often require program flow constraints to be provided manually, which is cumbersome and error-prone. Better analyses of integer computations would reduce the need for such manual intervention. Such analyses must be both precise and correct.
The mathematical models for such analyses are usually formulated in terms of mathematical integers of unbounded size, while the program actually uses data stored in a fixed number of bits. This can lead to incorrect or imprecise results. We aim to improve WCET analysis by incorporating computation models that give bit-precise results reflecting the finite size of each variable and the possibility of overflow.
Most current WCET-analysis tools analyse the possible values of each variable separately, commonly producing an interval of possible values for each variable. However, the behaviour of the program, and thus its WCET, often depend strongly on the relationship between variable values. Ignoring such relationships can make the analysis fail or give over-estimated WCET bounds. We aim to develop computation models that find and use such relationships, typically expressed as affine constraints between several variables. The end goal is WCET analysis with computation models that are both relational and bit-precise. We expect that this will increase the safety, precision, and level of automation of the analysis, and lead to WCET analysis tools that are easier to apply.
|First Name||Last Name||Title|
|Abu Naser||Masud||Senior Lecturer|
|Linus||Källberg||Associated Senior Lecturer|
Improved Precision in Polyhedral Analysis with Wrapping (Jan 2017) Stefan Bygde, Björn Lisper, Niklas Holsti Science of Computer Programming (SCICO)
Analysing Switch-Case Code with Abstract Execution (Jul 2015) Niklas Holsti , Jan Gustafsson, Linus Källberg, Björn Lisper 15th International Workshop on Worst-Case Execution Time Analysis (WCET'15)
Static Backward Program Slicing for Safety Critical Systems (Jun 2015) Husni Khanfar, Björn Lisper, Abu Naser Masud The 20th International Conference on Reliable Software Technologies (Ada-Europe-2015)