Applications of Program analysis in Model-Based Design

Size: px
Start display at page:

Download "Applications of Program analysis in Model-Based Design"

Transcription

1 Applications of Program analysis in Model-Based Design Prahlad Sampath 2018 by The MathWorks, Inc., MATLAB, Simulink, Stateflow, are registered trademarks of The MathWorks, Inc. Other product or brand names are trademarks or registered trademarks of their respective holders The MathWorks, Inc. 1

2 Outline Model-Based Design overview and role of program analysis (20 mins) Data flow analysis (20 mins) Abstract interpretation (20 mins) Software model checking (20 mins) 2

3 Model-Based Design Overview 3

4 Model-Based Design Design activities Specification, prototyping (at different levels of fidelity), design space exploration, codegeneration, verification Use of appropriate abstractions for modelling from algorithms to systems Graphical languages where appropriate Textual languages where appropriate Provide a framework where these can be combined and analysed Analysis is the corner stone of Model-Based Design Different levels of adoption of Model-Based Design will use different kinds of analysis 4

5 ሶ ሶ Simulink Workflow Dynamical System Graphically model the system in Simulink Simulink Block Diagram Compilation: Convert from graphical model to some internal representation Compiled Information (CI) X = [x c, x d ] x c = f c (X, U, t) x d n + 1 = f d (X, U, t) y = g(x, U, t) X(t 0 ) = X 0 Execution Phase Analyze Results Present the solution (logging, scopes) Simulate CI X = [xc, xd] x c = f(x, u 1, u 2, t) x d n + 1 = g(x, u 1, u 2, t) y = h(x, u 1, u 2, t) X(t 0 ) = X 0 Solver Info t n + 1 = 5

6 Modelling Formalisms Linear systems (ODEs) >>sldemo_bounce_two_integrators 6

7 Modelling Formalisms Linear systems (ODEs) >>sldemo_bounce_two_integrators 7

8 Modelling Formalisms Linear systems (ODEs) >>sldemo_bounce_two_integrators 8

9 Modelling Formalisms Linear systems (ODEs) Hierarchical state machines >>sldemo_fuelsys 9

10 Modelling Formalisms Linear systems (ODEs) Hierarchical state machines >>sldemo_fuelsys 10

11 Modelling Formalisms Linear systems (ODEs) Hierarchical state machines Tabular specifications >>ex_stt_boiler 11

12 Modelling Formalisms Linear systems (ODEs) Hierarchical state machines Tabular specifications Hybrid automata >>sf_bounce 12

13 Modelling Formalisms Linear systems (ODEs) Hierarchical state machines Tabular specifications Hybrid automata >>sf_bounce 13

14 Modelling Formalisms Linear systems (ODEs) Hierarchical state machines Tabular specifications Hybrid automata Differential algebraic system (acausal models for physical systems) 14

15 Modelling Formalisms Linear systems (ODEs) Hierarchical state machines Tabular specifications Hybrid automata Differential algebraic system (acausal models for physical systems) 15

16 Modelling Formalisms Linear systems (ODEs) Hierarchical state machines Tabular specifications Hybrid automata Differential algebraic system (acausal models for physical systems) Discrete event systems Procedural code 16

17 Model-Based Design Hardware Hardware connectivity Real time simulation 17

18 Model-Based Design Hardware Hardware connectivity Real time simulation 18

19 Model-Based Design Hardware Hardware connectivity Real time simulation 19

20 Model-Based Design Hardware Hardware connectivity Real time simulation 20

21 Model-Based Design Code generation Programming Code generation Design optimizations Verification 21

22 Model-Based Design Code generation Programming Code generation Design optimizations Verification 22

23 Model-Based Design Code generation Programming Code generation Design optimizations Verification 23

24 Model-Based Design Code generation Programming Code generation Design optimizations Verification 24

25 Model-Based Design Code generation Programming Code generation Design optimizations Verification 25

26 Model-Based Design Code generation Programming Code generation Design optimizations Verification Data-type design 26

27 Model-Based Design Code generation Programming Code generation Design optimizations Verification Data-type design Systematic verification Coverage analysis Detect run-time error Property proving 27

28 Where does Program Analysis fit into this picture? Techniques for reasoning about behaviour Spanning many programming paradigms Well developed abstraction techniques Abstraction vs. approximation! Scalable algorithms Algorithms that scale to millions of lines of code Active area of research New techniques and algorithms 28

29 Four properties for a tool Automaticity Is the tool press-button or does it require user interaction? Soundness Are results trustable? Completeness Will the tool find all my bugs? Scalability How does the tool react to large programs? 29

30 Comparison of formal methods properties Automaticity Scalability Soundness Completeness Abstract Interpretation Dynamic test Formal proof (Hoare) Model Checking 30

31 It s all about the Workflow! 31

32 Data Flow Analysis 32

33 A Refresher Infer flows in programs Reason about program statements System of equations that capture the flow across statements in a program Algorithms well suited for program graphs Basis for compiler optimizations s1 e1 c1 s2 s3 j1 x1 33

34 A Refresher Infer flows in programs Reason about program statements System of equations that capture the flow across statements in a program Algorithms well suited for program graphs Basis for compiler optimizations Generate a set of equations Over a lattice domain Solution calculated by using fixpoint iteration entry s1 = exit e1 entry c1 = entry e1 exit j1 exit c1 = entry c1 kill c1 gen(c1) entry j1 = exit s3 exit s3 34

35 A Refresher Infer flows in programs Reason about program statements System of equations that capture the flow across statements in a program Algorithms well suited for program graphs Basis for compiler optimizations Generate a set of equations Over a lattice domain Solution calculated by using fixpoint iteration Forward vs. Backward analysis Context sensitivity Flow sensitivity Inter vs. Intra procedural analysis 35

36 Applications of data-flow analysis Compiler optimizations Expression folding Variable reuse (RAM) Constant folding Strength reduction 36

37 Applications of data-flow analysis Compiler optimizations Expression folding Variable reuse (RAM) Constant folding Strength reduction 37

38 Applications of data-flow analysis Compiler optimizations Expression folding Variable reuse (RAM) Constant folding Strength reduction 38

39 Applications of data-flow analysis Compiler optimizations Expression folding Variable reuse (RAM) Constant folding Strength reduction Parallelization GPU Coder 39

40 Deploy with GPU Coder ~20 Fps (K40c) Alexnet ~30 Fps (Tegra X1) Vehicle Detection ~66 Fps (Tegra X1) ~130 Fps (K40c) People detection Lane detection 40

41 Debugging Workflow Problem: 41

42 Debugging Workflow Problem: You have a large model, with an error. How should you go about localizing the error? 42

43 Debugging Workflow Problem: You have a large model, with an error. How should you go about localizing the error? Localize the behaviour over time Simulate the model Insert break-points Visualize signals/outputs 43

44 Debugging Workflow Problem: You have a large model, with an error. How should you go about localizing the error? Localize the behaviour over time Simulate the model Insert break-points Visualize signals/outputs Localize the behaviour over space Dependency analysis of model 44

45 Debugging Workflow Problem: You have a large model, with an error. How should you go about localizing the error? Localize the behaviour over time Simulate the model Insert break-points Visualize signals/outputs Localize the behaviour over space Dependency analysis of model Extract and simplify 45

46 Debugging Workflow Problem: You have a large model, with an error. How should you go about localizing the error? Localize the behaviour over time Simulate the model Insert break-points Visualize signals/outputs Localize the behaviour over space Dependency analysis of model Extract and simplify Google search: simulink model slicer youtube 46

47 Slicing Models to Reduce Complexity 47

48 Abstract Interpretation 48

49 Prove that no division by zero occurs here 49

50 Prove that no division by zero occurs here Clearly testing is not practicable Too many unknown 50

51 Prove that no division by zero occurs here Clearly testing is not practicable Too many unknown Philosophy of AI to prove correctness: You don t need the exact value of current_out to prove abscence of ZDIV Having a less precise information e.g. current_out >= 0.2 is sufficient 51

52 Formalization of the concrete semantics of the program States of the program 52

53 Formalization of the concrete semantics of the program States of the program x=1 current_out=? in=? i=? 53

54 Formalization of the concrete semantics of the program States of the program x=1 current_out=0 in=1.6 i=17 54

55 Formalization of the concrete semantics of the program Traces semantics Infinite state machine that simulates program execution 55

56 Formalization of the concrete semantics of the program Traces semantics Infinite state machine that simulates program execution 56

57 Formalization of the concrete semantics of the program Traces semantics Infinite state machine that simulates program execution 57

58 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 58

59 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 59

60 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 60

61 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 61

62 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 62

63 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 63

64 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 64

65 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 65

66 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 66

67 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 67

68 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 68

69 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 69

70 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 70

71 Formalization of the abstract semantics of the program Properties semantics Loss of expressivity Finite state machine that over-approximates program execution 71

72 Formalization of the abstract semantics of the program Properties semantics Loss of expressivity X>=0 current_out<=0 in>=0 i>=0 Finite state machine that over-approximates program execution 72

73 Formalization of the abstract semantics of the program Properties semantics Loss of expressivity X>=0 current_out<=0 in>=0 i>=0 Finite state machine that over-approximates program execution X<0 current_out>=0 in<=0 i>0 73

74 Formalization of the abstract semantics of the program Properties semantics Fixpoint computation Finite state machine that over-approximates program execution 74

75 Formalization of the abstract semantics of the program Properties semantics Fixpoint computation Finite state machine that over-approximates program execution 75

76 Formalization of the abstract semantics of the program Properties semantics Fixpoint computation Finite state machine that over-approximates program execution 76

77 Formalization of the abstract semantics of the program Properties semantics Fixpoint computation Finite state machine that over-approximates program execution 77

78 Formalization of the abstract semantics of the program Properties semantics Fixpoint computation Finite state machine that over-approximates program execution Interate until no new states are reached 78

79 Formalization of the abstract semantics of the program Properties semantics Fixpoint computation Finite state machine that over-approximates program execution Interate until no new states are reached Abstract properties represent infinitely many states 79

80 Formalization of the abstract semantics of the program Properties semantics Fixpoint computation False alarm Finite state machine that over-approximates program execution Interate until no new states are reached Abstract properties represent infinitely many states 80

81 Applications of Abstract Interpretation Analysis of C Code Code prover Bug finder 81

82 Code Prover Performs abstract invariants computation on C/C++/ADA programs With pointers With floating points With function calls With multi-tasking Zero False Positives Computes many properties on program variables Ranges (interval domains) with holes Multiplicity (both integer and floating point) Linear relations between program variables e.g. 3x 2y + 4z 32 y + 3z t 1 82

83 Simple color code for presenting the information 83

84 Bug Finder Bug Finder uses abstract interpretation techniques to find bugs Does not claim to be exhaustive Cannot prove abscence of bugs May find a broader set of bugs Some are hard to deal with in Code Prover Few False Positives 84

85 Applications of Abstract Interpretation Analysis of C Code Code prover Bug finder Analysis of code generated from models Opportunities for using model semantics to improve precision of code-based analysis 85

86 Applications of Abstract Interpretation Analysis of C Code Code prover Bug finder Analysis of code generated from models Opportunities for using model semantics to improve precision of code-based analysis Analysis of Models 86

87 Applications of Abstract Interpretation Analysis of C Code Code prover Bug finder Analysis of code generated from models Opportunities for using model semantics to improve precision of code-based analysis Analysis of Models 87

88 Detailed design Data-type design From Specification to Code High level design focuses on maximum flexibility in design space exploration Use doubles Let Simulink choose appropriate data-types Code generation focuses on designs that are quite precisely specified and optimised Cost of computation Cost of memory Precision requirements 88

89 Data type design Start with MATLAB algorithm (uses doubles) 89

90 Data type design Start with MATLAB algorithm (uses doubles) Convert all computations to use fixed-point calculations 90

91 Data type design Start with MATLAB algorithm (uses doubles) 91

92 Data type design Start with MATLAB algorithm (uses doubles) Execute test-bench with sample inputs 92

93 Data type design Start with MATLAB algorithm (uses doubles) Execute test-bench with sample inputs Instrument MATLAB to monitor min/max for each variable 93

94 Data type design Start with MATLAB algorithm (uses doubles) Execute test-bench with sample inputs Instrument MATLAB to monitor min/max for each variable Propose fixpoint types based on observed ranges 94

95 Data type design Start with MATLAB algorithm (uses doubles) Execute test-bench with sample inputs Instrument MATLAB to monitor min/max for each variable Propose fixpoint types based on observed ranges 95

96 Data type design Start with MATLAB algorithm (uses doubles) Execute test-bench with sample inputs Instrument MATLAB to monitor min/max for each variable Propose fixpoint types based on observed ranges Change algorithm to use the proposed types 96

97 Data type design Start with MATLAB algorithm (uses doubles) Execute test-bench with sample inputs Instrument MATLAB to monitor min/max for each variable Propose fixpoint types based on observed ranges Change algorithm to use the proposed types Verify behaviour on test-bench 97

98 Data type design Start with MATLAB algorithm (uses doubles) 98

99 Data type design Start with MATLAB algorithm (uses doubles) Propose fixed-point types based on Abstract Interpretation 99

100 Data type design Start with MATLAB algorithm (uses doubles) Propose fixed-point types based on Abstract Interpretation 100

101 Data type design Start with MATLAB algorithm (uses doubles) Propose fixed-point types based on Abstract Interpretation Change algorithm to use the proposed types 101

102 Data type design Start with MATLAB algorithm (uses doubles) Propose fixed-point types based on Abstract Interpretation Change algorithm to use the proposed types Verify behaviour on test-bench 102

103 Software Model Checking 103

104 Model Checking Start with a model Various forms of state machines/transition systems Represents a system Add a property Various forms of logic temporal, modal etc. Represents a property Algorithms to check the satisfiability/validity of the property on the model 104

105 Software Model Checking Model is software Complex control-flow Functions/procedures Data-structures, pointers Libraries 105

106 Software Model Checking Model is software Complex control-flow Functions/procedures Data-structures, pointers Libraries Some properties can also be encoded in the software ASSERT statements 106

107 Software Model Checking Model is software Complex control-flow Functions/procedures Data-structures, pointers Libraries Some properties can also be encoded in the software ASSERT statements Prove that the ASSERT statements cannot be hit or provide evidence of reachability 107

108 Model-Based Software Model Checking Model is the software (is the model)! 108

109 Model-Based Software Model Checking Model is the software (is the model)! Discrete state Simulink diagrams 109

110 Model-Based Software Model Checking Model is the software (is the model)! Discrete state Simulink diagrams Stateflow 110

111 Model-Based Software Model Checking Model is the software (is the model)! Discrete state Simulink diagrams Stateflow Tabular notations 111

112 Model-Based Software Model Checking Model is the software (is the model)! Discrete state Simulink diagrams Stateflow Tabular notations Integrators, Lookup tables, 112

113 Model-Based Software Model Checking Model is the software (is the model)! Discrete state Simulink diagrams Stateflow Tabular notations Integrators, Lookup tables, Signals, Triggers, Function calls, Subsystems, Reference Models 113

114 Model-Based Software Model Checking Model is the software (is the model)! Discrete state Simulink diagrams Stateflow Tabular notations Integrators, Lookup tables, Signals, Triggers, Function calls, Subsystems, Reference Models Arrays of signals, Buses (structures) of signals 114

115 Model-Based Software Model Checking Model is the software (is the model)! Discrete state Simulink diagrams Stateflow Tabular notations Integrators, Lookup tables, Signals, Triggers, Function calls, Subsystems, Reference Models Arrays of signals, Buses (structures) of signals MATLAB code 115

116 Model-Based Software Model Checking Model is the software (is the model!) 116

117 Model-Based Software Model Checking Model is the software (is the model!) Property is also modelled Assertion blocks Assumption blocks 117

118 Model-Based Software Model Checking Model is the software (is the model!) Property is also modelled Assertion blocks Assumption blocks 118

119 Model-Based Software Model Checking Model is the software (is the model!) Property is also modelled Assertion blocks Assumption blocks Special statements in MATLAB code 119

120 Model-Based Software Model Checking Model is the software (is the model!) Property is also modelled Assertion blocks Assumption blocks Special statements in MATLAB code 120

121 Model-Based Software Model Checking Model is the software (is the model!) Property is also modelled Assertion blocks Assumption blocks Special statements in MATLAB code Prove properties valid 121

122 Model-Based Software Model Checking Model is the software (is the model!) Property is also modelled Assertion blocks Assumption blocks Special statements in MATLAB code Prove properties valid Provide evidence of invalidity 122

123 Run-time Error Check Counter-example 123

124 Test Generation Analysis 124

125 Property Proving Functional verification and witness generation for safety properties Check for bounded depth validation or for full guarantees Counter-example 125

126 It s all about the Workflow! 126

127 Opportunities at MathWorks Bangalore Teams working on multiple areas of MATLAB and Simulink IN-SLVnV team Simulink Design Verifier Simulink Solvers and Execution Engine HDL Code Generation and optimizations Simulink Model Advisor Simulink Test Simulink Coder and optimizations MATLAB Coder and optimizations Masters with some industry experience or PhD Passion for developing software 127

Verification and Validation of Models for Embedded Software Development Prashant Hegde MathWorks India Pvt. Ltd.

Verification and Validation of Models for Embedded Software Development Prashant Hegde MathWorks India Pvt. Ltd. Verification and Validation of Models for Embedded Software Development Prashant Hegde MathWorks India Pvt. Ltd. 2015 The MathWorks, Inc. 1 Designing complex systems Is there something I don t know about

More information

Verification, Validation and Test in Model Based Design Manohar Reddy

Verification, Validation and Test in Model Based Design Manohar Reddy Verification, Validation and Test in Model Based Design Manohar Reddy 2015 The MathWorks, Inc. 1 Continuous Test & Verification Productivity + Model & Code Quality System & Component Dynamic testing &

More information

Automated Requirements-Based Testing

Automated Requirements-Based Testing Automated Requirements-Based Testing Tuesday, October 7 th 2008 2008 The MathWorks, Inc. Dr. Marc Segelken Senior Application Engineer Overview Purposes of Testing Test Case Generation Structural Testing

More information

Developing AUTOSAR Compliant Embedded Software Senior Application Engineer Sang-Ho Yoon

Developing AUTOSAR Compliant Embedded Software Senior Application Engineer Sang-Ho Yoon Developing AUTOSAR Compliant Embedded Software Senior Application Engineer Sang-Ho Yoon 2015 The MathWorks, Inc. 1 Agenda AUTOSAR Compliant Code Generation AUTOSAR Workflows Starting from Software Component

More information

Simulink 모델과 C/C++ 코드에대한매스웍스의정형검증툴소개 The MathWorks, Inc. 1

Simulink 모델과 C/C++ 코드에대한매스웍스의정형검증툴소개 The MathWorks, Inc. 1 Simulink 모델과 C/C++ 코드에대한매스웍스의정형검증툴소개 2012 The MathWorks, Inc. 1 Agenda Formal Verification Key concept Applications Verification of designs against (functional) requirements Design error detection Test

More information

From Design to Production

From Design to Production From Design to Production An integrated approach Paolo Fabbri Senior Engineer 2014 The MathWorks, Inc. 1 Do you know what it is? Requirements System Test Functional Spec Integration Test Detailed Design

More information

Model-Based Design for Safety-Critical and Mission-Critical Applications Bill Potter Technical Marketing April 17, 2008

Model-Based Design for Safety-Critical and Mission-Critical Applications Bill Potter Technical Marketing April 17, 2008 Model-Based Design for Safety-Critical and Mission-Critical Applications Bill Potter Technical Marketing April 17, 2008 2008 The MathWorks, Inc. Safety-Critical Model-Based Design Workflow Validate Trace:

More information

Model-Based Design of Connected and Autonomous Vehicles

Model-Based Design of Connected and Autonomous Vehicles Model-Based Design of Connected and Autonomous Vehicles Akshay Rajhans, PhD Senior Research Scientist Advanced Research and Technology Office MathWorks https://arajhans.github.io 2 nd IEEE Summer School

More information

Static Analysis by A. I. of Embedded Critical Software

Static Analysis by A. I. of Embedded Critical Software Static Analysis by Abstract Interpretation of Embedded Critical Software Julien Bertrane ENS, Julien.bertrane@ens.fr Patrick Cousot ENS & CIMS, Patrick.Cousot@ens.fr Radhia Cousot CNRS & ENS, Radhia.Cousot@ens.fr

More information

Implementation and Verification Daniel MARTINS Application Engineer MathWorks

Implementation and Verification Daniel MARTINS Application Engineer MathWorks Implementation and Verification Daniel MARTINS Application Engineer MathWorks Daniel.Martins@mathworks.fr 2014 The MathWorks, Inc. 1 Agenda Benefits of Model-Based Design Verification at Model level Code

More information

Structuring an Abstract Interpreter through Value and State Abstractions: EVA, an Evolved Value Analysis for Frama C

Structuring an Abstract Interpreter through Value and State Abstractions: EVA, an Evolved Value Analysis for Frama C Structuring an Abstract Interpreter through Value and State Abstractions: EVA, an Evolved Value Analysis for Frama C David Bühler CEA LIST, Software Safety Lab Frama-C & SPARK Day 2017 May 30th, 2017 David

More information

Program Static Analysis. Overview

Program Static Analysis. Overview Program Static Analysis Overview Program static analysis Abstract interpretation Data flow analysis Intra-procedural Inter-procedural 2 1 What is static analysis? The analysis to understand computer software

More information

Automatic Code Generation Technology Adoption Lessons Learned from Commercial Vehicle Case Studies

Automatic Code Generation Technology Adoption Lessons Learned from Commercial Vehicle Case Studies 08AE-22 Automatic Code Generation Technology Adoption Lessons Learned from Commercial Vehicle Case Studies Copyright 2007 The MathWorks, Inc Tom Erkkinen The MathWorks, Inc. Scott Breiner John Deere ABSTRACT

More information

Moving MATLAB Algorithms into Complete Designs with Fixed-Point Simulation and Code Generation

Moving MATLAB Algorithms into Complete Designs with Fixed-Point Simulation and Code Generation Moving MATLAB Algorithms into Complete Designs with Fixed-Point Simulation and Code Generation Houman Zarrinkoub, PhD. Product Manager Signal Processing Toolboxes The MathWorks Inc. 2007 The MathWorks,

More information

A Gentle Introduction to Program Analysis

A Gentle Introduction to Program Analysis A Gentle Introduction to Program Analysis Işıl Dillig University of Texas, Austin January 21, 2014 Programming Languages Mentoring Workshop 1 / 24 What is Program Analysis? Very broad topic, but generally

More information

Verifying C & C++ with ESBMC

Verifying C & C++ with ESBMC Verifying C & C++ with ESBMC Denis A Nicole dan@ecs.soton.ac.uk CyberSecuritySoton.org [w] @CybSecSoton [fb & tw] ESBMC ESBMC, the Efficient SMT-Based Context-Bounded Model Checker was originally developed

More information

Guidelines for deployment of MathWorks R2010a toolset within a DO-178B-compliant process

Guidelines for deployment of MathWorks R2010a toolset within a DO-178B-compliant process Guidelines for deployment of MathWorks R2010a toolset within a DO-178B-compliant process UK MathWorks Aerospace & Defence Industry Working Group Guidelines for deployment of MathWorks R2010a toolset within

More information

Model-Based Design for High Integrity Software Development Mike Anthony Senior Application Engineer The MathWorks, Inc.

Model-Based Design for High Integrity Software Development Mike Anthony Senior Application Engineer The MathWorks, Inc. Model-Based Design for High Integrity Software Development Mike Anthony Senior Application Engineer The MathWorks, Inc. Tucson, AZ USA 2009 The MathWorks, Inc. Model-Based Design for High Integrity Software

More information

WHITE PAPER. 10 Reasons to Use Static Analysis for Embedded Software Development

WHITE PAPER. 10 Reasons to Use Static Analysis for Embedded Software Development WHITE PAPER 10 Reasons to Use Static Analysis for Embedded Software Development Overview Software is in everything. And in many embedded systems like flight control, medical devices, and powertrains, quality

More information

Jay Abraham 1 MathWorks, Natick, MA, 01760

Jay Abraham 1 MathWorks, Natick, MA, 01760 Jay Abraham 1 MathWorks, Natick, MA, 01760 Stringent performance requirements and shorter development cycles are driving the use of modeling and simulation. Model-Based Design core of this development

More information

Distributed Systems Programming (F21DS1) Formal Verification

Distributed Systems Programming (F21DS1) Formal Verification Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on

More information

Flight Systems are Cyber-Physical Systems

Flight Systems are Cyber-Physical Systems Flight Systems are Cyber-Physical Systems Dr. Christopher Landauer Software Systems Analysis Department The Aerospace Corporation Computer Science Division / Software Engineering Subdivision 08 November

More information

2015 The MathWorks, Inc. 1

2015 The MathWorks, Inc. 1 2015 The MathWorks, Inc. 1 신호처리응용을위한 Model Based Design Workflow 이웅재부장 2015 The MathWorks, Inc. 2 CASE: Software in Signal Processing Application (Medical) Medical devices are increasingly driven by complex

More information

Model-Based Design Challenges for Cyber-Physical Systems

Model-Based Design Challenges for Cyber-Physical Systems Model-Based Design Challenges for Cyber-Physical Systems Akshay Rajhans, PhD Senior Research Scientist Advanced Research and Technology Office MathWorks https://arajhans.github.io ExCAPE PI Meeting, University

More information

Introduction to Control Systems Design

Introduction to Control Systems Design Experiment One Introduction to Control Systems Design Control Systems Laboratory Dr. Zaer Abo Hammour Dr. Zaer Abo Hammour Control Systems Laboratory 1.1 Control System Design The design of control systems

More information

Implementing MATLAB Algorithms in FPGAs and ASICs By Alexander Schreiber Senior Application Engineer MathWorks

Implementing MATLAB Algorithms in FPGAs and ASICs By Alexander Schreiber Senior Application Engineer MathWorks Implementing MATLAB Algorithms in FPGAs and ASICs By Alexander Schreiber Senior Application Engineer MathWorks 2014 The MathWorks, Inc. 1 Traditional Implementation Workflow: Challenges Algorithm Development

More information

Lecture 6. Abstract Interpretation

Lecture 6. Abstract Interpretation Lecture 6. Abstract Interpretation Wei Le 2014.10 Outline Motivation History What it is: an intuitive understanding An example Steps of abstract interpretation Galois connection Narrowing and Widening

More information

What s New with the MATLAB and Simulink Product Families. Marta Wilczkowiak & Coorous Mohtadi Application Engineering Group

What s New with the MATLAB and Simulink Product Families. Marta Wilczkowiak & Coorous Mohtadi Application Engineering Group What s New with the MATLAB and Simulink Product Families Marta Wilczkowiak & Coorous Mohtadi Application Engineering Group 1 Area MATLAB Math, Statistics, and Optimization Application Deployment Parallel

More information

On the Generation of Test Cases for Embedded Software in Avionics or Overview of CESAR

On the Generation of Test Cases for Embedded Software in Avionics or Overview of CESAR 1 / 16 On the Generation of Test Cases for Embedded Software in Avionics or Overview of CESAR Philipp Rümmer Oxford University, Computing Laboratory philr@comlab.ox.ac.uk 8th KeY Symposium May 19th 2009

More information

Sendmail crackaddr - Static Analysis strikes back

Sendmail crackaddr - Static Analysis strikes back Sendmail crackaddr - Static Analysis strikes back Bogdan Mihaila Technical University of Munich, Germany December 6, 2014 Name Lastname < name@mail.org > ()()()()()()()()()... ()()() 1 / 25 Abstract Interpretation

More information

Model Checking Revision: Model Checking for Infinite Systems Revision: Traffic Light Controller (TLC) Revision: 1.12

Model Checking Revision: Model Checking for Infinite Systems Revision: Traffic Light Controller (TLC) Revision: 1.12 Model Checking mc Revision:.2 Model Checking for Infinite Systems mc 2 Revision:.2 check algorithmically temporal / sequential properties fixpoint algorithms with symbolic representations: systems are

More information

Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink

Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink Graham Reith Industry Manager Communications, Electronics and Semiconductors MathWorks Graham.Reith@mathworks.co.uk 2015 The MathWorks,

More information

Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks

Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks 2014 The MathWorks, Inc. 1 Agenda -Based Design for FPGA and ASIC Generating HDL Code from MATLAB and Simulink For prototyping

More information

Xuandong Li. BACH: Path-oriented Reachability Checker of Linear Hybrid Automata

Xuandong Li. BACH: Path-oriented Reachability Checker of Linear Hybrid Automata BACH: Path-oriented Reachability Checker of Linear Hybrid Automata Xuandong Li Department of Computer Science and Technology, Nanjing University, P.R.China Outline Preliminary Knowledge Path-oriented Reachability

More information

4/24/18. Overview. Program Static Analysis. Has anyone done static analysis? What is static analysis? Why static analysis?

4/24/18. Overview. Program Static Analysis. Has anyone done static analysis? What is static analysis? Why static analysis? Overview Program Static Analysis Program static analysis Abstract interpretation Static analysis techniques 2 What is static analysis? The analysis to understand computer software without executing programs

More information

Advanced Programming Methods. Introduction in program analysis

Advanced Programming Methods. Introduction in program analysis Advanced Programming Methods Introduction in program analysis What is Program Analysis? Very broad topic, but generally speaking, automated analysis of program behavior Program analysis is about developing

More information

Duet: Static Analysis for Unbounded Parallelism

Duet: Static Analysis for Unbounded Parallelism Duet: Static Analysis for Unbounded Parallelism Azadeh Farzan and Zachary Kincaid University of Toronto Abstract. Duet is a static analysis tool for concurrent programs in which the number of executing

More information

Optimize DSP Designs and Code using Fixed-Point Designer

Optimize DSP Designs and Code using Fixed-Point Designer Optimize DSP Designs and Code using Fixed-Point Designer MathWorks Korea 이웅재부장 Senior Application Engineer 2013 The MathWorks, Inc. 1 Agenda Fixed-point concepts Introducing Fixed-Point Designer Overview

More information

Making the Most of your MATLAB Models to Improve Verification

Making the Most of your MATLAB Models to Improve Verification Making the Most of your MATLAB Models to Improve Verification Verification Futures 2016 Graham Reith Industry Manager: Communications, Electronics & Semiconductors Graham.Reith@mathworks.co.uk 2015 The

More information

[Sub Track 1-3] FPGA/ASIC 을타겟으로한알고리즘의효율적인생성방법및신기능소개

[Sub Track 1-3] FPGA/ASIC 을타겟으로한알고리즘의효율적인생성방법및신기능소개 [Sub Track 1-3] FPGA/ASIC 을타겟으로한알고리즘의효율적인생성방법및신기능소개 정승혁과장 Senior Application Engineer MathWorks Korea 2015 The MathWorks, Inc. 1 Outline When FPGA, ASIC, or System-on-Chip (SoC) hardware is needed Hardware

More information

Integrated Workflow to Implement Embedded Software and FPGA Designs on the Xilinx Zynq Platform Puneet Kumar Senior Team Lead - SPC

Integrated Workflow to Implement Embedded Software and FPGA Designs on the Xilinx Zynq Platform Puneet Kumar Senior Team Lead - SPC Integrated Workflow to Implement Embedded Software and FPGA Designs on the Xilinx Zynq Platform Puneet Kumar Senior Team Lead - SPC 2012 The MathWorks, Inc. 1 Agenda Integrated Hardware / Software Top

More information

Model-Based Design: Generating Embedded Code for Prototyping or Production

Model-Based Design: Generating Embedded Code for Prototyping or Production Model-Based Design: Generating Embedded Code for Prototyping or Production Ruth-Anne Marchant Application Engineer MathWorks 2016 The MathWorks, Inc. 1 2 ABB Accelerates Application Control Software Development

More information

Test and Evaluation of Autonomous Systems in a Model Based Engineering Context

Test and Evaluation of Autonomous Systems in a Model Based Engineering Context Test and Evaluation of Autonomous Systems in a Model Based Engineering Context Raytheon Michael Nolan USAF AFRL Aaron Fifarek Jonathan Hoffman 3 March 2016 Copyright 2016. Unpublished Work. Raytheon Company.

More information

Simulink as Your Enterprise Simulation Platform

Simulink as Your Enterprise Simulation Platform Simulink as Your Enterprise Simulation Platform Stephan van Beek Manager, Applications Engineering Group 2015 The MathWorks, Inc. 1 Why simulation? 2 Hyperloop 3 TU Delft Wins Elon Musk Hyperloop Competition

More information

This project has received funding from the European Union s Horizon 2020 research and innovation programme under grant agreement No

This project has received funding from the European Union s Horizon 2020 research and innovation programme under grant agreement No This project has received funding from the European Union s Horizon 2020 research and innovation programme under grant agreement No 643921. TOOLS INTEGRATION UnCoVerCPS toolchain Goran Frehse, UGA Xavier

More information

Using HDL Coder for Complex Algorithm Deployment Steve Hamilton, James Hui & Ian Brown

Using HDL Coder for Complex Algorithm Deployment Steve Hamilton, James Hui & Ian Brown Using HDL Coder for Complex Algorithm Deployment Steve Hamilton, James Hui & Ian Brown sensor interfaces external memory controller 2 / Context Image and signal processing in firmware Is complex! Requires

More information

Leveraging Formal Verification Throughout the Entire Design Cycle

Leveraging Formal Verification Throughout the Entire Design Cycle Leveraging Formal Verification Throughout the Entire Design Cycle Verification Futures Page 1 2012, Jasper Design Automation Objectives for This Presentation Highlight several areas where formal verification

More information

HECTOR: Formal System-Level to RTL Equivalence Checking

HECTOR: Formal System-Level to RTL Equivalence Checking ATG SoC HECTOR: Formal System-Level to RTL Equivalence Checking Alfred Koelbl, Sergey Berezin, Reily Jacoby, Jerry Burch, William Nicholls, Carl Pixley Advanced Technology Group Synopsys, Inc. June 2008

More information

Team-Based Collaboration in Simulink Chris Fillyaw Application Engineer Detroit, MI

Team-Based Collaboration in Simulink Chris Fillyaw Application Engineer Detroit, MI Team-Based Collaboration in Simulink Chris Fillyaw Application Engineer Detroit, MI 2012 The MathWorks, Inc. Development of a complex system Agenda Team-based workflow considerations Reproducing the design

More information

Lectures 20, 21: Axiomatic Semantics

Lectures 20, 21: Axiomatic Semantics Lectures 20, 21: Axiomatic Semantics Polyvios Pratikakis Computer Science Department, University of Crete Type Systems and Static Analysis Based on slides by George Necula Pratikakis (CSD) Axiomatic Semantics

More information

DIVERSITY TG Automatic Test Case Generation from Matlab/Simulink models. Diane Bahrami, Alain Faivre, Arnault Lapitre

DIVERSITY TG Automatic Test Case Generation from Matlab/Simulink models. Diane Bahrami, Alain Faivre, Arnault Lapitre DIVERSITY TG Automatic Test Case Generation from Matlab/Simulink models Diane Bahrami, Alain Faivre, Arnault Lapitre CEA, LIST, Laboratory of Model Driven Engineering for Embedded Systems (LISE), Point

More information

Reading Assignment. Symbolic Evaluation/Execution. Move from Dynamic Analysis to Static Analysis. Move from Dynamic Analysis to Static Analysis

Reading Assignment. Symbolic Evaluation/Execution. Move from Dynamic Analysis to Static Analysis. Move from Dynamic Analysis to Static Analysis Reading Assignment Symbolic Evaluation/Execution *R.W. Floyd, "Assigning Meaning to Programs, Symposium on Applied Mathematics, 1967, pp. 19-32 (Appeared as volume 19 of Mathematical Aspects of Computer

More information

System Requirements & Platform Availability by Product for R2016b

System Requirements & Platform Availability by Product for R2016b & Platform Availability by Product for R2016b View general system requirements. Product Aerospace Blockset Requires Aerospace Control recommended Aerospace Antenna RF recommended Phased Array recommended

More information

Generating Industry Standards Production C Code Using Embedded Coder

Generating Industry Standards Production C Code Using Embedded Coder Generating Industry Standards Production C Code Using Embedded Coder Rajat Arora Durvesh Kulkarni 2015 The MathWorks, Inc. 1 Lines of Code (LOC) is exploding 2011 1M 2018 100M We ve got 100 million lines

More information

What s New in MATLAB and Simulink

What s New in MATLAB and Simulink What s New in MATLAB Simulink Fabrizio Sara 2015 The MathWorks, Inc. 1 Engineers scientists 2 Engineers scientists Develop algorithms Analyze data write MATLAB code. 3 Engineers scientists deploy algorithms

More information

Symbolic Evaluation/Execution

Symbolic Evaluation/Execution Symbolic Evaluation/Execution Reading Assignment *R.W. Floyd, "Assigning Meaning to Programs, Symposium on Applied Mathematics, 1967, pp. 19-32 (Appeared as volume 19 of Mathematical Aspects of Computer

More information

Utilisation des Méthodes Formelles Sur le code et sur les modèles

Utilisation des Méthodes Formelles Sur le code et sur les modèles Utilisation des Méthodes Formelles Sur le code et sur les modèles Patrick Munier Co-fondateur de PolySpace Technologies Polyspace Development Manager, MathWorks Patrick.Munier@mathworks.fr Forum Méthodes

More information

Software and Energy-aware Computing Fundamentals of static analysis of software

Software and Energy-aware Computing Fundamentals of static analysis of software Software and Energy-aware Computing Fundamentals of static analysis of software John Gallagher Roskilde University ICT-Energy: Energy consumption in future ICT devices Summer School, Aalborg, Denmark,

More information

Embarquez votre Intelligence Artificielle (IA) sur CPU, GPU et FPGA

Embarquez votre Intelligence Artificielle (IA) sur CPU, GPU et FPGA Embarquez votre Intelligence Artificielle (IA) sur CPU, GPU et FPGA Pierre Nowodzienski Engineer pierre.nowodzienski@mathworks.fr 2018 The MathWorks, Inc. 1 From Data to Business value Make decisions Get

More information

The Apron Library. Bertrand Jeannet and Antoine Miné. CAV 09 conference 02/07/2009 INRIA, CNRS/ENS

The Apron Library. Bertrand Jeannet and Antoine Miné. CAV 09 conference 02/07/2009 INRIA, CNRS/ENS The Apron Library Bertrand Jeannet and Antoine Miné INRIA, CNRS/ENS CAV 09 conference 02/07/2009 Context : Static Analysis What is it about? Discover properties of a program statically and automatically.

More information

Tools for Formally Reasoning about Systems. June Prepared by Lucas Wagner

Tools for Formally Reasoning about Systems. June Prepared by Lucas Wagner Tools for Formally Reasoning about Systems June 9 2015 Prepared by Lucas Wagner 2015 Rockwell 2015 Collins. Rockwell All Collins. rights reserved. All rights reserved. Complex systems are getting more

More information

Principles of Program Analysis. Lecture 1 Harry Xu Spring 2013

Principles of Program Analysis. Lecture 1 Harry Xu Spring 2013 Principles of Program Analysis Lecture 1 Harry Xu Spring 2013 An Imperfect World Software has bugs The northeast blackout of 2003, affected 10 million people in Ontario and 45 million in eight U.S. states

More information

Verification, Validation, and Test with Model-Based Design

Verification, Validation, and Test with Model-Based Design 2008-01-2709 Verification, Validation, and Test with Model-Based Design Copyright 2008 The MathWorks, Inc Tom Erkkinen The MathWorks, Inc. Mirko Conrad The MathWorks, Inc. ABSTRACT Model-Based Design with

More information

Modeling a 4G LTE System in MATLAB

Modeling a 4G LTE System in MATLAB Modeling a 4G LTE System in MATLAB Part 3: Path to implementation (C and HDL) Houman Zarrinkoub PhD. Signal Processing Product Manager MathWorks houmanz@mathworks.com 2011 The MathWorks, Inc. 1 LTE Downlink

More information

Verification and Test with Model-Based Design

Verification and Test with Model-Based Design Verification and Test with Model-Based Design Flight Software Workshop 2015 Jay Abraham 2015 The MathWorks, Inc. 1 The software development process Develop, iterate and specify requirements Create high

More information

Areas related to SW verif. Trends in Software Validation. Your Expertise. Research Trends High level. Research Trends - Ex 2. Research Trends Ex 1

Areas related to SW verif. Trends in Software Validation. Your Expertise. Research Trends High level. Research Trends - Ex 2. Research Trends Ex 1 Areas related to SW verif. Trends in Software Validation Abhik Roychoudhury CS 6214 Formal Methods Model based techniques Proof construction techniques Program Analysis Static Analysis Abstract Interpretation

More information

Architecture-driven development of Climate Control Software LMS Imagine.Lab Embedded Software Designer Siemens DF PL

Architecture-driven development of Climate Control Software LMS Imagine.Lab Embedded Software Designer Siemens DF PL Architecture-driven development of Climate Control Software LMS Imagine.Lab Embedded Software Designer Siemens DF PL Restricted Siemens AG 2017 Realize innovation. Content 1 Overview 3 2 LMS Imagine.Lab

More information

What s New in MATLAB & Simulink. Prashant Rao Technical Manager MathWorks India

What s New in MATLAB & Simulink. Prashant Rao Technical Manager MathWorks India What s New in MATLAB & Simulink Prashant Rao Technical Manager MathWorks India Agenda Flashback Key Areas of Focus from 2013 Key Areas of Focus & What s New in 2013b/2014a MATLAB product family Simulink

More information

Course Introduction to Matlab and Simulink - Stateflow

Course Introduction to Matlab and Simulink - Stateflow Course Introduction to Matlab and Simulink - Stateflow Emanuele Ruffaldi June 08, 2017 http://www.eruffaldi.com/wp/introduction-to-matlab-and-simulink/ Scuola Superiore Sant Anna, Pisa Event-driven Systems

More information

Lecture 1 Contracts. 1 A Mysterious Program : Principles of Imperative Computation (Spring 2018) Frank Pfenning

Lecture 1 Contracts. 1 A Mysterious Program : Principles of Imperative Computation (Spring 2018) Frank Pfenning Lecture 1 Contracts 15-122: Principles of Imperative Computation (Spring 2018) Frank Pfenning In these notes we review contracts, which we use to collectively denote function contracts, loop invariants,

More information

Introducing Simulink R2012b for Signal Processing & Communications Graham Reith Senior Team Leader, UK Application Engineering

Introducing Simulink R2012b for Signal Processing & Communications Graham Reith Senior Team Leader, UK Application Engineering Introducing Simulink R2012b for Signal Processing & Communications Graham Reith Senior Team Leader, UK Application Engineering 2012 The MathWorks, Inc. 1 Simulink R2012b the most significant upgrade to

More information

Automatic Software Verification

Automatic Software Verification Automatic Software Verification Instructor: Mooly Sagiv TA: Oded Padon Slides from Eran Yahav and the Noun Project, Wikipedia Course Requirements Summarize one lecture 10% one lecture notes 45% homework

More information

Algebraic Program Analysis

Algebraic Program Analysis Introduction to Algebraic Program Analysis Zachary Kincaid 1 Thomas Reps 2,3 1 Princeton University 2 University of Wisconsin-Madison 3 GrammaTech, Inc. January 8, 2018 1 Program analysis Design algorithms

More information

Critical Analysis of Computer Science Methodology: Theory

Critical Analysis of Computer Science Methodology: Theory Critical Analysis of Computer Science Methodology: Theory Björn Lisper Dept. of Computer Science and Engineering Mälardalen University bjorn.lisper@mdh.se http://www.idt.mdh.se/ blr/ March 3, 2004 Critical

More information

COS 320. Compiling Techniques

COS 320. Compiling Techniques Topic 5: Types COS 320 Compiling Techniques Princeton University Spring 2016 Lennart Beringer 1 Types: potential benefits (I) 2 For programmers: help to eliminate common programming mistakes, particularly

More information

What s New in MATLAB and Simulink Prashant Rao Technical Manager MathWorks India

What s New in MATLAB and Simulink Prashant Rao Technical Manager MathWorks India What s New in MATLAB and Simulink Prashant Rao Technical Manager MathWorks India 2013 The MathWorks, Inc. 1 MathWorks Product Overview 2 Core MathWorks Products The leading environment for technical computing

More information

Hardware Implementation and Verification by Model-Based Design Workflow - Communication Models to FPGA-based Radio

Hardware Implementation and Verification by Model-Based Design Workflow - Communication Models to FPGA-based Radio Hardware Implementation and Verification by -Based Design Workflow - Communication s to FPGA-based Radio Katsuhisa Shibata Industry Marketing MathWorks Japan 2015 The MathWorks, Inc. 1 Agenda Challenges

More information

DRYING CONTROL LOGIC DEVELOPMENT USING MODEL BASED DESIGN

DRYING CONTROL LOGIC DEVELOPMENT USING MODEL BASED DESIGN DRYING CONTROL LOGIC DEVELOPMENT USING MODEL BASED DESIGN Problem Definition To generate and deploy automatic code for Drying Control Logics compatible with new SW architecture in 6 months using MBD, a

More information

Embedded Software Verification Challenges and Solutions. Static Program Analysis

Embedded Software Verification Challenges and Solutions. Static Program Analysis Embedded Software Verification Challenges and Solutions Static Program Analysis Chao Wang chaowang@nec-labs.com NEC Labs America Princeton, NJ ICCAD Tutorial November 11, 2008 www.nec-labs.com 1 Outline

More information

Testing, Validating, and Verifying with Model-Based Design Phil Rottier

Testing, Validating, and Verifying with Model-Based Design Phil Rottier Testing, Validating, and Verifying with Model-Based Design Phil Rottier 2015 The MathWorks, Inc. 1 Summary MATLAB, Simulink and Stateflow help individuals and teams rapidly develop complex designs These

More information

Hardware and Software Co-Design for Motor Control Applications

Hardware and Software Co-Design for Motor Control Applications Hardware and Software Co-Design for Motor Control Applications GianCarlo Pacitti Senior Application Engineer, MathWorks 2015 The MathWorks, Inc. 1 Agenda Why use Hardware and Software for motor control?

More information

Verification and Validation Introducing Simulink Design Verifier

Verification and Validation Introducing Simulink Design Verifier Verification and Validation Introducing Simulink Design Verifier Goran Begic, Technical Marketing Goran.Begic@mathworks.com June 5, 2007 2007 The MathWorks, Inc. Agenda Verification and Validation in Model-Based

More information

Introduction to C and HDL Code Generation from MATLAB

Introduction to C and HDL Code Generation from MATLAB Introduction to C and HDL Code Generation from MATLAB 이웅재차장 Senior Application Engineer 2012 The MathWorks, Inc. 1 Algorithm Development Process Requirements Research & Design Explore and discover Design

More information

Leveraging Formal Methods Based Software Verification to Prove Code Quality & Achieve MISRA compliance

Leveraging Formal Methods Based Software Verification to Prove Code Quality & Achieve MISRA compliance Leveraging Formal Methods Based Software Verification to Prove Code Quality & Achieve MISRA compliance Prashant Mathapati Senior Application Engineer MATLAB EXPO 2013 The MathWorks, Inc. 1 The problem

More information

Abstract Interpretation

Abstract Interpretation Abstract Interpretation Ranjit Jhala, UC San Diego April 22, 2013 Fundamental Challenge of Program Analysis How to infer (loop) invariants? Fundamental Challenge of Program Analysis Key issue for any analysis

More information

Real-Time Simulation of Simscape Models

Real-Time Simulation of Simscape Models 2010 The MathWorks, Inc. Real-Time Simulation of Simscape Models Vehicle Dynamics Motor Planetary Gear Electric Motor Electric Generator DC-DC Converter Battery Controller Hybrid Electric Vehicle Wit ursilo

More information

In Our Last Exciting Episode

In Our Last Exciting Episode In Our Last Exciting Episode #1 Lessons From Model Checking To find bugs, we need specifications What are some good specifications? To convert a program into a model, we need predicates/invariants and

More information

Simulink Verification and Validation

Simulink Verification and Validation Simulink Verification and Validation Mark Walker MathWorks 7 th October 2014 2014 The MathWorks, Inc. 1 V Diagrams 3 When to Stop? A perfectly tested design would never be released Time spent on V&V is

More information

Automating Best Practices to Improve Design Quality

Automating Best Practices to Improve Design Quality Automating Best Practices to Improve Design Quality 임베디드 SW 개발에서의품질확보방안 이제훈차장 2015 The MathWorks, Inc. 1 Key Takeaways Author, manage requirements in Simulink Early verification to find defects sooner

More information

Lecture 1 Contracts : Principles of Imperative Computation (Fall 2018) Frank Pfenning

Lecture 1 Contracts : Principles of Imperative Computation (Fall 2018) Frank Pfenning Lecture 1 Contracts 15-122: Principles of Imperative Computation (Fall 2018) Frank Pfenning In these notes we review contracts, which we use to collectively denote function contracts, loop invariants,

More information

Software Model Checking: Theory and Practice

Software Model Checking: Theory and Practice Software Model Checking: Theory and Practice Lecture: Specification Checking - Specification Patterns Copyright 2004, Matt Dwyer, John Hatcliff, and Robby. The syllabus and all lectures for this course

More information

Model-Based Design Using Simulink, HDL Coder, and DSP Builder for Intel FPGAs By Kiran Kintali, Yongfeng Gu, and Eric Cigan

Model-Based Design Using Simulink, HDL Coder, and DSP Builder for Intel FPGAs By Kiran Kintali, Yongfeng Gu, and Eric Cigan Model-Based Design Using Simulink, HDL Coder, and DSP Builder for Intel FPGAs By Kiran Kintali, Yongfeng Gu, and Eric Cigan WHITE PAPER Summary This document describes how HDL Coder from MathWorks can

More information

Cover Page. The handle holds various files of this Leiden University dissertation

Cover Page. The handle   holds various files of this Leiden University dissertation Cover Page The handle http://hdl.handle.net/1887/22891 holds various files of this Leiden University dissertation Author: Gouw, Stijn de Title: Combining monitoring with run-time assertion checking Issue

More information

Compiler Design. Fall Control-Flow Analysis. Prof. Pedro C. Diniz

Compiler Design. Fall Control-Flow Analysis. Prof. Pedro C. Diniz Compiler Design Fall 2015 Control-Flow Analysis Sample Exercises and Solutions Prof. Pedro C. Diniz USC / Information Sciences Institute 4676 Admiralty Way, Suite 1001 Marina del Rey, California 90292

More information

Automatic Qualification of Abstract Interpretation-based Static Analysis Tools. Christian Ferdinand, Daniel Kästner AbsInt GmbH 2013

Automatic Qualification of Abstract Interpretation-based Static Analysis Tools. Christian Ferdinand, Daniel Kästner AbsInt GmbH 2013 Automatic Qualification of Abstract Interpretation-based Static Analysis Tools Christian Ferdinand, Daniel Kästner AbsInt GmbH 2013 2 Functional Safety Demonstration of functional correctness Well-defined

More information

Practical Model-based Testing With Papyrus and RT-Tester

Practical Model-based Testing With Papyrus and RT-Tester Practical Model-based Testing With Papyrus and RT-Tester Jan Peleska and Wen-ling Huang University of Bremen Verified Systems International GmbH Fourth Halmstad Summer School on Testing, 2014-06-11 Acknowledgements.

More information

Type checking. Jianguo Lu. November 27, slides adapted from Sean Treichler and Alex Aiken s. Jianguo Lu November 27, / 39

Type checking. Jianguo Lu. November 27, slides adapted from Sean Treichler and Alex Aiken s. Jianguo Lu November 27, / 39 Type checking Jianguo Lu November 27, 2014 slides adapted from Sean Treichler and Alex Aiken s Jianguo Lu November 27, 2014 1 / 39 Outline 1 Language translation 2 Type checking 3 optimization Jianguo

More information

Automating Best Practices to Improve Design Quality

Automating Best Practices to Improve Design Quality Automating Best Practices to Improve Design Quality Adam Whitmill, Senior Application Engineer 2015 The MathWorks, Inc. 1 Growing Complexity of Embedded Systems Emergency Braking Body Control Module Voice

More information

CSE 501: Compiler Construction. Course outline. Goals for language implementation. Why study compilers? Models of compilation

CSE 501: Compiler Construction. Course outline. Goals for language implementation. Why study compilers? Models of compilation CSE 501: Compiler Construction Course outline Main focus: program analysis and transformation how to represent programs? how to analyze programs? what to analyze? how to transform programs? what transformations

More information

Thursday, December 23, The attack model: Static Program Analysis

Thursday, December 23, The attack model: Static Program Analysis The attack model: Static Program Analysis How making SPA? DFA - Data Flow Analysis CFA - Control Flow Analysis Proving invariance: theorem proving Checking models: model checking Giaco & Ranzato DFA:

More information