Interaction Testing in an Embedded System Using Hardware Fault Injection and Program Mutation

  • Ahyoung Sung
  • Byoungju Choi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2931)


An embedded system is a combination of hardware and software subsystems. Interaction between these two subsystems may lead to unexpected behavior when faults are present in either. An effective technique is required to detect the presence of such ”interaction faults” in an embedded system. We propose a test data selection technique for interaction testing in the embedded system using hardware fault injection and mutation test criteria. The proposed technique simulates hardware faults as software faults and uses these to mutate the software component. The mutants so created are then used as a means to select test data that differentiates the original program from the mutants. An experimental evaluation of the proposed technique is also presented.


Embed System Target System Software Fault Fault Injection Interaction Fault 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Lee, E.A.: What’s Ahead for Embedded Software? IEEE Computer, 18–26 (September 2000)Google Scholar
  2. 2.
    DeMillo, R.A., Lipton, R.J., Sayward, F.G.: Hints on test data selection: Help for the practicing programmer. IEEE Computer 11(4), 34–41 (1978)Google Scholar
  3. 3.
    Delamaro, M.E., Maldonado, J.C., Mathur, A.P.: Integration Testing Using Interface Mutation. In: Proceedings of International Symposium on Software Reliability Engineering (ISSRE 1996), April 1996, pp. 112–121 (1996)Google Scholar
  4. 4.
    UCN 3&4 Final Safety Analysis Report, vol. 11,Korea Electric Power CorporationsGoogle Scholar
  5. 5.
    Hsueh, M.-C., Tsai, T.K., Iyer, R.K.: Fault Injection Techniques and Tools. Computer, 75–82 (April 1997)Google Scholar
  6. 6.
    Carreira, J.V., Costa, D., Silva, J.G.: Fault Injection spot-checks computer system dependability, IEEE Spectrum (August 1999)Google Scholar
  7. 7.
    Carreira, J.V., Madeira, H., Silva, J.G.: Xeption: A technique for the Experimental Evaluation of Dependability in modern computers. IEEE Transaction on Software Engineering 23(2) (February 1998)Google Scholar
  8. 8.
    Dalpasso, M., Favalli, M., Olivo, P., Ricco, B.: Fault Simulation of parametric Bridging Faults in CMOS ICs. IEEE Transaction on computer aided design of integrated circuits and systems 12(9) (September 1993)Google Scholar
  9. 9.
    Clark, J.A., Pradhan, D.K.: Fault injection: a method for validating computer-system dependability. IEEE Computer 28(6), 47–56 (1995)Google Scholar
  10. 10.
    Miremadi, G., Torin, J.: Evaluating processor-behavior and three error-detection mechanisms using physical fault-injection. IEEE Transaction on Reliability 44(3), 441–454 (1995)CrossRefGoogle Scholar
  11. 11.
    Karsson, J., Liden, P., Dahlgren, P., Johansson, R., Gunneflo, U.: Using Heavy-ion Radiation to validate fault-handling mechanisms. IEEE micro., 8–23 (1994)Google Scholar
  12. 12.
    Horgan, J.R., London, S.: ATAC: A data flow coverage testing tool for C. In: Proceedings of Symposium on Assessment of Quality Software Development Tools, New Orleans, LA, May 1992, pp. 2–10 (1992)Google Scholar
  13. 13.
    Lyu, M.R., Horgan, J.R., London, S.: A coverage analysis tool for the effectiveness of software testing. In: Proceeding of International Symposium on Software Reliability Engineering (1993)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Ahyoung Sung
    • 1
  • Byoungju Choi
    • 1
  1. 1.Department of Computer Science & EnggEwha Woman’s UniversitySeoulKorea

Personalised recommendations