• DocumentCode
    832500
  • Title

    Emulation of Software Faults: A Field Data Study and a Practical Approach

  • Author

    Durães, João A. ; Madeira, Henrique S.

  • Author_Institution
    Inst. Superior de Engeharia de Coimbra
  • Volume
    32
  • Issue
    11
  • fYear
    2006
  • Firstpage
    849
  • Lastpage
    867
  • Abstract
    The injection of faults has been widely used to evaluate fault tolerance mechanisms and to assess the impact of faults in computer systems. However, the injection of software faults is not as well understood as other classes of faults (e.g., hardware faults). In this paper, we analyze how software faults can be injected (emulated) in a source-code independent manner. We specifically address important emulation requirements such as fault representativeness and emulation accuracy. We start with the analysis of an extensive collection of real software faults. We observed that a large percentage of faults falls into well-defined classes and can be characterized in a very precise way, allowing accurate emulation of software faults through a small set of emulation operators. A new software fault injection technique (G-SWFIT) based on emulation operators derived from the field study is proposed. This technique consists of finding key programming structures at the machine code-level where high-level software faults can be emulated. The fault-emulation accuracy of this technique is shown. This work also includes a study on the key aspects that may impact the technique accuracy. The portability of the technique is also discussed and it is shown that a high degree of portability can be achieved
  • Keywords
    program testing; software fault tolerance; software performance evaluation; software portability; G-SWFIT; computer system; emulation accuracy; fault representation; fault tolerance mechanism; field data study; machine code-level; programming structure; programming structures; software fault injection technique; Computer bugs; Computer industry; Emulation; Fault tolerant systems; Hardware; Programming; Software measurement; Software reliability; Software systems; Software testing; Fault injection; software faults; software reliability.;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2006.113
  • Filename
    4015509