software faults and fault injection models n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Software Faults and Fault Injection Models PowerPoint Presentation
Download Presentation
Software Faults and Fault Injection Models

Loading in 2 Seconds...

play fullscreen
1 / 20

Software Faults and Fault Injection Models - PowerPoint PPT Presentation


  • 608 Views
  • Uploaded on

Software Faults and Fault Injection Models. --Raviteja Varanasi. Overview. Introduction Fault Tolerance Taxonomy Of Faults Software Fault Injection Models Conclusion. INTRODUCTION. Major Approaches for studying fault Impacts Analytical Modeling Field Error Data Analysis

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

Software Faults and Fault Injection Models


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
overview
Overview
  • Introduction
  • Fault Tolerance
  • Taxonomy Of Faults
  • Software Fault Injection Models
  • Conclusion
introduction
INTRODUCTION

Major Approaches for studying fault Impacts

  • Analytical Modeling
  • Field Error Data Analysis
  • Fault Simulation
  • Fault Injection
software fault tolerance
Software Fault Tolerance
  • By software fault tolerance we mean a set of application level software components that can detect and recover from faults that are not handled in the hardware/operating system.
  • A failure occurs when the system deviates from its specifications. The cause of a failure is an error. A fault has the potential for generating errors i.e. it may/may not generate any errors. A system with errors will be faulty.
why do we need it
Why do we need it?
  • Because many systems today are expected to work in a correct manner as life depends on them.
  • Cost of errors to high.
  • Testing is not suitable measure of reliability.
    • Can only establish the presence of errors but cannot assure their absence.
    • relies heavily on manual skills to identify test cases and evaluate results
taxonomy of faults
Taxonomy of Faults
  • Physical Faults
  • Design Faults
  • Interaction Faults
physical faults
Physical Faults
  • Hardware Faults
    • Memory Faults
    • CPU Faults
    • Bus Faults
    • I/O Faults
design faults
Design Faults
  • Software Faults
    • Initialization Faults
    • Assignment Faults
    • Condition check Faults
    • Function Faults
    • Documentation Faults
taxonomy of faults1
Taxonomy of Faults

FAULTS

Physical Faults

Design Faults

Interaction Faults

  • Hardware Faults
  • Memory Faults
  • CPU Faults
  • Bus Faults
  • I/O Faults
  • Software Faults
  • Initialization Faults
  • Assignment Faults
  • Condition Check Faults
  • Function Faults
  • Documentation Faults

Faults Induced

by the User

software fault injection
Software Fault Injection
  • A testing technique that aids in understanding how software behaves when stressed in unusual ways.
  • A product-based assurance technique.
  • Variations in the technique allow it to be applied to many types of software and for different purposes.
software fault injection1
Software Fault Injection
  • Software Fault Injection Models
    • DIDUCE (Dynamic Invariant Detection U Checking Engine)
    • FINE (A Fault Injection and Monitoring Environment for tracing the UNIX System Behavior under Faults
diduce
DIDUCE
  • A General Purpose error detector which works on Java Byte Code
  • Detects Invariants Dynamically
  • Detects Errors Dynamically
  • A very useful Debugging Tool
diduce dynamic invariant detection u checking engine
DIDUCE (Dynamic Invariant Detection U Checking Engine)
  • Instruments the Code (Java Byte Code)
  • Watches the Data (E.g. Parameters,values read)
  • Develops a model of the data (Keeps a 2-word Signature per tracked value)
  • Reports detected anomalies
  • Relaxes Properties and continues
  • Finds Hidden Errors
  • Automatically Detects root causes of Errors
diduce1
DIDUCE
  • A Large Program works on many but fails on just 1
  • A change to a component causes another component in a large system to fail
  • Failures in long Running Programs
fine a fault injection and monitoring environment
FINE: A Fault Injection and Monitoring Environment
  • A fault Injection tool for monitoring the study of fault propagation in UNIX kernel
  • Injects both Hardware induced software errors and software faults and traces execution
  • A comparison is then made between the faulty trace data and the fault free one under the same work load to identify fault propagation
fine how it works
FINE: How it works
  • Consists Mainly of Four Parts
    • Fault Injector : Injects hardware and software faults
    • Software Monitor: traces the execution flow
    • Workload Generator: generates the workload
    • Controller: specifies fault type to the Fault Injector, the data to Software monitor and workload for Workload generator
conclusion
Conclusion
  • Exploration of fault behaviors on a complex program is tedious
  • But this exploration is necessary to understand the complex mechanisms of error propagation
  • Faults depend heavily on the application and the specific functional unit where they appear
references
References

[1] J. Dures and H. Madeira, “Characterization of Operating Systems Behavior in the Presence of Faulty Drivers Through Software Fault Emulation,” PRDC2002 Pacific Rim International Symposium on Dependable Computing, pp. 16–18, December 2002.

[2] H. Madeira, M. Vieira, and D. Costa, “On the Emulation of Software Faults by Software Fault Injection,” IEEE International Conference on Dependable Systems and Networks, pp. 25–28, June 2000.

[3] J. Arlat, Y. Crouzet, and J. Karlsson, “Comparison of Physical and Software- Implemented Fault Injection Techniques,” IEEE Transactions on Computers, pp. 1115–1133, September 2003.

[4] M. Hsueh, T.Tsai, and R.K.Iyer, “Fault Injection Techniques and Tools,” IEEE Transactions on Computers., pp. 75–82, April 1997.

[5] R. Chillarege, I.S.Bhandari, J.K.Chaar, M.J.Halliday, D.Moebus, B.Ray, and M.Wong, “Orthogonal Defect Classification - A Concept for In-Process Measurement,” IEEE Transactions on Software Engineering, pp. 943–956, November 1992.

[6] W. Kao, R.K.Iyer, and D.Tang, “FINE: A Fault Injection and Monitoring Environment for Tracing the UNIX system Behavior Under Faults,” IEEE Transactions on Software Engineering., pp. 1105–1118, November 1993.

references1
References
  • [7] J. Carreira, H. Madeira, and J. G. Silva, “Xception: A Technique for the Experimental Evaluation of Dependability in Modern Computers,” IEEE Transactions on Software Engineering, pp. 125–136, February 1998.
  • [8] D. Costa, M. V. Tiago Rilho, and H. Madeira, “ ESFFI - A Novel Technique for the Emulation of Coftware Faults in COTS Components ,” IEEEEighth Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ECBS ’01), pp. 197–204, April 2001.
  • [9] T. Jarboui, J. Arlat, Y. Crouzet, and K. Kanoun, “ Experimental Analysis of the Errors Induced into Linux by Three Fault Injection Techniques ,” DSN’02International Conference on Dependable Systems and Networks, pp. 23–26, June 2002.
  • [10] N. S. Bowen and D. K. Pradhan, “ The Effect of Program Behaviour on Fault Observability,” IEEETransactions on Computers, pp. 868–880, Aug 1996.
  • [11] A. Johansson, “Software Implemented Fault Injection Used for Software Evaluation ,” Predicting System Trustworthiness for Software Component Trustworthiness, pp.38–43, July 2002.
  • [12] S. Hangal and M.S.Lam “ Tracking down software bugs using automatic anomaly detection.” International Conference on Software Engineering, pp 291-301, May-2002