Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Automatic detection and exploitation of branch constraints for timing analysis

Published: 01 August 2002 Publication History

Abstract

Predicting the worst-case execution time (WCET) and best-case execution time (BCET) of a real-time program is a challenging task. Though much progress has been made in obtaining tighter timing predictions by using techniques that model the architectural features of a machine, significant overestimations of WCET and underestimations of BCET can still occur. Even with perfect architectural modeling, dependencies on data values can constrain the outcome of conditional branches and the corresponding set of paths that can be taken in a program. While branch constraint information has been used in the past by some timing analyzers, it has typically been specified manually, which is both tedious and error prone. This paper describes efficient techniques for automatically detecting branch constraints by a compiler and automatically exploiting these constraints within a timing analyzer. The result is significantly tighter timing analysis predictions without requiring additional interaction with a user.

References

[1]
{1} Y.S. Li, S. Malik, and A. Wolfe, "Efficient Microarchitecture Modeling and Path Analysis for Real-Time Software," Proc. 16th IEEE Real-Time Systems Symp., pp. 298-307, Dec. 1995.
[2]
{2} G. Ottosson and M. Sjödin, "Worst Case Execution Time Analysis for Modern Hardware Architectures," ACM SIGPLAN Workshop Language, Compiler, and Tools for Real-Time Systems, pp. 47-55, June 1997.
[3]
{3} A. Ermedahl and J. Gustafsson, "Deriving Annotations for Tight Calculation of Execution Time," Proc. European Conf. Parallel Processing, pp. 1298-1307, Aug. 1997.
[4]
{4} T. Lundqvist and P. Stenström, "Integrating Path and Timing Analysis Using Instruction-Level Simulation Techniques," ACM SIGPLAN Workshop Languages, Compilers, and Tools for Embedded Systems, pp. 1-15, June 1998.
[5]
{5} C.A. Healy, M. Sjödin, V. Rustagi, and D.B. Whalley, "Bounding Loop Iterations for Timing Analysis," Proc. IEEE Real-Time Technology and Applications Symp., pp. 12-21, June 1998.
[6]
{6} C.A. Healy, R. van Engelen, and D.B. Whalley, "A General Approach for Tight Timing Predictions of Non-Rectangular Loops," WIP Proc. IEEE Real-Time Technology and Applications Symp., pp. 11-14, June 1999.
[7]
{7} F. Mueller and D.B. Whalley, "Avoiding Conditional Branches by Code Replication," Proc. SIGPLAN '95 Conf. Programming Language Design and Implementation, pp. 56-66, June 1995.
[8]
{8} J. Patterson, "Accurate Static Branch Prediction by Value Range Propagation," Proc. SIGPLAN '95 Conf. Programming Language Design and Implementation, pp. 67-78, June 1995.
[9]
{9} C.A. Healy, M. Sjödin, V. Rustagi, and D.B. Whalley, "Supporting Timing Analysis by Automatic Bounding of Loop Iterations," Real-Time Systems, pp. 121-148, May 2000.
[10]
{10} A.V. Aho, R. Sethi, and J.D. Ullman, Compilers: Principles, Techniques, and Tools. Reading, Mass.: Addison-Wesley, 1986.
[11]
{11} C.A. Healy, D.B. Whalley, and M.G. Harmon, "Integrating the Timing Analysis of Pipelining and Instruction Caching," Proc. 16th IEEE Real-Time Systems Symp., pp. 288-297, Dec. 1995.
[12]
{12} Y. Hur, Y.H. Bae, S.S. Lim, S.K. Kim, B.D. Rhee, S.L. Min, C.Y. Park, H. Shin, and C.S. Kim, "Worst Case Timing Analysis of RISC Processors: R3000/R3010 Case Study," Proc. 16th IEEE Real-Time Systems Symp., pp. 308-321, Dec. 1995.
[13]
{13} L. Ko, N. Al-Yaqoubi, C. Healy, E. Ratliff, R. Arnold, D. Whalley, and M. Harmon, "Timing Constraint Specification and Analysis," Software Practice and Experience, pp. 77-98, Jan. 1999.
[14]
{14} M.E. Benitez and J.W. Davidson, "A Portable Global Obtimizer and Linker," Proc. SIGPLAN '88 Symp. Programming Language Design and Implementation, pp. 329-338, June 1988.
[15]
{15} F. Mueller, "Static Cache Simulation and Its Applications," PhD dissertation, Florida State Univ., Tallahassee, Fla., Aug. 1994.
[16]
{16} R. Arnold, F. Mueller, D. Whalley, and M. Harmon, "Bounding Worst-Case Instruction Cache Performance," Proc. 15th IEEE Real-Time Systems Symp., pp. 172-181, Dec. 1994.
[17]
{17} C. Healy, R. Arnold, F. Mueller, D. Whalley, and M. Harmon, "Bounding Pipeline and Instruction Cache Performance," IEEE Trans. Computers, vol. 48, no. 1, pp. 53-70, Jan. 1999.
[18]
{18} L. Ko, C. Healy, E. Ratliff, R. Arnold, D. Whalley, and M. Harmon, "Supporting the Specification and Analysis of Timing Constraints," Proc. IEEE Real-Time Technology and Applications Symp., pp. 170-178, June 1996.
[19]
{19} N.M. Al-Yaqoubi, "Reducing Timing Analysis Complexity by Partioning Control Flow," masters project, Florida State Univ., Tallahassee, Fla., 1997.
[20]
{20} W.H. Press, S.A. Teukolsky, W.T. Vetterling, and B.P. Flannery, Numerical Recipes in C: The Art of Scientific Computing. New York: Cambridge Univ. Press, 1988.
[21]
{21} W.H. Press, S.A. Teukolsky, W.T. Vetterling, and B.P. Flannery, Numerical Recipes in C: The Art of Scientific Computing, second ed. New York: Cambridge University Press, 1992.
[22]
{22} J.W. Davidson and D.B. Whalley, "A Design Environment for Addressing Architecture and Compiler Interactions," Microprocessors and Microsystems vol. 15, no. 9, pp. 459-472, Nov. 1991.
[23]
{23} C.A. Healy, "Predicting Pipeline and Instruction Cache Performance," masters thesis, Florida State Univ., Tallahassee, Fla., 1995.
[24]
{24} C.A. Healy and D.B. Whalley, "Tighter Timing Predictions by Automatic Detection and Exploitation of Value-Dependent Constraints," Proc. IEEE Real-Time Technology and Applications Symp., pp. 79-88, June 1999.
[25]
{25} R. Bodik, R. Gupta, and M. Soffa, "Interprocedural Conditional Branch Elimination," Proc. SIGPLAN '97 Conf. Programming Language Design and Implementation, pp. 146-158, June 1997.

Cited By

View all
  • (2024)Shaping Test Inputs in Grammar-Based FuzzingProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3685553(1901-1905)Online publication date: 11-Sep-2024
  • (2024)Parametric WCET as a function of procedure argumentsJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2024.103086148:COnline publication date: 1-Mar-2024
  • (2023)WCET analysis with procedure arguments as parametersProceedings of the 31st International Conference on Real-Time Networks and Systems10.1145/3575757.3593655(11-22)Online publication date: 7-Jun-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering  Volume 28, Issue 8
August 2002
95 pages

Publisher

IEEE Press

Publication History

Published: 01 August 2002

Author Tags

  1. best-case execution time
  2. branch constraints
  3. infeasible paths
  4. real-time systems
  5. timing analysis
  6. worst-case execution time

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 06 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Shaping Test Inputs in Grammar-Based FuzzingProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3685553(1901-1905)Online publication date: 11-Sep-2024
  • (2024)Parametric WCET as a function of procedure argumentsJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2024.103086148:COnline publication date: 1-Mar-2024
  • (2023)WCET analysis with procedure arguments as parametersProceedings of the 31st International Conference on Real-Time Networks and Systems10.1145/3575757.3593655(11-22)Online publication date: 7-Jun-2023
  • (2018)Q-DWSOInternational Journal of Web Engineering and Technology10.5555/3272336.327233813:1(30-55)Online publication date: 20-Dec-2018
  • (2018)Transforming flow information during code optimization for timing analysisReal-Time Systems10.1007/s11241-010-9091-845:1-2(72-105)Online publication date: 28-Dec-2018
  • (2018)Improving WCET by applying worst-case path optimizationsReal-Time Systems10.1007/s11241-006-8643-434:2(129-152)Online publication date: 27-Dec-2018
  • (2014)How to compute worst-case execution time by optimization modulo theory and a clever encoding of program semanticsACM SIGPLAN Notices10.1145/2666357.259781749:5(43-52)Online publication date: 12-Jun-2014
  • (2014)Traceability of Flow InformationProceedings of the 22nd International Conference on Real-Time Networks and Systems10.1145/2659787.2659805(97-106)Online publication date: 8-Oct-2014
  • (2014)A general approach for expressing infeasibility in implicit path enumeration techniqueProceedings of the 14th International Conference on Embedded Software10.1145/2656045.2656046(1-9)Online publication date: 12-Oct-2014
  • (2014)How to compute worst-case execution time by optimization modulo theory and a clever encoding of program semanticsProceedings of the 2014 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems10.1145/2597809.2597817(43-52)Online publication date: 12-Jun-2014
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media