data flow analysis for worst case execution time
play

Data-flow Analysis for Worst-Case Execution Time Stefan Bygde - PowerPoint PPT Presentation

Introduction Value Analysis APARTS Parametric WCET Analysis Data-flow Analysis for Worst-Case Execution Time Stefan Bygde School of Innovation, Design and Engineering, M alardalen University, Sweden April 14, 2011 Stefan Bygde Flow


  1. Introduction Value Analysis APARTS Parametric WCET Analysis Data-flow Analysis for Worst-Case Execution Time Stefan Bygde School of Innovation, Design and Engineering, M¨ alardalen University, Sweden April 14, 2011 Stefan Bygde Flow Analysis for WCET

  2. Introduction Value Analysis APARTS Parametric WCET Analysis Table of contents 1 Introduction 2 Value Analysis Introduction Abstract Interpretation Abstract Domains 3 APARTS 4 Parametric WCET Analysis Stefan Bygde Flow Analysis for WCET

  3. Introduction Value Analysis APARTS Parametric WCET Analysis Introduction In real-time systems the worst-case execution time (WCET) of each task has to be bounded to properly schedule it Stefan Bygde Flow Analysis for WCET

  4. Introduction Value Analysis APARTS Parametric WCET Analysis Introduction In real-time systems the worst-case execution time (WCET) of each task has to be bounded to properly schedule it Methods: Stefan Bygde Flow Analysis for WCET

  5. Introduction Value Analysis APARTS Parametric WCET Analysis Introduction In real-time systems the worst-case execution time (WCET) of each task has to be bounded to properly schedule it Methods: Dynamic analysis (measurements) Stefan Bygde Flow Analysis for WCET

  6. Introduction Value Analysis APARTS Parametric WCET Analysis Introduction In real-time systems the worst-case execution time (WCET) of each task has to be bounded to properly schedule it Methods: Dynamic analysis (measurements) Static analysis (analyse source/object code) Stefan Bygde Flow Analysis for WCET

  7. Introduction Value Analysis APARTS Parametric WCET Analysis Introduction In real-time systems the worst-case execution time (WCET) of each task has to be bounded to properly schedule it Methods: Dynamic analysis (measurements) Static analysis (analyse source/object code) Hybrid methods (Combine static and dynamic somehow) Stefan Bygde Flow Analysis for WCET

  8. Introduction Value Analysis APARTS Parametric WCET Analysis Introduction In real-time systems the worst-case execution time (WCET) of each task has to be bounded to properly schedule it Methods: Dynamic analysis (measurements) Static analysis (analyse source/object code) Hybrid methods (Combine static and dynamic somehow) Stefan Bygde Flow Analysis for WCET

  9. Introduction Value Analysis APARTS Parametric WCET Analysis Static WCET Analysis Static WCET Analysis: automatically derive upper bounds for the WCET of programs Stefan Bygde Flow Analysis for WCET

  10. Introduction Value Analysis APARTS Parametric WCET Analysis Static WCET Analysis Static WCET Analysis: automatically derive upper bounds for the WCET of programs Typically divided into three parts Stefan Bygde Flow Analysis for WCET

  11. Introduction Value Analysis APARTS Parametric WCET Analysis Static WCET Analysis Static WCET Analysis: automatically derive upper bounds for the WCET of programs Typically divided into three parts Flow Analysis (analysis of source code) Stefan Bygde Flow Analysis for WCET

  12. Introduction Value Analysis APARTS Parametric WCET Analysis Static WCET Analysis Static WCET Analysis: automatically derive upper bounds for the WCET of programs Typically divided into three parts Flow Analysis (analysis of source code) Low-Level Analysis (analysis of hardware) Stefan Bygde Flow Analysis for WCET

  13. Introduction Value Analysis APARTS Parametric WCET Analysis Static WCET Analysis Static WCET Analysis: automatically derive upper bounds for the WCET of programs Typically divided into three parts Flow Analysis (analysis of source code) Low-Level Analysis (analysis of hardware) Calculation (combination of analyses) Stefan Bygde Flow Analysis for WCET

  14. Introduction Value Analysis APARTS Parametric WCET Analysis Static WCET Analysis Static WCET Analysis: automatically derive upper bounds for the WCET of programs Typically divided into three parts Flow Analysis (analysis of source code) Low-Level Analysis (analysis of hardware) Calculation (combination of analyses) There is no method to find the exact WCET in general (uncomputable) Stefan Bygde Flow Analysis for WCET

  15. Introduction Value Analysis APARTS Parametric WCET Analysis Static WCET Analysis Static WCET Analysis: automatically derive upper bounds for the WCET of programs Typically divided into three parts Flow Analysis (analysis of source code) Low-Level Analysis (analysis of hardware) Calculation (combination of analyses) There is no method to find the exact WCET in general (uncomputable) Static analysis is typically safe and therefore pessimistic Stefan Bygde Flow Analysis for WCET

  16. Introduction Value Analysis APARTS Parametric WCET Analysis Static WCET Analysis Static WCET Analysis: automatically derive upper bounds for the WCET of programs Typically divided into three parts Flow Analysis (analysis of source code) Low-Level Analysis (analysis of hardware) Calculation (combination of analyses) There is no method to find the exact WCET in general (uncomputable) Static analysis is typically safe and therefore pessimistic Stefan Bygde Flow Analysis for WCET

  17. Introduction Value Analysis APARTS Parametric WCET Analysis Data Flow Analysis Derive facts about a programs flow Stefan Bygde Flow Analysis for WCET

  18. Introduction Value Analysis APARTS Parametric WCET Analysis Data Flow Analysis Derive facts about a programs flow Loop Bounds Stefan Bygde Flow Analysis for WCET

  19. Introduction Value Analysis APARTS Parametric WCET Analysis Data Flow Analysis Derive facts about a programs flow Loop Bounds Infeasible Paths Stefan Bygde Flow Analysis for WCET

  20. Introduction Value Analysis APARTS Parametric WCET Analysis Data Flow Analysis Derive facts about a programs flow Loop Bounds Infeasible Paths Possible values for variables etc. Stefan Bygde Flow Analysis for WCET

  21. Introduction Value Analysis APARTS Parametric WCET Analysis Data Flow Analysis Derive facts about a programs flow Loop Bounds Infeasible Paths Possible values for variables etc. Propagate properties of interest through the control flow graph of the program Stefan Bygde Flow Analysis for WCET

  22. Introduction Introduction Value Analysis Abstract Interpretation APARTS Abstract Domains Parametric WCET Analysis Value Analysis Determine possible values for program variables Stefan Bygde Flow Analysis for WCET

  23. Introduction Introduction Value Analysis Abstract Interpretation APARTS Abstract Domains Parametric WCET Analysis Value Analysis Determine possible values for program variables Why values? Stefan Bygde Flow Analysis for WCET

  24. Introduction Introduction Value Analysis Abstract Interpretation APARTS Abstract Domains Parametric WCET Analysis Value Analysis Determine possible values for program variables Why values? Program flow dependent on values Stefan Bygde Flow Analysis for WCET

  25. Introduction Introduction Value Analysis Abstract Interpretation APARTS Abstract Domains Parametric WCET Analysis Value Analysis Determine possible values for program variables Why values? Program flow dependent on values Often necessary to find infeasible paths, or loop bounds or other constraints on program flow Stefan Bygde Flow Analysis for WCET

  26. Introduction Introduction Value Analysis Abstract Interpretation APARTS Abstract Domains Parametric WCET Analysis Abstract Interpretation soundly approximating program semantics, applicable in static analysis Stefan Bygde Flow Analysis for WCET

  27. Introduction Introduction Value Analysis Abstract Interpretation APARTS Abstract Domains Parametric WCET Analysis Abstract Interpretation soundly approximating program semantics, applicable in static analysis Common technique in WCET Analysis Stefan Bygde Flow Analysis for WCET

  28. Introduction Introduction Value Analysis Abstract Interpretation APARTS Abstract Domains Parametric WCET Analysis Abstract Interpretation soundly approximating program semantics, applicable in static analysis Common technique in WCET Analysis Concretely, derive for each variable and program point A set of possible values This set is guaranteed to contain all possible values May contain values which are not reached during execution Stefan Bygde Flow Analysis for WCET

  29. Introduction Introduction Value Analysis Abstract Interpretation APARTS Abstract Domains Parametric WCET Analysis Abstract Domains Represents different ways of approximating set of values Stefan Bygde Flow Analysis for WCET

  30. Introduction Introduction Value Analysis Abstract Interpretation APARTS Abstract Domains Parametric WCET Analysis Abstract Domains Represents different ways of approximating set of values Compact representation of a set of values Stefan Bygde Flow Analysis for WCET

  31. Introduction Introduction Value Analysis Abstract Interpretation APARTS Abstract Domains Parametric WCET Analysis Abstract Domains Represents different ways of approximating set of values Compact representation of a set of values Examples: Stefan Bygde Flow Analysis for WCET

  32. Introduction Introduction Value Analysis Abstract Interpretation APARTS Abstract Domains Parametric WCET Analysis Abstract Domains Represents different ways of approximating set of values Compact representation of a set of values Examples: Intervals: α ( { 1 , 4 , 7 } ) = [1 , 7] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 } Stefan Bygde Flow Analysis for WCET

Recommend


More recommend