Improving the Confidence in Measurement-Based Timing Analysis

Measurement-based timing analysis (MBTA) is a hybrid approach that combines execution-time measurements with static program analysis techniques to obtain an estimate of the worst-case execution time (WCET) of a program. The most challenging part of MBTA is test data generation. Choosing an adequate set of test vectors determines safety and efficiency of the overall analysis. So far, there are no feasible criteria that determine how well the worst-case temporal behavior of program parts is covered by a given test-suite. In this paper we introduce a relative safety metric that compares test suites with respect to how well the observed worst-case behavior of program parts is exercised. Using this metric, we empirically show that common code coverage criteria from the domain of functional testing can produce unsafe WCET estimates in the context of MBTA for systems with a processor like the TriCore 1796. Further, we use the relative safety metric to examine coverage criteria that require all feasible pairs of, e.g., basic blocks to be exercised in combination. These are shown to be superior to code coverage criteria from the domain of functional testing, but there is still a chance that an unsafe WCET estimate is derived by MBTA in our experimental setup. Based on the outcomes of our evaluation we introduce and examine Balanced Path Generation, an input data generation technique that combines the advantages of all evaluated coverage criteria and random input data generation.

[1]  Peter Puschner,et al.  Worst-case execution-time analysis at low cost , 1997 .

[2]  Heung Seok Chae,et al.  An adaptive load balancing management technique for RFID middleware systems , 2010 .

[3]  Benedikt Huber,et al.  Worst‐case execution time analysis for a Java processor , 2010, Softw. Pract. Exp..

[4]  Thomas A. Henzinger,et al.  Lazy abstraction , 2002, POPL '02.

[5]  Peter P. Puschner,et al.  Calculating the maximum execution time of real-time programs , 1989, Real-Time Systems.

[6]  Pankaj Mudholkar,et al.  Software Testing , 2002, Computer.

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

[8]  Raimund Kirner,et al.  Towards Adaptable Control Flow Segmentation for measurement-Based Execution Time Analysis , 2009 .

[9]  Alan Burns,et al.  Real-Time Systems and Programming Languages , 2009 .

[10]  Joachim Wegener,et al.  A Comparison of Static Analysis and Evolutionary Testing for the Verification of Timing Constraints , 2004, Real-Time Systems.

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

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

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

[14]  Guillem Bernat,et al.  WCET Coverage for Pipelines , 2006 .

[15]  Stefan Hauck-Stattelmann,et al.  On the Use of Context Information for Precise Measurement-Based Execution Time Estimation , 2010, WCET.

[16]  Matthias Grochtmann,et al.  Verifying Timing Constraints of Real-Time Systems by Means of Evolutionary Testing , 1998, Real-Time Systems.

[17]  Raimund Kirner,et al.  Context-Sensitivity in IPET for Measurement-Based Timing Analysis , 2010, ISoLA.

[18]  Stefan M. Petters,et al.  Experimental evaluation of code properties for WCET analysis , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

[19]  Hoyt Lougee,et al.  SOFTWARE CONSIDERATIONS IN AIRBORNE SYSTEMS AND EQUIPMENT CERTIFICATION , 2001 .

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

[21]  Guillem Bernat,et al.  Tree-based WCET analysis on instrumentation point graphs , 2006, Ninth IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'06).

[22]  Helmut Veith,et al.  How did you specify your test suite , 2010, ASE.

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

[24]  Joachim Wegener,et al.  A Comparison of Static Analysis and Evolutionary Testing for the Verification of Timing Constraints , 1998, Proceedings. Fourth IEEE Real-Time Technology and Applications Symposium (Cat. No.98TB100245).

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