Beyond Static Code Analysis

Size: px
Start display at page:

Download "Beyond Static Code Analysis"

Transcription

1 Beyond Static Code Analysis Dr. Michael Whalen July 23, 2009 Traditional Domains of Concern Mats Heimdahl. Tool Intensive Software Development, FAA Software Tools Forum, Daytona Beach, FL, May,

2 How we Develop Software Concept Formation Requirements Specification Is object code: - free from runtime errors? - correct w.r.t. functional requirements? - free from unintended functionality? System Test - fast enough? Test System Integration Test Design Integration Implementation Unit Test Object Code Analysis Mats Heimdahl. Tool Intensive Software Development, FAA Software Tools Forum, Daytona Beach, FL, May, How Static Analysis Helps Concept Formation Requirements Specification Is object code: - correct w.r.t. functional requirements? System - free from unintended functionality? System Test Design Test Integration Integration Test Implementation Unit Test Analysis:Timing Runtime Errors Object Code Analysis: Runtime Errors Adapted from: Mats Heimdahl. Tool Intensive Software Development, FAA Software Tools Forum, Daytona Beach, FL, May,

3 How we Will Develop Software Concept Formation Is model and/or code: - correct w.r.t. functional requirements? - free from unintended functionality? Requirements PropertiesAnalysis Specification/Model System System Test Specification Test Integration Integration Test Object Code Analysis:Timing Runtime Errors Adapted from: Mats Heimdahl. Tool Intensive Software Development, FAA Software Tools Forum, Daytona Beach, FL, May, Presentation Overview Overview Formalizing Requirements Formal Methods Examples of Applying Formal Methods Challenges and Future Directions 6 3

4 Requirements as Shall Statements 7 Encoding Requirements as Properties If the mode is COOKING, then the microwave door shall be CLOSED SPEC AG(mode = COOKING -> door_closed) ; CTL Simulink assert (!(mode == COOKING) door_closed); Java Code 8 4

5 Encoding Requirements as Properties 9 Uses of Formal Requirements Level of scale Subsystem System System of Systems Requirements Design Code Test Field Properties can be checked for completeness and consistency Verification tools prove whether design models meet properties Refutation tools can quickly find violations of properties Autogenerate code Focus of this talk Automated test generation directly from properties Properties used as test oracles for unit and integration test Properties as runtime monitors to recover from failures at runtime 10 5

6 Presentation Overview Overview Formalizing Requirements Formal Methods Examples of Applying Formal Methods Challenges and Future Directions 11 What are Formal Methods? Mathematically-based techniques for the specification, development and verification of software and hardware systems. Specification Temporal Logics (LTL, CTL, PSL) Textual notations (Z, B, VDM, PVS, SMV, ) Tabular notations (Parnas Tables, SCR, RSML, ) Graphical notations (SCADE, Simulink, Statecharts ) Wikipedia, 8 April 2008 Development Stepwise refinement with proofs of correctness Model-Based Development Automated code generation Verification Lightweight static analysis Model-checking (SMV, SAL, Prover, ) Theorem proving (ACL2, PVS, HOL, ) Test case generation 12 6

7 Verification Model Checking Breakthrough Technology of the 1990 s Widely used in hardware verification (Intel, IBM, ) Several Different Types of Model Checkers Explicit, symbolic, bounded, infinite bounded (SMT), Exhaustive Analysis of the Global State Space Consider all combinations of inputs and states Equivalent to exhaustive testing of the model Produce a counter example if a property is not true Easy to Use Push Button formal methods Very little effort (except at the tool s limits) Limitations Symbolic model checkers State space explosion ( states) SMT-based model checkers Skill of the user infinite state models possible 13 Verification Model Checking Testing Checks Only the Values We Select Model Checker Tries Every Possible Value! Even Small Systems Have Trillions (of Trillions) of Possible Tests! Finds every exception to the property being checked! 14 7

8 Model or Code (Simulink, SCADE, C, Java) Verification Model Checking Automatic Translation Analysis Model (SMV, Prover, SAL, ) Does the system have property X? Yes! Counter Example Automated Check Model Checker (NuSMV, PROVER, SAL, Translation Engineer Requirements (Properties) Properties (CTL, LTL, PSL, ) 15 Verification Theorem Proving Available Since the 1980 s Heavily used on security systems Use Rules of Inference to Prove New Properties Also consider all combinations of inputs and states Equivalent to exhaustive testing of the model Generate an unprovable proof obligation if a property is false Not Limited by State Space Applicable to almost any formal specification Limitations Skill of user about six months to become proficient Time - constructing proofs is labor intensive 16 8

9 Verification Theorem Proving Model or Code (Simulink, SCADE, C, Java) Automatic Translation Analysis Model (PVS ACL2, HOL, ) Does the system have property X? Yes! Guru Why not? Automated Check Theorem Prover (PVS, ACL2, HOL, Translation Engineer Requirements (Properties) Properties (Lemmas, Theorems, ) 17 Verification Automated Test Generation Available Since the 1990s Supported by several commercial tools T-VEC, Reactive Systems, LDRA, The Mathworks, etc. Generate tests up to some level of coverage In Avionics: MCDC is common Not a proof! Not Limited by State Space Applicable to source code, object code, or design models Low cost to generate thousands or millions of tests Limitations No oracle! Nothing to describe whether test passes. Properties are required to define notion of correctness May be unable to generate all tests for given level of coverage Once again, not a proof! Only possible to refute properties. 18 9

10 Verification Automated Testing Model or Code (Simulink, SCADE, C, Java) Automatic Translation TCG Model (T-VEC, Reactis, ) Does the system have property X? Tests OK Test Cases Counter Example Automated Check Autotest Tool (T-VEC, Reactis) Translation Engineer Requirements (Properties) Properties (CTL, LTL, PSL, ) 19 Presentation Overview Overview Formalizing Requirements Formal Methods? Examples of Applying Formal Methods Challenges and Future Directions 20 10

11 Rockwell Collins Translation Framework Support a wide variety of back end tools Very straightforward to add new tools E.g. Prover support: 4 days effort Allows the right tool for the right job 21 Examples of Using Formal Methods FCS 5000 Flight Control Mode Logic Mode Controller A Modeled in Simulink Translated to NuSMV 6.8 x Reachable States Mode Controller B Example Requirement Mode A1 => Mode B1 Counterexample Found in Less than Two Minutes Found 27 Errors 22 11

12 1 [trigger] sync<> sync 2 [A] input_a 3 [B] input_b 4 [C] input_c 5 [status_a] status_a 6 [status_b] status_b 7 [status_c] status_c 8 [DSTi] dst_index DOC Text [trigger] [A] [B] [C] trip_level trip_level1 persist_lim persistence limit [MS] [DSTi] DST Data Store Read trip_level persist_lim Index Vector input_a input_b input_c trip_level Extract Bits [0 3] Extract Bits failreport failreport double pc persistence_cnt<pc> 2 persistence_cnt persist_lim [trigger] tc 3 totalizer_cnt<tc> [A] totalizer_cnt MS [B] [C] triplex_input_monitor [DSTi] [MS] [status_a] [status_b] [status_c] [prev_sel] [A] [B] [C] mon_f ailure_report status_a status_b status_c f ailure_report prev_sel input_a input_b input_c Failure_Isolation pc trigger input_a input_sel input_b input_c DST_index triplex_input_selector 4 input_sel 1 failure_report [prev_sel] [DSTi] f ailure_report dst_index Failure_Processing Examples of Using Formal Methods ADGS-2100 Adaptive Display & Guidance System Modeled in Simulink Translated to NuSMV 4,295 Subsystems 16,117 Simulink Blocks Over Reachable States Example Requirement: Drive the Maximum Number of Display Units Given the Available Graphics Processors Counterexample Found in 5 Seconds Checked 573 Properties - Found and Corrected 98 Errors in Early Design Models 23 Examples of Formal Methods CerTA FCS Phase I Sponsored by AFRL Wright Patterson VA Directorate Compare FM & Testing Testing team & FM team Lockheed Martin UAV Adaptive Flight Control System Redundancy Management Logic Modeled in Simulink Translated to NuSMV model checker Subsystem/ Blocks Charts / Transitions / TT Cells Reachable State Space Properties Triplex voter 10 / 96 3 / 35 / * Failure processing 7 / 42 0 / 0 / * Reset manager 6 / 31 2 / 26 / * Totals 23 / / 61 / 198 N/A 62 for each of ten control surfaces Phase I Results Effort (% total) Errors Found Testing 60% 0 Model-Checking 40%

13 Examples of Formal Methods CerTA FCS Phase I Can We Eliminate Testing? Errors are always made during development ~ 1 errror / 1,000 SLOC for CMM 5. Testing can be used everywhere it verifies the final product but isn t very good at finding errors. Model-checking is very good at finding errors early in the design process but it doesn t work everywhere. System Use model-checking where it works now technology is improving rapidly and will be even better in the future. But some testing will always be necessary. 25 Examples of Formal Methods Can Model-Checking be Used on Large, Non-linear Systems? Lockheed Martin Adaptive UAV Flight Control System Extensive Use of matrix arithmetic Inputs 33 floating point inputs (including one 3 x 6 matrix) Outputs 6 floating point values 166 Simulink subsystems basic Simulink blocks Translated to Prover model checker CerTA FCS Phase II Sponsored by the AFRL - Wright Patterson VA Directorate Challenges Verification of floating point matrix arithmetic Verification of Stateflow flowcharts with cycles Compositional Verification Final Results Identified five previously unknown errors Identified several implementation errors that were being masked by defensive programming 26 13

14 Examples of Using Formal Methods AAMP7G Certified Microprocessor Formal proof of the MILS security partitioning implemented in the AAMP7G microprocessor Example of the industrial use of theorem proving using ACL2 Developed formal description of separation for uniprocessor, multipartition system (GWV) Modeled trusted AAMP7G microcode in ACL2 Constructed machine-checked proof of separation of the AAMP7G model Model subject of intensive code-to-spec review with AAMP7G microcode Satisfied formal methods requirements for NSA AAMP7G certification awarded in May verified using Formal Methods techniques as specified by the EAL-7 level of the Common Criteria - capable of simultaneously processing unclassified through Top Secret Codeword Information 27 One more fun example Empty Sudoku board has ~10 70 = (9 ^ 9 ^ 9) possible states After filling in given numbers for a board, considerably fewer states. [ July 22, 2009] What are Sudoku requirements? Must have exactly one of 1-9 in each row, column, and 3x3 square. Conversely, a bad non-solution will have two (or no) elements along one of these vectors Can we trick a model checker into solving Sudoku? State that all solutions for a set of givens are bad Model checker will demonstrate that this property is false and provide a counterexample (solution) 28 14

15 Sudoku encoding in SAL sudoku2: CONTEXT = BEGIN BLOCK : TYPE = [ 0.. 2] ; BLOCK_RANGE : TYPE = [1.. 3] ; RANGE : TYPE = [ 1..9 ]; BOARD : TYPE = array RANGE of array RANGE of RANGE ; sudoku : MODULE = BEGIN INPUT b : BOARD OUTPUT bad : BOOLEAN DEFINITION bad = % bad column (EXISTS (x: RANGE, y1: RANGE, y2: RANGE) : (y1 /= y2) AND (b[x][y1] = b[x][y2])) OR % bad row (EXISTS (y: RANGE, x1: RANGE, x2: RANGE) : (x1 /= x2) AND (b[x1][y] = b[x2][y])) OR % bad 3x3 block (EXISTS (xb: BLOCK, yb: BLOCK, x1: BLOCK_RANGE, y1: BLOCK_RANGE, x2: BLOCK_RANGE, y2: BLOCK_RANGE) : (x1 /= x2) AND (y1 /= y2) AND b[3*xb + x1][3*yb + y1] = b[3*xb + x2][3*yb + y2] END ; % generate a board that meets the % sudoku constraints test_th: THEOREM sudoku - G(bad); % solve a specific hard sudoku % according to wikipedia test_bf_hard: THEOREM sudoku - G ((b[6][2] = 3 AND b[8][2] = 8 AND b[9][2] = 5 AND b[3][3] = 1 AND b[5][3] = 2 AND b[4][4] = 5 AND b[6][4] = 7 AND b[3][5] = 4 AND b[7][5] = 1 AND b[2][6] = 9 AND b[1][7] = 5 AND b[8][7] = 7 AND b[9][7] = 3 AND b[3][8] = 2 AND b[5][8] = 1 AND b[5][9] = 4 AND b[9][9] = 9) => bad) ; END ; 29 SAL Sudoku Demo 30 15

16 Presentation Overview Overview Formalizing Requirements Formal Methods Examples of Applying Formal Methods Challenges and Future Directions 31 Classes of software systems Maturity of V&V Tools Ready for use Nonlinear Systems Linear Systems Finite-State Systems examples: mode logic, protocols, display logic characteristics: no reals or large-domain integers tools: symbolic model checking (NuSMV) example: linear controller characteristics: reals and integers; no trigonometry or non-linear arithmetic tools: k-induction model checkers (SAL, Prover) Current Research example: nonlinear or adaptive controller characteristics: trigonometry, nonlinear arithmetic tools: theorem provers (ACL2, PVS), abstract interpretation (ASTREE) 32 16

17 Challenges and Future Directions Compositional Verification Typical Model-Based Specification Models are organized in a hierarchy of subsystems several levels deep Most of the complexity is in the leaf models Leaf models can often be verified through model checking P1 1 In1 P2 & P3 2 In2 P2 & P3 -> Q1 In_A1 Out_A In_A2 Subsystem A Q1 P1 & Q1 -> Q2 In_B1 Out_B In_B2 Subsystem B Q2 Q 1 Out1 Composition of Subsystems Tends to be simple Well suited for theorem proving P2 & P3 => Q1 P1 & Q1 => Q2 => P1 & P2 & P3 => Q Issues Lack of a unified automated verification system Use model-checking to verify leaf models and theorem proving for composition Avoid circular reasoning to ensure soundness Can be ensured by eliminating cyclic dependencies between atomic subsystems Identifying the right leaf level invariants to support composition Complexity of the proof obligations for the intermediate levels 33 Challenges and Future Directions System Architectural Modeling & Analysis System Architecture Model Logical Abstracts Security Analysis Performance Analysis ADL Level B Classified Implements Auto Generate Safety Analysis Simulink Model C Code IMA Cabinet VAPS Model C Code Common Computing Resource 3 Common Computing Resource 2 Common Computing Resource 1 Level C Unclassified Ada Code App A App B App C Sys Specific Middleware (Schedule, Communication Routes) Reusable Trusted Middleware (RTOS, I/O, RT-CORBA) Separation Kernel Target Hardware Level A Top Secret Software Component Development Physical IMA BUS System Architecture Development 34 17

18 Challenges and Future Directions Applying Tools to Medical Software Embedded Medical Software is often finite-state or linear Complex mode logic Many feature interactions Implementing protocols for (say) pacing Off-the-shelf model checkers scale very well to similar problems in Avionics Likely that analysis tools will work well in this domain Requirements must be formalized Formal analysis can be performed on models or directly on source code high-quality code model checkers: C/C++: CBMC, FocusCheck, SLAM, BLAST Java: Java Pathfinder Ada: SPARK Tool suite 35 Challenges and Future Directions Conclusions Formal Methods Are Practical and Are Being Widely Used Model Based Development is the industrial face of formal methods The engineers get to pick the modeling tools! Semantics of some of the commercial tools could be improved Formal Verification Tools Are Being Used in Industry Key is to verify the things the engineers are already building Large portions of existing systems can be verified with model checkers Model checkers are only going to get better Theorem proving can be used on stable systems Directions for the Future Work Making verification tools more powerful and easier to use Addressing scalability through compositional verification Integration of theorem proving and model checking Modeling and analysis of system architectural models 36 18

19 For More Information Whalen, M., Cofer, D., Miller, S., Krogh, B., Storm, W.: Integration of Formal Analysis into a Model-Based Software Development Process. In 12th International Workshop on Formal Methods for Industrial Critical Systems (FMICS2007), Berlin, Germany (2007). Whalen, M., Innis, J., Miller, S., Wagner, L.: ADGS-2100 Adaptive Display & Guidance System Window Manager Analysis, CR , NASA (2006). Miller, S., Tribble, A., Whalen, M., Heimdahl, M., Proving the Shalls, International Journal on Software Tools for Technology Transfer (STTT), Feb Miller, S., Anderson, E., Wagner, L., Whalen, M., Heimdahl, M.: Formal Verification of Flight Critical Software. In AIAA Guidance, Navigation and Control Conference and Exhibit, AIAA , American Institute of Aeronautics and Astronautics (2005). Greve, D., Wilding, M., Vanfleet, W. M.: A Separation Kernel Formal Security Policy. In Fourth International Workshop on the ACL2 Prover and Its Applications (ACL2-2003) (2003). Greve, D., Richards, R., Wilding, M.: A Summary of Intrinsic Partitioning Verification. In Fifth International Workshop on the ACL2 Prover and Its Applications (ACL2-2004) (2004). Greve, D., Wilding, M., Richards, R., Vanfleet, W. M.: Formalizing Security Policies for Dynamic and Distributed Systems. In Systems and Software Technology Conference (SSTC 2005), Utah State University, (2005). 37 Backup Slides 38 19

20 What are Formal Methods? Textual (Lustre, PVS, SAL, ) node Thrust_Required( FG_Mode : FG_Mode_Type ; Airborne : bool ; In_Flare : bool ; Emergency_Descent : bool; Windshear_Warning : bool ; In_Eng_Accel_Zone : bool ; On_Ground : bool) returns (IsTrue : bool) ; let Specification Tabular (RSML -e, SCR) IsTrue = (FG_Thrust_Mode(FG_Mode) and Airborne) or (Airborne and Emergency_Descent) or Windshear_Warning or ((FG_Mode = ThrottleRetard) and In_Flare) or (In_Eng_Accel_Zone and On_Ground) ; tel ; Graphical (SCADE, Simulink) 39 Company Product Tools Specified & Autocoded Benefits Claimed Airbus A340 SCADE With Code Generator Eurocopter GE & Lockheed Martin Schneider Electric US Spaceware PSA CSEE Transport Honeywell Commercial Aviation Systems EC-155/135 Autopilot What are Formal Methods? FADEDC Engine Controls Nuclear Power Plant Safety Control SCADE With Code Generator 70% Fly-by-wire Controls 70% Automatic Flight Controls 50% Display Computer 40% Warning & Maint Computer 90 % of Autopilot 20X Reduction in Errors Reduced Time to Market 50% Reduction in Cycle Time ADI Beacon Not Stated Reduction in Errors 50% Reduction in Cycle Time Decreased Cost SCADE With Code Generator 200,000 SLOC Auto Generated from 1,200 Design Views 8X Reduction in Errors while Complexity Increased 4x DCX Rocket MATRIXx Not Stated 50-75% Reduction in Cost Reduced Schedule & Risk Electrical SCADE 50% SLOC Auto Generated 60% Reduction in Cycle Time Management With Code 5X Reduction in Errors System Generator Subway Signaling System Primus Epic Flight Control System Model-Based Development SCADE With Code Generator MATLAB Simulink 80,000 C SLOC Auto Generated 60% Automatic Flight Controls Improved Productivity from 20 to 300 SLOC/day 5X Increase in Productivity No Coding Errors Received FAA Certification 40 20

21 Examples of Using Formal Methods Integrity-178B Real-Time OS Evaluation Formal proof of the MILS security partitioning implemented in the Integrity-178B Real-Time OS Example of the industrial use of theorem proving using ACL2 Generalized the formal description of separation to describe the more dynamic scheduling managed by the OS (GWVr2) Modeled in ACL2 the target-independent C code implementing the Integrity-178B kernel. Constructed machine-checked proof of separation for the Integrity-178B kernel Model, analysis approach and proofs subject to intensive multi-national review Satisfied US Government SKPP (EAL6+), as well as Common Criteria v2.3 EAL7 ADV requirements Final certification pending NSA penetration testing K P1 P3 P

Coverage Metrics and Requirements-Based Testing

Coverage Metrics and Requirements-Based Testing Coverage Metrics and Requirements-Based Testing Michael Whalen Mats Heimdahl University of Minnesota AFRL S5 Workshop 6/17/2010 1 Property-Based Software Engineering: Benefits of Formalizing Requirements

More information

Model Checking of Aerospace Domain Models in an Industrial Context

Model Checking of Aerospace Domain Models in an Industrial Context Model Checking of Aerospace Domain Models in an Industrial Context Michael Dierkes Rockwell Collins France Forum Méthodes Formelles 16 Octobre 2014 Proprietary Information Agenda 1.Presentation of Rockwell

More information

Why We Model: Using MBD Effectively in Critical Domains

Why We Model: Using MBD Effectively in Critical Domains Why We Model: Using MBD Effectively in Critical Domains Mike Whalen Program Director, UMSEC University of Minnesota 5/27/2013 Why We Model - Mike Whalen 1 Acknowledgements Rockwell Collins (Darren Cofer,

More information

Semantics of Statecharts

Semantics of Statecharts Semantics of Statecharts Michael Whalen Program Director University of Minnesota Software Engineering Center 1 Statecharts Popular notation for implementing complex state machines Proposed by Harel in

More information

Model-based Architectural Verification & Validation

Model-based Architectural Verification & Validation Model-based Architectural Verification & Validation Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 Peter H Feiler Feb. 2009 2006 Carnegie Mellon University Outline Architecture-Centric

More information

Bridging the Gap Between Model-Based Development and Model Checking

Bridging the Gap Between Model-Based Development and Model Checking Bridging the Gap Between Model-Based Development and Model Checking AFRL Safe & Secure Systems & Software Symposium Dr. Steven P. Miller Acknowledgements NASA Langley Research Center (Ricky Butler) Air

More information

Industrial Verification Using the KIND Model Checker Lucas Wagner Jedidiah McClurg

Industrial Verification Using the KIND Model Checker Lucas Wagner Jedidiah McClurg Industrial Verification Using the KIND Model Checker Lucas Wagner Jedidiah McClurg {lgwagner,jrmcclur}@rockwellcollins.com Software Complexity is Becoming Overwhelming Advancements in computing technology

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

Rockwell Collins Evolving FM Methodology

Rockwell Collins Evolving FM Methodology Rockwell Collins Evolving FM Methodology Konrad Slind Trusted Systems Group Rockwell Collins January 25, 2014 Collaborators Rockwell Collins: Andrew Gacek, David Hardin, Darren Cofer, John Backes, Luas

More information

TEITP User and Evaluator Expectations for Trusted Extensions. David Hardin Rockwell Collins Advanced Technology Center Cedar Rapids, Iowa USA

TEITP User and Evaluator Expectations for Trusted Extensions. David Hardin Rockwell Collins Advanced Technology Center Cedar Rapids, Iowa USA TEITP 2010 User and Evaluator Expectations for Trusted Extensions David Hardin Rockwell Collins Advanced Technology Center Cedar Rapids, Iowa USA Outline What Does a Security Evaluation Entail? Example:

More information

Mike Whalen Program Director, UMSEC University of Minnesota

Mike Whalen Program Director, UMSEC University of Minnesota Formal Analysis for Communicating Medical Devices Mike Whalen Program Director, UMSEC University of Minnesota Research Topics Multi-Domain Analysis of System Architecture Models Compositional Assume-Guarantee

More information

The Common Criteria, Formal Methods and ACL2

The Common Criteria, Formal Methods and ACL2 The Common Criteria, Formal Methods and ACL2 Raymond Richards, David Greve, Matthew Wilding Rockwell Collins Advanced Technology Center Cedar Rapids, Iowa 52498 USA {rjricha1,dagreve,mmwildin}@rockwellcollins.com

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

Finite State Verification. CSCE Lecture 21-03/28/2017

Finite State Verification. CSCE Lecture 21-03/28/2017 Finite State Verification CSCE 747 - Lecture 21-03/28/2017 So, You Want to Perform Verification... You have a property that you want your program to obey. Great! Let s write some tests! Does testing guarantee

More information

Specification Centered Testing

Specification Centered Testing Specification Centered Testing Mats P. E. Heimdahl University of Minnesota 4-192 EE/CS Building Minneapolis, Minnesota 55455 heimdahl@cs.umn.edu Sanjai Rayadurgam University of Minnesota 4-192 EE/CS Building

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

System Correctness. EEC 421/521: Software Engineering. System Correctness. The Problem at Hand. A system is correct when it meets its requirements

System Correctness. EEC 421/521: Software Engineering. System Correctness. The Problem at Hand. A system is correct when it meets its requirements System Correctness EEC 421/521: Software Engineering A Whirlwind Intro to Software Model Checking A system is correct when it meets its requirements a design without requirements cannot be right or wrong,

More information

Lecture 1: Model Checking. Edmund Clarke School of Computer Science Carnegie Mellon University

Lecture 1: Model Checking. Edmund Clarke School of Computer Science Carnegie Mellon University Lecture 1: Model Checking Edmund Clarke School of Computer Science Carnegie Mellon University 1 Cost of Software Errors June 2002 Software bugs, or errors, are so prevalent and so detrimental that they

More information

Applications of Program analysis in Model-Based Design

Applications of Program analysis in Model-Based Design Applications of Program analysis in Model-Based Design Prahlad Sampath (Prahlad.Sampath@mathworks.com) 2018 by The MathWorks, Inc., MATLAB, Simulink, Stateflow, are registered trademarks of The MathWorks,

More information

Complexity-Reducing Design Patterns for Cyber-Physical Systems. DARPA META Project. AADL Standards Meeting January 2011 Steven P.

Complexity-Reducing Design Patterns for Cyber-Physical Systems. DARPA META Project. AADL Standards Meeting January 2011 Steven P. Complexity-Reducing Design Patterns for Cyber-Physical Systems DARPA META Project AADL Standards Meeting 24-27 January 2011 Steven P. Miller Delivered to the Government in Accordance with Contract FA8650-10-C-7081

More information

Generating MC/DC Adequate Test Sequences Through Model Checking

Generating MC/DC Adequate Test Sequences Through Model Checking Generating MC/DC Adequate Test Sequences Through Model Checking Sanjai Rayadurgam Computer Science and Engineering University of Minnesota Minneapolis, MN 55455 rsanjai@cs.umn.edu Mats P.E. Heimdahl Computer

More information

Proving the Shalls. Early Validation of Requirements Through Formal Methods

Proving the Shalls. Early Validation of Requirements Through Formal Methods Software Tools for Technology Transfer manuscript No. (will be inserted by the editor) Proving the Shalls Early Validation of Requirements Through Formal Methods Steven P. Miller 1, Alan C. Tribble 1,

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

A Tabular Expression Toolbox for Matlab/Simulink

A Tabular Expression Toolbox for Matlab/Simulink A Tabular Expression Toolbox for Matlab/Simulink Colin Eles and Mark Lawford McMaster Centre for Software Certification McMaster University, Hamilton, Ontario, Canada L8S 4K1 {elesc,lawford}@mcmaster.ca

More information

SCADE S E M I N A R I N S O F T W A R E E N G I N E E R I N G P R E S E N T E R A V N E R B A R R

SCADE S E M I N A R I N S O F T W A R E E N G I N E E R I N G P R E S E N T E R A V N E R B A R R SCADE 1 S E M I N A R I N S O F T W A R E E N G I N E E R I N G P R E S E N T E R A V N E R B A R R What is SCADE? Introduction 2 Software Critical Application Development Environment, a Lustrebased IDE

More information

SCR*: A Toolset for Specifying and. Analyzing Software Requirements? Constance Heitmeyer, James Kirby, Bruce Labaw and Ramesh Bharadwaj

SCR*: A Toolset for Specifying and. Analyzing Software Requirements? Constance Heitmeyer, James Kirby, Bruce Labaw and Ramesh Bharadwaj SCR*: A Toolset for Specifying and Analyzing Software Requirements? Constance Heitmeyer, James Kirby, Bruce Labaw and Ramesh Bharadwaj Naval Research Laboratory, Code 5546, Washington, DC 20375, USA Abstract.

More information

A Robust Machine Code Proof Framework for Highly Secure Applications

A Robust Machine Code Proof Framework for Highly Secure Applications A Robust Machine Code Proof Framework for Highly Secure Applications David Hardin Rockwell Collins Eric Smith Stanford University Bill Young University of Texas at Austin SLIDE 1 Overview Rockwell Collins

More information

Model checking Timber program. Paweł Pietrzak

Model checking Timber program. Paweł Pietrzak Model checking Timber program Paweł Pietrzak 1 Outline Background on model checking (spam?) The SPIN model checker An exercise in SPIN - model checking Timber Deriving finite models from Timber programs

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

Programming Embedded Systems

Programming Embedded Systems Programming Embedded Systems Lecture 10 An introduction to Lustre Wednesday Feb 15, 2012 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/34 Course topic: programming lang. Which language to

More information

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

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

ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling

ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling ECE 587 Hardware/Software Co-Design Spring 2018 1/20 ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling Professor Jia Wang Department of Electrical and Computer Engineering

More information

SCR: A PRACTICAL METHOD FOR REQUIREMENTS SPECIFICATION

SCR: A PRACTICAL METHOD FOR REQUIREMENTS SPECIFICATION SCR: A PRACTICAL METHOD FOR REQUIREMENTS SPECIFICATION Constance Heitmeyer, Naval Research Laboratory, Washington, DC Abstract A controversial issue in the formal methods research community is the degree

More information

Lecture 7: Requirements Modeling III. Formal Methods in RE

Lecture 7: Requirements Modeling III. Formal Methods in RE Lecture 7: Requirements Modeling III Last Last Week: Week: Modeling Modeling and and (II) (II) Modeling Modeling Functionality Functionality Structured Structured Object Object Oriented Oriented This This

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

Temporal Refinement Using SMT and Model Checking with an Application to Physical-Layer Protocols

Temporal Refinement Using SMT and Model Checking with an Application to Physical-Layer Protocols Temporal Refinement Using SMT and Model Checking with an Application to Physical-Layer Protocols Lee Pike (Presenting), Galois, Inc. leepike@galois.com Geoffrey M. Brown, Indiana University geobrown@cs.indiana.edu

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

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

Safety Critical Software and Systems General Electric

Safety Critical Software and Systems General Electric Safety Critical Software and Systems Research @ General Electric July 13, 2016 Imagination at work. Software & Systems Challenges @ GE Critical Infrastructure Aerospace, Power Generation, Transmission

More information

! Use of formal notations. ! in software system descriptions. ! for a broad range of effects. ! and varying levels of use. !

! Use of formal notations. ! in software system descriptions. ! for a broad range of effects. ! and varying levels of use. ! What Are Formal Methods? David S. Rosenblum ICS 221 Winter 2001! Use of formal notations! first-order logic, state machines, etc.! in software system descriptions! system models, constraints, specifications,

More information

Opportunities for Industrial Applications of Formal Methods

Opportunities for Industrial Applications of Formal Methods Opportunities for Industrial Applications of Formal Methods John Rushby Computer Science Laboratory SRI International Menlo Park CA USA John Rushby, SR I CAL Inauguration Seminar: 1 Formal Methods These

More information

Model Checking. Automatic Verification Model Checking. Process A Process B. when not possible (not AI).

Model Checking. Automatic Verification Model Checking. Process A Process B. when not possible (not AI). Sérgio Campos scampos@dcc.ufmg.br Why? Imagine the implementation of a complex hardware or software system: A 100K gate ASIC perhaps 100 concurrent modules; A flight control system dozens of concurrent

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

Research Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001

Research Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001 Research Collection Other Conference Item Formal background and algorithms Author(s): Biere, Armin Publication Date: 2001 Permanent Link: https://doi.org/10.3929/ethz-a-004239730 Rights / License: In Copyright

More information

Outline. Analyse et Conception Formelle. Lesson 7. Program verification methods. Disclaimer. The basics. Definition 2 (Specification)

Outline. Analyse et Conception Formelle. Lesson 7. Program verification methods. Disclaimer. The basics. Definition 2 (Specification) Outline Analyse et Conception Formelle Lesson 7 Program verification methods 1 Testing 2 Model-checking 3 Assisted proof 4 Static Analysis 5 A word about protoypes/models, accuracy, code generation T.

More information

An Introduction to Lustre

An Introduction to Lustre An Introduction to Lustre Monday Oct 06, 2014 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/35 ES Programming languages Which language to write embedded software in? Traditional: low-level

More information

CS/ECE 5780/6780: Embedded System Design

CS/ECE 5780/6780: Embedded System Design CS/ECE 5780/6780: Embedded System Design John Regehr Lecture 18: Introduction to Verification What is verification? Verification: A process that determines if the design conforms to the specification.

More information

Administrivia. ECE/CS 5780/6780: Embedded System Design. Acknowledgements. What is verification?

Administrivia. ECE/CS 5780/6780: Embedded System Design. Acknowledgements. What is verification? Administrivia ECE/CS 5780/6780: Embedded System Design Scott R. Little Lab 8 status report. Set SCIBD = 52; (The Mclk rate is 16 MHz.) Lecture 18: Introduction to Hardware Verification Scott R. Little

More information

Static program checking and verification

Static program checking and verification Chair of Software Engineering Software Engineering Prof. Dr. Bertrand Meyer March 2007 June 2007 Slides: Based on KSE06 With kind permission of Peter Müller Static program checking and verification Correctness

More information

Introduction to Formal Methods

Introduction to Formal Methods 2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette

More information

Seminar Software Quality and Safety

Seminar Software Quality and Safety Seminar Software Quality and Safety SCADE a model-driven Software Development Environment by Dominik Protte Software Engineering Group Universität Paderborn Motivation Many safety-critical components in

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

Analyzing Tabular Requirements Specifications Using Infinite State Model Checking

Analyzing Tabular Requirements Specifications Using Infinite State Model Checking Analyzing Tabular Requirements Specifications Using Infinite State Model Checking Tevfik Bultan 1 Univ. of California, Santa Barbara Constance Heitmeyer 2 Naval Research Laboratory Abstract This paper

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

Development of Security Software: A High Assurance Methodology

Development of Security Software: A High Assurance Methodology Development of Security Software: A High Assurance Methodology David Hardin 1, T. Douglas Hiratzka 1, D. Randolph Johnson 2, Lucas Wagner 1, and Michael Whalen 1 1 Rockwell Collins, Inc. 2 National Security

More information

Requirements Specifications

Requirements Specifications ACM Transactions on Software Engineering and Methodology, 1996. Automated Consistency Checking of Requirements Specifications CONSTANCE L. HEITMEYER, RALPH D. JEFFORDS, BRUCE G. LABAW JUNBEOM YOO Dependable

More information

Finite State Verification. CSCE Lecture 14-02/25/2016

Finite State Verification. CSCE Lecture 14-02/25/2016 Finite State Verification CSCE 747 - Lecture 14-02/25/2016 So, You Want to Perform Verification... You have a property that you want your program to obey. Great! Let s write some tests! Does testing guarantee

More information

handled appropriately. The design of MILS/MSL systems guaranteed to perform correctly with respect to security considerations is a daunting challenge.

handled appropriately. The design of MILS/MSL systems guaranteed to perform correctly with respect to security considerations is a daunting challenge. A Separation Kernel Formal Security Policy David Greve, Matthew Wilding, and W. Mark Vanfleet Rockwell Collins Advanced Technology Center Cedar Rapids, IA 52498 USA fdagreve,mmwilding@rockwellcollins.com

More information

On the Role of Formal Methods in Software Certification: An Experience Report

On the Role of Formal Methods in Software Certification: An Experience Report Electronic Notes in Theoretical Computer Science 238 (2009) 3 9 www.elsevier.com/locate/entcs On the Role of Formal Methods in Software Certification: An Experience Report Constance L. Heitmeyer 1,2 Naval

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

Proof Pearl: The Termination Analysis of Terminator

Proof Pearl: The Termination Analysis of Terminator Proof Pearl: The Termination Analysis of Terminator Joe Hurd Computing Laboratory Oxford University joe.hurd@comlab.ox.ac.uk Abstract. Terminator is a static analysis tool developed by Microsoft Research

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

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

Q Body of techniques supported by. R precise mathematics. R powerful analysis tools. Q Rigorous, effective mechanisms for system.

Q Body of techniques supported by. R precise mathematics. R powerful analysis tools. Q Rigorous, effective mechanisms for system. Introduction to Formal Methods 1 Introduction to Formal Methods 2 Formal Specification Requirements specification R notational statement of system services Software specification R formal abstract depiction

More information

How much is a mechanized proof worth, certification-wise?

How much is a mechanized proof worth, certification-wise? How much is a mechanized proof worth, certification-wise? Xavier Leroy Inria Paris-Rocquencourt PiP 2014: Principles in Practice In this talk... Some feedback from the aircraft industry concerning the

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

Reducing Verification Costs through Practical Formal Methods: A Survey

Reducing Verification Costs through Practical Formal Methods: A Survey Reducing Verification Costs through Practical Formal Methods: A Survey Mark R. Blackburn, Ph.D. Stevens Institute of Technology Sumit Ray BAE Systems Abstract Verification of software can be as much as

More information

Parnas Tables: A Practical Formalism. Joanne M. Atlee Department of Computer Science University of Waterloo

Parnas Tables: A Practical Formalism. Joanne M. Atlee Department of Computer Science University of Waterloo Parnas Tables: A Practical Formalism Joanne M. Atlee Department of Computer Science University of Waterloo Critical Software Medical Devices Transportation Telecommunications Automated Manufacturing Software

More information

Leveraging Formal Methods for Verifying Models and Embedded Code Prashant Mathapati Application Engineering Group

Leveraging Formal Methods for Verifying Models and Embedded Code Prashant Mathapati Application Engineering Group Leveraging Formal Methods for Verifying Models and Embedded Code Prashant Mathapati Application Engineering Group 2014 The MathWorks, Inc. 1 The Cost of Failure News reports: Recall Due to ECU software

More information

Analyzing Tabular Requirements Specifications Using Infinite State Model Checking

Analyzing Tabular Requirements Specifications Using Infinite State Model Checking Analyzing Tabular Requirements Specifications Using Infinite State Model Checking Tevfik Bultan 1 Univ. of California, Santa Barbara Constance Heitmeyer 2 Naval Research Laboratory Abstract This paper

More information

Overview of SRI s. Lee Pike. June 3, 2005 Overview of SRI s. Symbolic Analysis Laboratory (SAL) Lee Pike

Overview of SRI s. Lee Pike. June 3, 2005 Overview of SRI s. Symbolic Analysis Laboratory (SAL) Lee Pike June 3, 2005 lee.s.pike@nasa.gov Model-Checking 101 Model-checking is a way automatically to verify hardware or software. For a property P, A Model-checking program checks to ensure that every state on

More information

Tools for constructing requirements specifications: The SCR toolset at the age of ten

Tools for constructing requirements specifications: The SCR toolset at the age of ten Comput Syst Sci & Eng (2005) 1: 19-35 2005 CRL Publishing Ltd International Journal of Computer Systems Science & Engineering Tools for constructing requirements specifications: The SCR toolset at the

More information

Software Development with Automatic Code Generation: Observations from Novice Developer Viewpoint

Software Development with Automatic Code Generation: Observations from Novice Developer Viewpoint Software Development with Automatic Code Generation: Observations from Novice Developer Viewpoint Farahzad Behi Embry Riddle Aeronautical University Computer & Software Engineering Daytona Beach, FL 32114

More information

Introduction In Practice State Explosion Problem Infinity and Uncomputability Techniques References. Model Checking. Toryn Qwyllyn Klassen

Introduction In Practice State Explosion Problem Infinity and Uncomputability Techniques References. Model Checking. Toryn Qwyllyn Klassen Model Checking Toryn Qwyllyn Klassen April 13, 2010 Limitations of testing Testing cannot in general prove that a program works. Some program states are usually not covered. Concurrent systems are particularly

More information

Towards an industrial use of FLUCTUAT on safety-critical avionics software

Towards an industrial use of FLUCTUAT on safety-critical avionics software Towards an industrial use of FLUCTUAT on safety-critical avionics software David Delmas 1, Eric Goubault 2, Sylvie Putot 2, Jean Souyris 1, Karim Tekkal 3 and Franck Védrine 2 1. Airbus Operations S.A.S.,

More information

Verification and Validation of High-Integrity Systems

Verification and Validation of High-Integrity Systems Verification and Validation of High-Integrity Systems Chethan CU, MathWorks Vaishnavi HR, MathWorks 2015 The MathWorks, Inc. 1 Growing Complexity of Embedded Systems Emergency Braking Body Control Module

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

MILS Multiple Independent Levels of Security. Carol Taylor & Jim Alves-Foss University of Idaho Moscow, Idaho

MILS Multiple Independent Levels of Security. Carol Taylor & Jim Alves-Foss University of Idaho Moscow, Idaho MILS Multiple Independent Levels of Security Carol Taylor & Jim Alves-Foss University of Idaho Moscow, Idaho United states December 8, 2005 Taylor, ACSAC Presentation 2 Outline Introduction and Motivation

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

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

Formally Certified Satisfiability Solving

Formally Certified Satisfiability Solving SAT/SMT Proof Checking Verifying SAT Solver Code Future Work Computer Science, The University of Iowa, USA April 23, 2012 Seoul National University SAT/SMT Proof Checking Verifying SAT Solver Code Future

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

Software Model Checking. From Programs to Kripke Structures

Software Model Checking. From Programs to Kripke Structures Software Model Checking (in (in C or or Java) Java) Model Model Extraction 1: int x = 2; int y = 2; 2: while (y

More information

State of Practice. Automatic Verification of Embedded Control Software with ASTRÉE and beyond

State of Practice. Automatic Verification of Embedded Control Software with ASTRÉE and beyond Automatic Verification of Embedded Control Software with ASTRÉE and beyond Patrick Cousot Jerome C. Hunsaker Visiting Professor Department of Aeronautics and Astronautics, MIT cousot mit edu www.mit.edu/~cousot

More information

Lecture 11 Lecture 11 Nov 5, 2014

Lecture 11 Lecture 11 Nov 5, 2014 Formal Verification/Methods Lecture 11 Lecture 11 Nov 5, 2014 Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems to be analyzed, and

More information

Automated Refinement Checking of Asynchronous Processes. Rajeev Alur. University of Pennsylvania

Automated Refinement Checking of Asynchronous Processes. Rajeev Alur. University of Pennsylvania Automated Refinement Checking of Asynchronous Processes Rajeev Alur University of Pennsylvania www.cis.upenn.edu/~alur/ Intel Formal Verification Seminar, July 2001 Problem Refinement Checking Given two

More information

A Multi-Modal Composability Framework for Cyber-Physical Systems

A Multi-Modal Composability Framework for Cyber-Physical Systems S5 Symposium June 12, 2012 A Multi-Modal Composability Framework for Cyber-Physical Systems Linh Thi Xuan Phan Insup Lee PRECISE Center University of Pennsylvania Avionics, Automotive Medical Devices Cyber-physical

More information

A Model-Based Reference Workflow for the Development of Safety-Related Software

A Model-Based Reference Workflow for the Development of Safety-Related Software A Model-Based Reference Workflow for the Development of Safety-Related Software 2010-01-2338 Published 10/19/2010 Michael Beine dspace GmbH Dirk Fleischer dspace Inc. Copyright 2010 SAE International ABSTRACT

More information

Safety Assurance in Software Systems From Airplanes to Atoms

Safety Assurance in Software Systems From Airplanes to Atoms Safety Assurance in Software Systems From Airplanes to Atoms MDEP Conference on New Reactor Design Activities Session Digital I&C: Current & Emerging Technical Challenges September 07 Dr. Darren Cofer

More information

Combining Complementary Formal Verification Strategies to Improve Performance and Accuracy

Combining Complementary Formal Verification Strategies to Improve Performance and Accuracy Combining Complementary Formal Verification Strategies to Improve Performance and Accuracy David Owen June 15, 2007 2 Overview Four Key Ideas A Typical Formal Verification Strategy Complementary Verification

More information

Design and Analysis of Distributed Interacting Systems

Design and Analysis of Distributed Interacting Systems Design and Analysis of Distributed Interacting Systems Lecture 5 Linear Temporal Logic (cont.) Prof. Dr. Joel Greenyer May 2, 2013 (Last Time:) LTL Semantics (Informally) LTL Formulae are interpreted on

More information

Boeing Certification Techniques for Advanced Flight Critical Systems Challenge Problem Integration (CerTA FCS CPI) Briefing at the

Boeing Certification Techniques for Advanced Flight Critical Systems Challenge Problem Integration (CerTA FCS CPI) Briefing at the Boeing Certification Techniques for Advanced Flight Critical Systems Challenge Problem Integration (CerTA FCS CPI) Briefing at the AFRL Safe & Secure Systems & Software Symposium (S5) BOEING is a trademark

More information

Verification Condition Generation via Theorem Proving

Verification Condition Generation via Theorem Proving Verification Condition Generation via Theorem Proving John Matthews Galois Connections Inc. J Strother Moore University of Texas at Austin Sandip Ray University of Texas at Austin Daron Vroon Georgia Institute

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

Main Goal. Language-independent program verification framework. Derive program properties from operational semantics

Main Goal. Language-independent program verification framework. Derive program properties from operational semantics Main Goal Language-independent program verification framework Derive program properties from operational semantics Questions: Is it possible? Is it practical? Answers: Sound and complete proof system,

More information

Simulink Design Verifier vs. SPIN a Comparative Case Study

Simulink Design Verifier vs. SPIN a Comparative Case Study Simulink Design Verifier vs. SPIN a Comparative Case Study Florian Leitner and Stefan Leue Department of Computer and Information Science University of Konstanz, Germany {Florian.Leitner,Stefan.Leue}@uni-konstanz.de

More information

ISO Compliant Automatic Requirements-Based Testing for TargetLink

ISO Compliant Automatic Requirements-Based Testing for TargetLink ISO 26262 Compliant Automatic Requirements-Based Testing for TargetLink Dr. Udo Brockmeyer CEO BTC Embedded Systems AG An der Schmiede 4, 26135 Oldenburg, Germany udo.brockmeyer@btc-es.de Adrian Valea

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

A Tutorial on Runtime Verification and Assurance. Ankush Desai EECS 219C

A Tutorial on Runtime Verification and Assurance. Ankush Desai EECS 219C A Tutorial on Runtime Verification and Assurance Ankush Desai EECS 219C Outline 1. Background on Runtime Verification 2. Challenges in Programming Robotics System Drona). 3. Solution 1: Combining Model

More information