My paper of choice this time was "Application of a Fault Injection Based Dependability Assessment Process to a Commercial Safety Critical Nuclear Reactor Protection System" by Carl R. Elks, Michael Reynolds, Nishant George, Marko Miklo, Scott Bingham, Ron Williams, Barry W. Johnson. Michael Waterman and Jeanne Dion. This post provides an example, how fault injection based quality assurance can lead to an appropriate and safe transition from an old environment into a new technology based solution. The article is based on nuclear power plant applications, however following the highest standards and procedures can be applicable in our software as well.
Fault Injection is defined as a dependability validation technique that is based on the realization of controlled validation experiments where the observation of the system behavior in presence of faults that are explicitly induced by the deliberate introduction (injection) of faults into the system.
"Arlat, J., Costes, A., Crouzet, Y., Laprie, J.-C., and
Powell, D., "Fault Injection and Dependability Evaluation of
Fault-Tolerant Systems", IEEE Transactions on Computers,
Vol. 42, No. 8,August 1993, pp. 913-923."
They use validation method to simulate input and output on controlled and repeatable environment, where systematic tries and faults can be generated in order to test almost every possibility of problems. The article goes into details about their findings and methodology. We can adopt this testing technology especially on the server side during the testing phase. Currently we have just bare minimum error checking, and a lot of place to improve. Another aspect that the researchers mention, that their approach does not require modification in the source code. During search on the Internet, there are many solutions for fault injections, in different forms: many of them available in white-gray-black box form, and some of them are even able to inject faults in binary format, therefor platform independent.
Thanks for reading
--
Balazs Makany
No comments:
Post a Comment