Embedded software is that which controls machines not generally thought of as computers. A key parameter in assessing the performance of such software is the worst case execution time (WCET), but the value can be difficult to calculate.
The EU-funded APARTS
(Advanced program analysis for real-time systems) project aimed to improve methods for estimating WCET from analysis of machine code. The study investigated incorporation of computation giving bit-precise results, reflecting the finite size of each variable and the possibility of overflow. Secondly, the team aimed to develop computation models accurately utilising the relationship between variable values, expressed as affine constraints between variables.
Outcomes included improved bit-precise abstract domains, and also analyses reflecting such domains to a higher level of precision. The analyses were sound in the presence of wrap arounds. A further achievement was a faster and more accurate method for programme slicing. Lastly, the team achieved a better way of reconstructing flow graphs from code containing dynamic jumps, which employs the above analyses.
The APARTS project's developments improved the automation and precision of WCET analysis tools. The result will mean shorter development times and lower costs as well as safer embedded systems in critical applications.