Copyright Critical Software S.A. 1998-2006 All Rights Reserved. VAL-COTS Validation of Real Time COTS Products Ricardo Barbosa, Henrique Madeira, Nuno.

Slides:



Advertisements
Similar presentations
Test Yaodong Bi.
Advertisements

© University of Strathclyde Assessing Aesthetic Quality Martin Fitchie University of Strathclyde.
Software Fault Injection for Survivability Jeffrey M. Voas & Anup K. Ghosh Presented by Alison Teoh.
Alternate Software Development Methodologies
SBSE Course 3. EA applications to SE Analysis Design Implementation Testing Reference: Evolutionary Computing in Search-Based Software Engineering Leo.
Low Oil Price – No Time to be Smart? Pieter Kapteijn, Dir. Technology and Innovation Maersk Oil, Copenhagen IO Conference Trondheim Norway 29 September.
Software Fault Injection Kalynnda Berens Science Applications International Corporation NASA Glenn Research Center.
Principles of Information Systems, Sixth Edition 1 Systems Investigation and Analysis Chapter 12.
Page 1, July 3, 2015 CBSE – graduate course Component-Based Software Engineering Building reliable component-based systems Overview
MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Investigation and Analysis Chapter 12.
Introduction to Software Testing
Information System Economics Software Project Cost Estimation.
1 NASA OSMA SAS02 Software Reliability Modeling: Traditional and Non-Parametric Dolores R. Wallace Victor Laing SRS Information Services Software Assurance.
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec22 1 Lecture 22: Software Measurement Basics of software measurement.
Software Faults and Fault Injection Models --Raviteja Varanasi.
CSCE 548 Secure Software Development Risk-Based Security Testing.
1SAS 03/ GSFC/SATC- NSWC-DD System and Software Reliability Dolores R. Wallace SRS Technologies Software Assurance Technology Center
Fault Diagnosis System for Wireless Sensor Networks Praharshana Perera Supervisors: Luciana Moreira Sá de Souza Christian Decker.
University of Coimbra, DEI-CISUC
18 September Licensing for Next Generation Signalling Buddhadev Dutta Chowdhury 27 th April 2012.
VTT-STUK assessment method for safety evaluation of safety-critical computer based systems - application in BE-SECBS project.
CRESCENDO Full virtuality in design and product development within the extended enterprise Naples, 28 Nov
Evaluation of software engineering. Software engineering research : Research in SE aims to achieve two main goals: 1) To increase the knowledge about.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 1.
Copyright Critical Software S.A All Rights Reserved. G-SWFIT A Technique for Fault Injection in Executable Code SAS’07, Morgantown Sept. 25th-27th.
CSI - Introduction General Understanding. What is ITSM and what is its Value? ITSM is a set of specialized organizational capabilities for providing value.
MD Digital Government Summit, June 26, Maryland Project Management Oversight & System Development Life Cycle (SDLC) Robert Krauss MD Digital Government.
Chapter 7: A Summary of Tools Focus: This chapter outlines all the customer-driven project management tools and techniques and provides recommendations.
University of Sunderland CIFM03Lecture 2 1 Quality Management of IT CIFM03 Lecture 2.
Software Metrics and Reliability. Definitions According to ANSI, “ Software Reliability is defined as the probability of failure – free software operation.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
PSP Quality Strategy [SE-280 Dr. Mark L. Hornick 1.
Principles of Information Systems, Sixth Edition Systems Investigation and Analysis Chapter 12.
Safety Critical Systems 5 Testing T Safety Critical Systems.
March 2004 At A Glance NASA’s GSFC GMSEC architecture provides a scalable, extensible ground and flight system approach for future missions. Benefits Simplifies.
March 2004 At A Glance autoProducts is an automated flight dynamics product generation system. It provides a mission flight operations team with the capability.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin 8-1 Chapter Eight Audit Sampling: An Overview and Application.
Principles of Information Systems, Sixth Edition Systems Investigation and Analysis Chapter 12.
Over View of CENELC Standards for Signalling Applications
1 V&V Needs for NextGen of 2025 and Beyond A JPDO Perspective Maureen Keegan JPDO Integration Manager October 13, 2010.
Page 1, December 8, 2015 CBSE – graduate course Component-Based Software Engineering Building reliable component-based systems Overview
QinetiQ in confidence © Copyright QinetiQ November 2008 Challenges Colin O’Halloran Aerospace Consulting Practice.
Static WCET Analysis vs. Measurement: What is the Right Way to Assess Real-Time Task Timing? Worst Case Execution Time Prediction by Static Program Analysis.
CS451 Lecture 10: Software Testing Yugi Lee STB #555 (816)
ESA Harwell Robotics & Autonomy Facility Study Workshop Autonomous Software Verification Presented By: Rick Blake.
Adaptive Processes © Adaptive Processes Simpler, Faster, Better Defect Testing Testing programs to establish the presence of system defects.
Welcome to Software Project Management. CONVENTIONAL SOFTWARE MANAGEMENT The BEST and WORST thing about software is its flexibility. 1.Software development.
March 2004 At A Glance The AutoFDS provides a web- based interface to acquire, generate, and distribute products, using the GMSEC Reference Architecture.
Project Planning Goal 1 - Estimates are documented for use in tracking and planning project. Goal 2 - Project Activities and commitments planned and documented.
SwCDR (Peer) Review 1 UCB MAVEN Particles and Fields Flight Software Critical Design Review Peter R. Harvey.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
CSW M1 Presentation Nuno Silva Critical Software S.A. Coimbra, 10th March 2010.
Chapter 1 Why Project Management? Chapter 1 Learning Objectives After completing this chapter, students will be able to: Understand why project.
Defect testing Testing programs to establish the presence of system defects.
UC Marco Vieira University of Coimbra
Fault Injection in multicore systems Anna Lanzaro University of Naples Federico II Napoli, 20th December 2011.
CSCE 548 Secure Software Development Risk-Based Security Testing
Software Project Management
Authors: Maria de Fatima Mattiello-Francisco Ana Maria Ambrosio
University of Napoli Federico II
Software Requirements
DEFECT PREDICTION : USING MACHINE LEARNING
Software Risk Assessment based on UML models
Introduction to Software Testing
Measurement What is it and why do it? 2/23/2019
Verification & Test Support for Safety Standards
Software Maintenance Part1 Introduction. Outlines What Is Software Maintenance Purposes of Maintenance Why We Need It Maintenance Difficilties Some Tips.
Functional Safety Solutions for Automotive
Presentation transcript:

Copyright Critical Software S.A All Rights Reserved. VAL-COTS Validation of Real Time COTS Products Ricardo Barbosa, Henrique Madeira, Nuno Silva Dependability & Embedded

© Copyright Critical Software S.A All Rights Reserved. 2 Overview - VALCOTS Introduction Objectives and Goals Developed Techniques Conclusions Future Work

© Copyright Critical Software S.A All Rights Reserved. 3 Introduction (1) VAL-COTS VALCOTS is an acronym for “Validation of Real Time COTS Products” COTS current trend Commercial Off-the-shelf products are being used broadly in space applications How to have full confidence in COTS components? (custom made components confidence can be controlled and assessed in-house)... sometimes one may doubt of certain dependability characteristics of COTS

© Copyright Critical Software S.A All Rights Reserved. 4 Introduction (2) Why are COTS different from custom made software? Different requirements needs... COTS are designed to be general purpose (requirements such as timing and safety might not be given high priority) Wrong assumptions... Product engineers tend to assume that it is impossible to predict all possible component violations for each function Overlooked tests... Input tests are sometimes overlooked (insufficient) due to performance or schedule constraints

© Copyright Critical Software S.A All Rights Reserved. 5 Objectives and Goals (1) Goals The project main goal is to develop techniques and toolsets for the assessment of real time COTS products based on automated fault injection techniques Fault Injection...? Fault injection techniques have shown to be an excelent approach in the validation of COTS products Mentioned in Galileo Software Standard as an advisable technique to be used for the validation of space systems Benchmarks used fault injection techniques for validating real time constraints [DBench] Can simulate effects of radiation on hardware (space environment)

© Copyright Critical Software S.A All Rights Reserved. 6 Objectives and Goals (2) Introduce the new concepts on fault injection and testing in NASA’s IV&V philosophy as an agency’s value added research and expertise Improve NASA’s IV&V processes, tools and techniques on dynamic testing

© Copyright Critical Software S.A All Rights Reserved. 7 Objectives and Goals (3) Exchange of software metrics (on COTS and others) Collaborative knowledge exchange on IV&V, dependability evaluations, dynamic testing and automated testing between CSW(European Space Industry) and NASA

© Copyright Critical Software S.A All Rights Reserved. 8 Developed Techniques (1) First Technique Three different techniques were developed during the project First Technique is focused on COTS robustness and stress capabilities Based on application requirements, API fault injection is performed to assess the COTS component in the presence of in and out of bounds values This process is accelerated and tunned up by performing software automated fault injection in upstream components of the target COTS

© Copyright Critical Software S.A All Rights Reserved. 9 mutex_change_priority ( TCB *p_tcb, UINT oldpri, UINT *p_newpri) Type Name Test Values INT , -1, 0, 1, UINT0, 1, BOOLtrue, false FN , -1, 0, 1, __xception__ = 0; m_p_tcb = mutex_change_priority ( p_tcb, oldpri, __xception__); __xception__ = 1; m_p_tcb = mutex_change_priority ( p_tcb, oldpri, __xception__); __xception__ = ; m_p_tcb = mutex_change_priority ( p_tcb, oldpri, __xception__); Developed Techniques (2) First Technique Automatic Test Cases Generation

© Copyright Critical Software S.A All Rights Reserved. 10 Developed Techniques (3) Second Technique The second technique is double phased: (1) COTS component dependability is assessed individually at an earlier development stage (2) Software fault injection is performed inside the actual component to assess the component (and system) within the full integrated architecture, conducted at a latter developement stage Results may lead to architectural changes or component wrapping, or even COTS component replacement

© Copyright Critical Software S.A All Rights Reserved. 11 Developed Techniques (4) Second Technique Earlier Stages of SDP Latter Stages of SDP

© Copyright Critical Software S.A All Rights Reserved. 12 Developed Techniques (5) Third Technique A third technique was developed based on the second one To complement the technique, risk assessment calculations are also introduced to estimate failure probability of the component within the system Risk assessment calculations are based on software metrics from component and system complexity (e.g. cyclomatic complexity)

© Copyright Critical Software S.A All Rights Reserved. 13 Conclusions The case studies conducted have shown that the applicaiton of any of the techniques lead to architectural and component improvements Thus, robustness and dependability improvements Results identify that COTS components have intrinsic faults that are hard to find with traditional testing Usefulness of fault injection Xception based automated testing as proven to be very usefull particularlly considering fault injection definition and injection automation Some difficulties where encountered while evaluating injection run results as it is important to improve results analysis automation

© Copyright Critical Software S.A All Rights Reserved. 14 Future Work VAL-COTS II Improvement of the developed techniques Further testing to validate the techniques (hopefully on an on-going project) Adjust techniques for use in certification processes (follow specific standards like ISO or DO- 178B) Improve the techniques based on the newly developed software fault injection G-SWFIT G-SWFIT is a technique developed at Universidade de Coimbra for emulating real faults in fault injection Using this technique, no source code is needed for performing fault injection, only binary files

© Copyright Critical Software S.A All Rights Reserved. 15 The end! Thank You!! Any questions?