Copyright Critical Software S.A. 1998-2007 All Rights Reserved. G-SWFIT A Technique for Fault Injection in Executable Code SAS’07, Morgantown Sept. 25th-27th.

Slides:



Advertisements
Similar presentations
Extending Eclipse CDT for Remote Target Debugging Thomas Fletcher Director, Automotive Engineering Services QNX Software Systems.
Advertisements

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
SYSTEM PROGRAMMING & SYSTEM ADMINISTRATION
Testing and Analysis of Device Drivers Supervisor: Abhik Roychoudhury Author: Pham Van Thuan 1.
RUAG Aerospace 11 Using SpaceWire as EGSE Interface Anders Petersén, Torbjörn Hult RUAG Aerospace Sweden AB (Saab Space) International SpaceWire Conference.
Application architectures
CASE Tools CIS 376 Bruce R. Maxim UM-Dearborn. Prerequisites to Software Tool Use Collection of useful tools that help in every step of building a product.
VB in Context Michael B. Spring Department of Information Science and Telecommunications University of Pittsburgh Pittsburgh, Pa 15260
Institute of Computing Jaca: a Reflective Fault Injection Tool based on Patterns Eliane Martins Cecilia Rubira Nelson Leme Institute of Computing State.
Introduction to Software Testing
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Java How to Program, 9/e Instructor: José M. Reyes Álamo © by Pearson Education, Inc. All Rights Reserved.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
COP4020 Programming Languages
MDK-ARM Microcontroller Development Kit MDK: Microcontroller Development Kit.
Copyright Critical Software S.A All Rights Reserved. VAL-COTS Validation of Real Time COTS Products Ricardo Barbosa, Henrique Madeira, Nuno.
Software Faults and Fault Injection Models --Raviteja Varanasi.
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
RECOMP Avionics Communication Modem Peter de Waard and Peter Gillick Thales UK Research and Technology.
Android Programming By Mohsen Biglari Android Programming, Part1: Introduction 1 Part1: Introduction By Mohsen Biglari.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
University of Coimbra, DEI-CISUC
Naaliel Mendes, João Durães, Henrique Madeira CISUC, Department of Informatics Engineering University of Coimbra {naaliel, jduraes,
02/10/2015 Page 1 R. Theeuws Siemens Atea Filename: CBD_ervaring Werkgroep Component Based Developments Ervaring CBD.
ESA/ESTEC, TEC-QQS August 8, 2005 SAS_05_ESA SW PA R&D_Winzer,Prades Slide 1 Software Product Assurance (PA) R&D Road mapping Activities ESA/ESTEC TEC-QQS.
Android for Java Developers Denver Java Users Group Jan 11, Mike
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Hyper/J and Concern Manipulation Environment. The need for AOSD tools and development environment AOSD requires a variety of tools Life cycle – support.
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.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
EG280 Computer Science for Engineers Fundamental Concepts Chapter 1.
MODUS Project FP7- SME – , Eclipse Conference Toulouse, May 6 th 2013 Page 1 MODUS Project FP Methodology and Supporting Toolset Advancing.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Copyright © Mohamed Nuzrath Java Programming :: Syllabus & Chapters :: Prepared & Presented By :: Mohamed Nuzrath [ Major In Programming ] NCC Programme.
Dependable Technologies for Critical Systems Copyright Critical Software S.A All Rights Reserved. Handling big dimensions in distributed data.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
Toulouse, September 2003 Page 1 JOURNEE ALTARICA Airbus ESACS  ISAAC.
 Programming - the process of creating computer programs.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Software Quality Assurance and Testing Fazal Rehman Shamil.
Lecture 21: Component-Based Software Engineering
Chapter – 8 Software Tools.
Java How to Program, 9/e Presented by: José M. Reyes Álamo © by Pearson Education, Inc. All Rights Reserved.
Whole Test Suite Generation. Abstract Not all bugs lead to program crashes, and not always is there a formal specification to check the correctness of.
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
Dependable Technologies For Critical Systems © 2011 Critical Software S.A. CSTEP Ricardo Barbosa Mid-Term Review Presentation Ricardo Barbosa Naples, December.
1 if you use this format with a picture in the vertical- stripe format, then adjust the RH edge of the title bar to be just L of the stripe. Test Automation.
Fault Injection in multicore systems Anna Lanzaro University of Naples Federico II Napoli, 20th December 2011.
Collaboration Topics Dr. Aniello Napolitano Sesm scarl
Agenda Code Coverage Where to use Benefits Top Tools.
Chapter 1 Introduction.
A scalable approach for Test Automation in Vector CAST/Manage with
Lecture 1: Introduction to JAVA
Complexity Time: 2 Hours.
Chapter 1 Introduction.
CMPE419 Mobile Application Development
The Extensible Tool-chain for Evaluation of Architectural Models
Introduction to Software Testing
QNX Technology Overview
QGen and TQL Qualification
Software Test Automation and Tools
Software Engineering with Reusable Components
Analysis models and design models
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
A GUI Based Aid for Generation of Code-Frameworks of TMOs
CMPE419 Mobile Application Development
Presentation transcript:

Copyright Critical Software S.A All Rights Reserved. G-SWFIT A Technique for Fault Injection in Executable Code SAS’07, Morgantown Sept. 25th-27th Nuno Silva Ricardo Barbosa VV&RAMS Engineering Unit

© Copyright Critical Software S.A All Rights Reserved. 2 Presentation Overview Last Year’s Presentation Current R&D at CSW SpaceAQua Project G-SWFIT Technique and Xception Plugin Other Research Initiatives Future Work

© Copyright Critical Software S.A All Rights Reserved. 3 Last Year Presentation COTS vs. Custom Made “Evaluation of COTS through Fault Injection?” Three techniques for assessing COTS components Robustness and Stress Testing Double phased technique using API fault injection and SWIFI Fault Injection for Risk Assessment Assessment of real time (COTS) kernels through fault injection Presentation of the case studies and results

© Copyright Critical Software S.A All Rights Reserved. 4 Current R&D at CSW Main stream R&D is divided into two different (but related) trends SpaceAQua Project G-SWFIT Technique Further development (improvement and optimization) of current Xception plugins Mainly based on industrial usage feedback Other Research Initiatives Xpy – Non intrusive monitoring tool for space applications TestOO – Static assessment of object oriented real time applications

© Copyright Critical Software S.A All Rights Reserved. 5 SpaceAQua Project Automated Qualification Framework SpaceAQua will integrate several techniques and tools for assessing COTS used in space Qualify each assessed product according to a predefined qualification scheme Generic Test Plan for Reuse Automate qualification steps (including the definition, generation and execution of test cases)

© Copyright Critical Software S.A All Rights Reserved. 6 G-SWFIT Technique G-SWFIT Assessment and research of the technique Applicability analysis of technique in space systems evaluation, namely COTS Implementation of plug-in for Xception toolset (for Intel IA32 architecture) Experimentation and validation of toolset

© Copyright Critical Software S.A All Rights Reserved. 7 G-SWFIT Technique PhD work of João Durães Durães, J., Madeira, H., “Definition of Software Fault Emulation Operators: a Field Data Study”, DSN 2003 Durães, J., Madeira, H., “Generic Faultloads Based on Software Faults for Dependability Benchmarking” Durães, J., Madeira, H., “Multidimensional Characterization of the Impact of Faulty Drivers on the Operating Systems Behavior”, IEICE 2003 Durães, J., Madeira, H., “Emulation of Software Faults by Educated Mutations at Machine-Code Level”, ISSRE 2002 Fault injection technique Used on binary code No source code needed No recompilation or development environment required Applicable virtually to any software Need to investigate legal aspects for COTS software Check impacts on SW with Checksums

© Copyright Critical Software S.A All Rights Reserved. 8 G-SWFIT Technique – Fault Types Analyses of opensource projects bug lists Classification of faults using: ODC associated to the type of correction needed Extra variable ‘nature’ defines if there is something ‘missing’, ‘wrong’ or ‘extraneous’ Selection of the most representative faults

© Copyright Critical Software S.A All Rights Reserved. 9 G-SWFIT Technique - Fault Injection Example

© Copyright Critical Software S.A All Rights Reserved. 10 G-SWFIT Technique - Fault Creation and Injection Process Operator Fault Operator Original executable Mutated executable Assembly representation Fault 1. Disassembling 2. Fault generation 3. Fault injection Hard drive Memory

© Copyright Critical Software S.A All Rights Reserved. 11 G-SWFIT Technique - Operator example Fault Operator for Missing Function Call 1. Locates function callsPattern 2. Function call not alone in blockConstraint 3. Function Returned value (if any) not usedConstraint 4. Removes function callInjection CALL removal is made by replacing the CALL instruction by NOP instructions ExampleSearch patternCode change function(...);CALL target-addressremove ‘CALL’ instruction

© Copyright Critical Software S.A All Rights Reserved. 12 Other Research Initiatives - XPY XPY - Monitoring and Profiling Tool for Space Software XPY provides the end user (VV Engineers) with a automated code coverage analysis of the user software in a non-intrusive way through boundary scan. XPY calculates coverage metrics over the original non-instrumented code, based on the low level monitoring of the target system. SCEEC DCBCC MC/DC SC (Statement Coverage), EEC (Entry and Exit Point Coverage), DC (Decision Coverage), BCC (Branch Condition Coverage), MC/DC (Modified Condition/Decision Coverage)

© Copyright Critical Software S.A All Rights Reserved. 13 XPY - Monitoring and Profiling Tool for Space Software Modular architecture design allows to be integrated in different development environments (e.g. Eclipse) and target processors (e.g. LEON – Sparc V8). The XPY components are: XPY Core – metrics calculation, timing statistics, execution control; XPY DB Interface – interface with the pre-defined Database, XPY Interface – integration with application specific plug-ins, Target System Abstraction Layer – interface layer to other processor specific boundary scan libraries. Other Research Initiatives - XPY

© Copyright Critical Software S.A All Rights Reserved. 14 XPY - Monitoring and Profiling Tool for Space Software The XPY external components are described hereafter: GDBIF – access to GDB functionalities in the application environment. MDSProtocol API – MDS JTAG API to the ERC32 XceptionTM XPY Plug-In – XPY GUI as a new XceptionTM Plug-In Other Research Initiatives - XPY

© Copyright Critical Software S.A All Rights Reserved. 15 Other Research Initiatives - XPY

© Copyright Critical Software S.A All Rights Reserved. 16 Testing Object Orientation (TestOO) Can we relay on Object Oriented Software in Critical Systems? Development a Coding Rules Checker Tool to support a set of coding rules enhancing the testability and verifiability of Object Oriented Software for Critical Systems; General Best Coding Practices, ESA Standard Coding Rules, BSSC(98)3 Issue 1 Ada95 Coding Standards, BSSC 2005(2) Issue 1 Java Coding Standards, Object Oriented guidelines provided within the scope of the project. Checking Ada and JAVA source code for the right use of: General Best Coding Practices, ESA Standard Coding Rules, BSSC(98)3 Issue 1 Ada95 Coding Standards, BSSC 2005(2) Issue 1 Java Coding Standards, Object Oriented guidelines provided within the scope of the project. Other Research Initiatives - TESTOO

© Copyright Critical Software S.A All Rights Reserved. 17 Testing Object Orientation (TestOO) TestOO Checker Architecture Modular Architecture Design, Windows XP and Linux OS Portability, Integrates Open Source Tools and Rules DB (DataBase) TestOO Checker Features Generic IDE Layout (GUI) Explorer File System Browser; Profile Manager (Ada and JAVA Profiles / Rules Navigators) Text Editor Output Console Reporting Facilities Command Line Interface (CLI) Other Research Initiatives - TESTOO

© Copyright Critical Software S.A All Rights Reserved. 18 Other Research Initiatives - TESTOO

© Copyright Critical Software S.A All Rights Reserved. 19 Future Work Evaluation of Xception G-SWFIT Further validation of toolset Development of other fault operators Optimization of pattern search Assessment of disassembling capabilities Assessment of processor architecture and compiler dependencies OK for OSS, needs to be carefully thought for “other” COTS

© Copyright Critical Software S.A All Rights Reserved. 20 Future Work SpaceAQua Project Kick Off of SpaceAQua Project (late ’07) Cooperation between CSW, NASA IVV, WVU and CISUC

© Copyright Critical Software S.A All Rights Reserved. 21 Questions? Thank You! VV&RAMS Engineering Unit Engineering Manager Nuno Silva Project Manager Ricardo Barbosa Critical Software SA Critical Software, LimitedCritical Software Technologies Ltd Parque Industrial de Taveiro, Lote Coimbra, PORTUGAL Tel: Fax: Pólo Tecnológico de Lisboa, Lote 1, Estrada do Paço do Lumiar Lisboa, PORTUGAL Tel: Fax: Tecmaia - Rua Eng.º Frederico Ulrich, nº Moreira da Maia, Porto, PORTUGAL Tel.: Fax: North Market Street, Suite 670 San Jose, California, USA, Tel: +1(408) Fax: +1(408) Suite Venture Road Southampton Science Park Chilworth - Southampton SO16 7NP - United Kingdom Tel: +44 (0)