Table of Contents Program Model Checking: Case Studies and Practitioner’s Guide John Penix, ARC Howard Hu, JSC.

Slides:



Advertisements
Similar presentations
Short Service Worker Program
Advertisements

PROCESS FRAMEWORK Lecture - 3. Topics covered PROCESS FRAMEWORK PROCESS MODELS DIFFERENCE.
Abstraction and Modular Reasoning for the Verification of Software Corina Pasareanu NASA Ames Research Center.
Chapter 2 – Software Processes
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation 2.
Software Failure: Reasons Incorrect, missing, impossible requirements * Requirement validation. Incorrect specification * Specification verification. Faulty.
DoD Information Technology Security Certification and Accreditation Process (DITSCAP) Phase III – Validation Thomas Howard Chris Pierce.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Fundamentals of Information Systems, Second Edition
Section 15-1GLAST Ground System Design Review August 18&19, 2004 ISOC Organization ISOC Manager R Cameron Commanding, H&S Timeline Planning Command Generation.
Assessment Activities
Process: A Generic View
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 1 Verification and Validation u Assuring that a software system meets a user's.
Software Testing. Definition To test a program is to try to make it fail.
Research Heaven, West Virginia Verification and Validation of Adaptive Systems Online Failure Detection and Identification for IFCS through Statistical.
Best Practices By Gabriel Rodriguez
CS 501: Software Engineering Fall 1999 Lecture 16 Verification and Validation.
Software Systems Verification and Validation Laboratory Assignment 3 Integration, System, Regression, Acceptance Testing Assignment date: Lab 3 Delivery.
S oftware Q uality A ssurance Part One Reviews and Inspections.
1 Reconfigurable Environment For Analysis and Test of Software Systems (REATSS) Dan McCaugherty /19/2004.
Software Quality Assurance Activities
Chapter 2 Process: A Generic View
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
MSE Presentation 2 Lakshmikanth Ganti
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
BE-SECBS FISA 2003 November 13th 2003 page 1 DSR/SAMS/BASP IRSN BE SECBS – IRSN assessment Context application of IRSN methodology to the reference case.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
V&V of COTS RTOS for Space Flight Projects The 1st Annual NASA Office of Safety and Mission Assurance (OSMA) Software Assurance Symposium (SAS) Michael.
Development of Methodologies for Independent Verification and Validation of Neural Networks NAG OSMA-F001-UNCLASS Methods and Procedures.
Development of Formally Verified Erlang Programs a case study Thomas Arts Clara Benac Earle Computer Science Lab Stockholm, Sweden.
An Introduction to Software Engineering
Fundamentals of Information Systems, Second Edition 1 Systems Development.
Validating Requirements Determining Completeness and Correctness of Requirements Using the System Reference Model IV&V Workshop 16 September 2009.
March 2004 At A Glance NASA’s GSFC GMSEC architecture provides a scalable, extensible ground and flight system approach for future missions. Benefits Simplifies.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
Software Testing 1Software testing. V model Software testing2.
ISBN Prentice-Hall, 2006 Chapter 8 Testing the Programs Copyright 2006 Pearson/Prentice Hall. All rights reserved.
CS451 Lecture 10: Software Testing Yugi Lee STB #555 (816)
Using Symbolic PathFinder at NASA Corina Pãsãreanu Carnegie Mellon/NASA Ames.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
Economic Justification. Good Enough Quality Time to market Time to market Time to profit Time to profit.
Test Plan: Introduction o Primary focus: developer testing –Implementation phase –Release testing –Maintenance and enhancement o Secondary focus: formal.
USING MODEL CHECKING TO DISCOVER AUTOMATION SURPRISES Java class User: - getExpectation() - checkExpectation() FAULTY EXECUTION start incrMCPAlt pullAltKnob.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
March 2004 At A Glance The AutoFDS provides a web- based interface to acquire, generate, and distribute products, using the GMSEC Reference Architecture.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 6/e Chapter 2.
MADALINA CROITORU Software Engineering week 6 Madalina Croitoru IUT Montpellier.
SAS_06_FPGA_NGIT1 Research and Development of Deployable IV&V Methods for FPGA Applications Northrop Grumman, KeyLogic Systems, Mountain State Information.
Table of Contents Program Model Checking: Case Studies and Practitioner’s Guide John Penix, ARC Owen O’Malley, QSS Lawrence Markosian, QSS Peter Mehlitz,
ANOOP GANGWAR 5 TH SEM SOFTWARE TESTING MASTER OF COMPUTER APPLICATION-V Sem.
Testing throughout Lifecycle Ljudmilla Karu. Verification and validation (V&V) Verification is defined as the process of evaluating a system or component.
Critical Systems Testing Experts EXB Solutions - Contact us at cFS Workshop – Automated Test for NASA cFS David C. McComas 1, Susanne.
Software Testing Strategies for building test group
How Systems are Developed
Software Requirements
Chapter 2 Process: A Generic View
Critical Systems Validation
Kickoff Presentation Date of Presentation Presenter Name
SWEN 5230 Your Project Title
Testing and Test-Driven Development CSC 4700 Software Engineering
Software testing.
Methodology for run-time detection of requirement violations
CSE 1020:Software Development
Chapter 11: Integration and System Testing
An Assessment of Space Shuttle Flight Software Development Processes
Unit IV – Chapter 2 V-Test Model.
Presentation transcript:

Table of Contents Program Model Checking: Case Studies and Practitioner’s Guide John Penix, ARC Howard Hu, JSC

Program Model Checking Case Studies and Practitioner’s Guide Problem ► Research has shown that program model checking and be effective at detecting critical software errors that are difficult to detect via testing. ► However, applying model checking remains a “black art”. Best practices are only just emerging and remain a relatively ad-hoc combination of methods.

Program Model Checking Case Studies and Practitioner’s Guide Approach ► Assemble the emerging best practices in program model checking ► Demonstrate and validate their use in several case studies ► Document the results in a Practitioner’s Guide for Program Model Checking

Program Model Checking Case Studies and Practitioner’s Guide Importance and Benefits The guidebook will provide: ► Methods for formalizing requirements and identifying critical properties – may help a test team develop verification goals for V&V or IV&V ► Test driver development and test coverage assessment methods to support testing or model checking ► Methods for improving the verifiability of designs ► Guidance in configuring model checking options and organizing and validating model checking results

Program Model Checking Case Studies and Practitioner’s Guide Importance and Benefits Improves testing: ▀ Ability to control thread scheduling and environment responses ▀ Stress test critical software states ▀ Directed search for specific errors: deadlock, race conditions, assertion violations, … Testing covers one path Model checking searches all paths

Program Model Checking Case Studies and Practitioner’s Guide Relevance to NASA Shuttle Abort Flight Manager (SAFM) Provides onboard abort performance assessment during powered flight and landing site evaluation and monitoring during glided flight in Cockpit Avionics Upgrade. 30KLOC in C++. Initial Case Study Application

Program Model Checking Case Studies and Practitioner’s Guide Accomplishments ► Kick-off meeting at JSC with overview of SAFM ► Delivery of requirements document, design document, source code and test infrastructure from JSC to ARC ► Evaluation of SAFM source code and requirements for applicability to model checking & identify critical issues ► Hosted SAFM test lead at ARC for a week and to elicit requirements and design properties that are currently unchecked. ► Identified Sequencer as a critical subsystem ► Obtained the SAFM test system, requirements simulator, and test data from the SAFM development team. ► Set up SAFM build & test environment at ARC ► Gathered data on existing test coverage

Program Model Checking Case Studies and Practitioner’s Guide Next Steps ► Assessment of critical SAFM properties and current test coverage ► Evaluate use of property patterns to formalize critical SAFM requirements Future Year Deliverables and MilestonesDue Application/test environment modifications planned Application/test environment modifications complete Draft guidebook Assessment of modified application test coverage Guidebook