|
SWEET is a research prototype tool for flow analysis and BCET/WCET calculation. BCET/WCET
stands for Best resp. Worst Case Execution Time Analysis. SWEET has been developed by a research
team in Västerås, Sweden since 2001 and is available upon request.
The name "SWEET" stands for SWEdish Execution Time Analysis tool.
SWEET analyses programs in ALF format. ALF stands for Artist Flow Analysis language; it is a
general intermediate program language format, especially developed for flow analysis. ALF code can
be generated from different sources, like C code and assembler code, and a number of translators are
available.
The main function of SWEET is flow analysis. The result of flow analysis is flow facts, i.e.,
information about loop bounds and infeasible paths in the program. Flow facts are necessary for finding
a safe and tight WCET for the analysed program.
The goal of SWEET's flow analysis is to calculate flow information as automatically as possible.
SWEET offers powerful loop bound analysis, since upper bounds on the number of loop iterations
must be known in order to derive WCET estimates. The flow analysis of SWEET can also identify
infeasible paths, i.e., paths which are executable according to the control flow graph structure, but not
feasible when considering the semantics of the program and possible input data values. In contrast to
loop bounds, infeasible path information is not required to find a WCET estimate, but may tighten
the resulting WCET estimate.
We have integrated time estimation in our AE method for calculating program flow constraints. This
method is in principle a very detailed value analysis. As it computes intervals bounding variable values,
it bounds both the BCET and the WCET. In addition, it derives the explicit execution paths through
the program which correspond to the calculated BCET and WCET bounds.
The BCET/WCET calculation can be based on both basic blocks and program constructs.
SWEET also performs a number of program analyses, like def-use
analysis, reaching definitions analysis, program slicing, and generation of program statistics, which are available
for the user.
The low-level analysis of SWEET currently
supports the NECV850E and ARM9 processors. The tool currently supports
three different calculation methods: a fast path-based method, a
global IPET method, and a hybrid clustered
method.
For more information on SWEET, we refer to the SWEET manual, which is accessible using the links to the left.
It is also possible to run SWEET from a web page, use the link "SWEET website" to the left.
|