skip to main content
research-article

Boosting software fault injection for dependability analysis of real-time embedded applications

Published:07 January 2011Publication History
Skip Abstract Section

Abstract

The design of complex embedded systems deployed in safety-critical or mission-critical applications mandates the availability of methods to validate the system dependability across the whole design flow. In this article we introduce a fault injection approach, based on loadable kernel modules and running under the Linux operating system, which can be adopted as soon as a running prototype of the systems is available. Moreover, for the purpose of decoupling dependability analysis from hardware availability, we also propose the adoption of hardware virtualization. Extensive experimental results show that statistical analysis made on top of virtual prototypes are in good agreement with the information disclosed by fault detection trends of real platforms, even under real-time constraints.

References

  1. Antoni, L., Leveugle, R., and Fehér, B. 2000. Using runtime reconfiguration for fault injection in hardware prototypes. In Proceedings of the 15th International Symposium on Defect and Fault Tolerance in VLSI Systems. IEEE, Los Alamitos, CA, 405--413. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Baldini, A., Benso, A., Chiusano, S., and Prinetto, P. 2001. BOND: An interposition agents-based fault injector for Windows NT. In Proceedings of the 16th International Symposium on Defect and Fault Tolerance in Systems. IEEE, Los Alamitos, CA, 387--395. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Ballard, F. 2005. QEMU, a Fast and Portable Dynamic Translator. In USENIX Annual Technical Conference Reports. USENIX, Berkeley, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Baumann, R. C. 2005. Radiation-induced soft errors in advanced semiconductor technologies. IEEE Trans. Device Mater. Reliab. 5, 305--316.Google ScholarGoogle Scholar
  5. Boue, J., Petillon, P., and Crouzet, Y. 1998. MEFISTO-L: A VHDL-based fault injection tool for the experimental assessment of fault tolerance. In Proceedings of the 28th Annual International Symposium on Fault Tolerant Computing. IEEE, Los Alamitos, CA, 168--173. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Carreira, J., Madeira, H., and Silva, J. 1995. Xception: Software fault injection and Monitoring in Processor Functional Units. In Proceedings of the 5th International Working Conference on Dependable Computing for Critical Applications. IEEE, Los Alamitos, CA, 135--149.Google ScholarGoogle Scholar
  7. Civera, P. L., Macchiarulo, L., Rebaudengo, M., Reorda, M. S., and Violante, M. 2001. Exploiting FPGA-based Techniques for Fault Injection Campaigns on VLSI Circuits. In Proceedings of the 16th International Symposium on Defect and Fault Tolerance in VLSI Systems. IEEE, Los Alamitos, CA, 250--258. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Constantinescu, C. 2002. Impact of Deep Submicron Technology on Dependability of VLSI Circuits. In Proceedings of the International Conference on Dependable Systems and Networks. IEEE, Los Alamitos, CA, 205--209. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Cormen, T. H., Leiserson, C. E., Rivest, R. L., and Stein, C. 2001. Introduction to Algorithms, 2nd ed. MIT Press, Cambridge, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Costa, P., Vieira, M., Madeira, H., and Gabriel Silva, J. 2003. Plug and play fault injector for dependability benchmarking. In Lecture Notes in Computer Science, vol. 2847. Springer-Verlag, Berlin, 8--22.Google ScholarGoogle Scholar
  11. Dragovic, B., Fraser, K., Hand, S., Harris, T., Ho, A., Pratt, I., Warfield, A., Barham, P., and Neugebauer, R. 2003. Xen and the art of virtualization. In Proceedings of the Symposium on Operating Systems Principles. ACM, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Fidalgo, A. V., Alves, G. R., Gericota, M. G., and Martins Ferreira, J. M. 2008. A comparative analysis of fault injection methods via enhanced on-chip debug infrastructures. In Proceedings of the 21st annual Symposium on Integrated Circuits and System Design. ACM, New York, 22--27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Folkesson, P., Svensson, S., and Karlsson, J. 1998. A comparison of simulation-based and scan chain implemented fault injection. In Proceedings of the 28th Annual International Symposium on Fault Tolerant Computing. IEEE, Los Alamitos, CA, 284--293. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Gallmeister, B. 1995. POSIX.4: Programming for the Real World. O'Reilly Media, Newton, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Gautus, M. R., Ringenberg, J. S., Ernst, D., Austin, T. M., and Mudge, T. 2001. MiBench: A free, commercially representative embedded benchmark suite. In Proceedings of the IEEE 4th Annual Workshop on Workload Characterization. IEEE, Los Alamitos, CA, 83--94.Google ScholarGoogle Scholar
  16. Gerum, P. 2004. XENOMAI-Implementing a RTOS emulation framework on GNU/Linux. http://www.xenomai.org/documentation/trunk/pdf/xenomai.pdf.Google ScholarGoogle Scholar
  17. Gunneflo, U., Karlsson, J., and Torin, J. 1989. Evaluation of error detection schemes using fault Injection by heavy-ion radiation. In Proceedings of the 19th International Symposium on Fault Tolerant Computing. IEEE, Los Alamitos, CA, 340--347.Google ScholarGoogle Scholar
  18. Hsueh, M., Tsai, T. K., and Iyer, R. K. 1997. Fault injection techniques and tools. IEEE Comput, 30, 4, 75--82. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Jenn, E., Arlat, J., Rimen, M., Ohlsson, J., and Karlsson, J. 1994. Fault injection into VHDL models: the MEFISTO tool. In Proceedings of the 24th International Symposium on Fault Tolerant Computing. IEEE, Los Alamitos, CA, 66--75.Google ScholarGoogle Scholar
  20. Kanawati, G. A., Kanawati, N. A., and Abraham, J. A. 1995. FERRARI: a flexible software-based fault and error injection system. IEEE Trans. Comput. 44, 2,248--260. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Lee, H., Song, Y., and Shin, H. 2000. SFIDA: A software implemented fault injection tool for distributed dependable applications. In Proceedings of the 4th International Conference/Exhibition on High-Performance Computing in the Asia-Pacific Region. IEEE, Los Alamitos, CA, 410--415.Google ScholarGoogle Scholar
  22. Linux Kernel Organization, Inc. 2009. Linux programmer's manual. http://www.kernel.org/doc/manpages/online/pages/man2/sched setscheduler.2.html.Google ScholarGoogle Scholar
  23. Moore, R. J. 2001. A universal dynamic trace for Linux and other operating systems. In Proceedings of the FREENIX Track: 2001 USENIX Annual Technical Conference. USENIX Association, Berkeley, CA, 297--308. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Murciano, M. and Violante, M. 2007. Validating the dependability of embedded systems through fault injection by means of loadable kernel modules. In Proceedings of the 2007 International High-Level Design Validation and Test Workshop. IEEE, Los Alamitos, CA, 179--186. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Steininger, A., Rahbaran, B., and Handl, T. 2003. Built-in fault injectors—the logical continuation of BIST? In Proceedings of the 1st Workshop on Intelligent Solutions in Embedded Systems. 187--196.Google ScholarGoogle Scholar
  26. Zenha-Rela, M., Cunha, J. C., Santos, L. E., Gameiro, M., Gonalves, P., and Alves, G. 2006. Exploiting the IEEE 1149.1 standard for software reliability evaluation in space applications. In Proceedings of the European Safety and Reliability Conference. http://www.laboris.isep.ipp.pt/anf/fct09/rela06.pdf.Google ScholarGoogle Scholar

Index Terms

  1. Boosting software fault injection for dependability analysis of real-time embedded applications

    Recommendations

    Reviews

    T.H. Tse

    Embedded systems today are large and complex, composed of a variety of components from different sources. These may be commercial off-the-shelf components, which are often less fault tolerant than their traditional counterparts. It is essential to assure the dependability of such systems, including robustness and availability, especially if the systems are safety critical or if system failures would result in heavy financial losses. This paper proposes an integrated approach to user-level runtime software fault injection, which covers transient faults in both virtual and physical hardware. It is grounded on the loadable kernel modules of the operating system, which is architecture independent, and is exploitable as soon as a system prototype is available. No instrumentation in the kernel code or application under investigation is necessary. With the authors' approach, rather than having to wait for hardware delivery, one can conduct early deployment of the dependency analysis on a virtual hardware platform, and then follow up on the physical hardware platform. Decoupling dependency analysis from hardware availability makes concurrent development of software and hardware feasible. Experiments indicate that the evaluation results on virtual hardware are comparable with those on physical hardware. In order to truly confirm the contributions of the proposed approach, it would be useful if the authors could validate the significance of the experimental results using standard statistical techniques. Finally, the paper suffers from an unusually high number of typographical errors, which may distract the reader. Online Computing Reviews Service

    Access critical reviews of Computing literature here

    Become a reviewer for Computing Reviews.

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!