SWEET - a Tool for WCET Flow Analysis
An important part of Worst-Case Execution Time (WCET) analysis is to find constraints on the possible program flows. Upper bounds on the number of loop iterations are necessary to bound the execution time at all, and other kinds of constraints can help increasing the precision of the WCET analysis significantly by ruling out certain paths. Thus, methods and tools to find such constraints are sorely needed. Without such tools, such constraints must be provided manually by the user: this can be tedious and error-prone, and the soundness of the WCET analysis may be compromised if unsound program flow constraints are specified.
SWEET (SWEdish Execution Time tool) is a tool that derives such program flow constraints, encoded as arithmetic constraints on execution counters (so-called "Flow Facts"), automatically. SWEET can compute a variety of Flow Facts, from simple loop iteration bounds to complex infeasible path constraints. It can analyze a variety of code formats through translation into an intermediate format. In this talk we will describe the capabilities of SWEET, the algorithms used, and its architecture.