Towards Adaptable Control Flow Segmentation for measurement-Based Execution Time Analysis

During the design of embedded real-time systems, engineers have to consider the temporal behavior of software running on a particular hardware platform. Measurement-based timing analysis is a technique that combines elements from static code analysis with execution time measurements on real physical hardware. Because performing exhaustive measurement is generally not tractable, some kind of abstraction must be used to deal with the combinatoric complexity of real software. We propose an adaptable measurement-based analysis approach that uses the novel flexible abstraction of a segment graph to model control flow at varying levels of detail. We also present preliminary experimental results produced by a prototype implementation.

[1]  Jan Gustafsson,et al.  Loop Bound Analysis based on a Combination of Program Slicing, Abstract Interpretation, and Invariant Analysis , 2007, WCET.

[2]  Pascal Sainrat,et al.  Static Loop Bound Analysis of C Programs Based on Flow Analysis and Abstract Interpretation , 2008, 2008 14th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[3]  Manfred Broy,et al.  Model-Based Testing of Reactive Systems, Advanced Lectures [The volume is the outcome of a research seminar that was held in Schloss Dagstuhl in January 2004] , 2005, Model-Based Testing of Reactive Systems.

[4]  Reinhold Heckmann,et al.  Worst case execution time prediction by static program analysis , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[5]  Helmut Veith,et al.  Query-Driven Program Testing , 2008, VMCAI.

[6]  Clément Ballabriga,et al.  Improving the WCET computation time by IPET using control flow graph partitioning , 2008, WCET.

[7]  Sharad Malik,et al.  Performance analysis of embedded software using implicit path enumeration , 1997, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[8]  Raimund Kirner,et al.  Measurement-Based Timing Analysis , 2008, ISoLA.

[9]  Guillem Bernat,et al.  WCET analysis of probabilistic hard real-time systems , 2002, 23rd IEEE Real-Time Systems Symposium, 2002. RTSS 2002..

[10]  Raimund Kirner,et al.  Automatic timing model generation by CFG partitioning and model checking , 2005, Design, Automation and Test in Europe.

[11]  Jim Law,et al.  Review of "The boost graph library: user guide and reference manual by Jeremy G. Siek, Lie-Quan Lee, and Andrew Lumsdaine." Addison-Wesley 2002. , 2003, SOEN.

[12]  T. Kanade Model-Based Testing of Reactive Systems , 2005 .

[13]  Peter P. Puschner,et al.  Computing Maximum Task Execution Times — A Graph-Based Approach , 2004, Real-Time Systems.

[14]  Raimund Kirner Towards Preserving Model Coverage and Structural Code Coverage , 2009, EURASIP J. Embed. Syst..

[15]  Simeon C. Ntafos,et al.  A Comparison of Some Structural Testing Strategies , 1988, IEEE Trans. Software Eng..

[16]  Helmut Veith,et al.  FShell: Systematic Test Case Generation for Dynamic Analysis and Measurement , 2008, CAV.

[17]  Rolf Ernst,et al.  Embedded program timing analysis based on path clustering and architecture classification , 1997, ICCAD 1997.

[18]  U. Brandes A faster algorithm for betweenness centrality , 2001 .

[19]  Keshav Pingali,et al.  The program structure tree: computing control regions in linear time , 1994, PLDI '94.

[20]  Daniel Kroening,et al.  A Tool for Checking ANSI-C Programs , 2004, TACAS.

[21]  Jeremy G. Siek,et al.  The Boost Graph Library - User Guide and Reference Manual , 2001, C++ in-depth series.

[22]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.

[23]  Raimund Kirner,et al.  Obstacles in Worst-Case Execution Time Analysis , 2008, 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC).