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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Introduction Value Analysis APARTS Parametric WCET Analysis Data Flow Analysis Derive facts about a programs flow Stefan Bygde Flow Analysis for WCET
Introduction Value Analysis APARTS Parametric WCET Analysis Data Flow Analysis Derive facts about a programs flow Loop Bounds Stefan Bygde Flow Analysis for WCET
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
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
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
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
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
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
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
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
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
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
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
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
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
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