Testing Loaded Programs Using Fault Injection Technique

Fault tolerance is critical in many of today's large computer systems. This paper focuses on improving fault tolerance through testing. Moreover, it concentrates on the memory faults: how to access the editable part of a process memory space and how this part is affected. A special Software Fault Injection Technique (SFIT) is proposed for this purpose. This is done by sequentially scanning the memory of the target process, and trying to edit maximum number of bytes inside that memory. The technique was implemented and tested on a group of programs in software packages such as jet-audio, Notepad, Microsoft Word, Microsoft Excel, and Microsoft Outlook. The results from the test sample process indicate that the size of the scanned area depends on several factors. These factors are: process size, process type, and virtual memory size of the machine under test. The results show that increasing the process size will increase the scanned memory space. They also show that input-output processes have more scanned area size than other processes. Increasing the virtual memory size will also affect the size of the scanned area but to a certain limit.




References:
[1] Broadwell P., Sastry N., and Traupma J., (2001). "FIG: A Prototype
Tool for Online Verification of Recovery Mechanisms ". ICS SHAMAN Workshop -02 New York, New York USA Copyright 2001
ACM.
[2] Broadwell, P. and Ong E. (2002)."A Comparison of Static Analysis
and Fault Injection Techniques for Developing Robust System
Services", a project paper, retrieved (January2004), from
(http://www.cs.berkeley.edu/~pbwell/papers/saswifi.pdf).
[3] Lai M. and Wang S., (1995). "Software Fault Tolerance", Wiley & Sons LTd, New York.
[4] Manaseer S. (2004). "Software Testing Using Software Fault
Injection". A Master Thesis in Computer Science , KASIT, University
of Jordan, Jordan.
[5] Sanders W., (2003)." Fault Injection Methods and Mechanisms".
Department of Electrical and Computer Engineering and Coordinated
Science Laboratory, University of Illinois at Urbana-Champaign.
[6] Silberschatz A. Galvin P., and Gagne G., (2003). Operating System
Concepts. Wiley & Sons, New York.
[7] Thorhuns R., (2000). "Software Fault Injection Testing". A Master
thesis in Electronic System Design. KTH, Stockholm.
[8] Torres-Pomales W., (2000)."Software Fault Tolerance: A Tutorial".
NASA Center for Aerospace Information (CASI) National Technical
Information Service (NTIS).
[9] Voas J., Charron F., and McGraw G., (1997). "Predicting How Badly
ÔÇÿGood- Software Can Behave", IEEE Software, 14(4):73-83.
[10] Voas M., McGraw G., (1998). Software Fault Injection, Inoculating
Programs against Errors. Wiley & Sons, New York.