Testing Diagnostics Components Supervising Functional Safety Requirements



Mihai Nica Ingo Pill Franz Wotawa


For safety-critical applications, safety diagnostics components are an attractive safeguard for meeting some specified safety requirements under operation. Like a monitor, such a software artifact shall supervise a system under operation, and furthermore, if needed, it overrides the system’s control software in order to maintain safety. In this paper we contribute to testing such a component, suggesting an approach that draws on fault injection and, in order to enhance deployability, accommodates also needs in respect of business issues like intellectual property disclosure and resource efficiency. The required testing oracle we directly obtain from the defined and formalized functional safety requirements, for the purpose of assessing that the safety diagnostic component in- deed maintains safety also under faulty conditions.

How to Cite

Nica, M. ., Pill, I., & Wotawa, F. . (2015). Testing Diagnostics Components Supervising Functional Safety Requirements. Annual Conference of the PHM Society, 7(1). https://doi.org/10.36001/phmconf.2015.v7i1.2564
Abstract 3 | PDF Downloads 4



applications: industrial, Testing, Model-based diagnosis

Agrawal, H., DeMillo, R. A., Hathaway, B., Hsu, W., Hsu, W., Krauser, E. W., . . . Spafford, E. (1989, March). Design of Mutant Operators for the C Programming Language (techreport No. SERC-TR-41-P). West Lafayette, Indiana: Purdue University.

Arnedo, J. A., Cavalli, A., & Nunez, M. (2003). Fast testing of critical properties through passive testing. In Lecture Notes in Computer Science (Vol. 2644, pp. 295–310). Springer.

Bloem, R., Cavada, R., Pill, I., Roveri, M., & Tchaltsev, A. (2007). RAT: A tool for the formal analysis of requirements. In Computer aided verification (p. 263-267).

Broy, M., Jonsson, B., Katoen, J.-P., Leucker, M., & Pretschner, A. (2005). Model-based testing of reactive systems. In Lecture Notes in Computer Science (Vol. 3472). Springer.

Clarke, E. M., Jr., Grumberg, O., & Peled, D. A. (1999). Model checking. Cambridge, MA, USA: MIT Press.

de Kleer, J., & Williams, B. C. (1987). Diagnosing multiple faults. Artificial Intelligence, 32(1), 97–130.

Delamaro, M. E. (1993). Proteum - a mutation analysis based testing environment (phdthesis). University of Sa ̃o Paulo, Sao Paulo, Brazil.

DeMillo, R. A., Lipton, R. J., & Sayward, F. G. (1978). Hints on test data selection: Help for the practicing program- mer. IEEE Computer, 11, 34–41.

Eisner, C., & Fisman, D. (2006). A practical introduction to PSL (series on integrated circuits and systems). Secau- cus, NJ, USA: Springer-Verlag New York, Inc.

Ghosh, S. (2000). Testing Component-Based Distributed Applications (phdthesis). Purdue University, West Lafayette, Indiana.

Gopinath, R., Jensen, C., & Groce, A. (2014, Nov). Muta- tions: How close are they to real faults? In 2014 IEEE 25th International Symposium on Software Reliability Engineering (ISSRE) (p. 189-200). doi: 10.1109/IS- SRE.2014.40

Hofer, B., Jehan, S., Pill, I., & Wotawa, F. (2014). Functional diagnosis of a SOA’s BPEL processes. In 25th Interna- tional Workshop on Principles of Diagnosis (DX).

Kim, Y., Daly, R., Kim, J., Fallin, C., Lee, J. H., Lee, D., . . . Mutlu, O. (2014, June). Flipping bits in memory with- out accessing them: An experimental study of DRAM disturbance errors. In 2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA)(p. 361-372). doi: 10.1109/ISCA.2014.6853210

Korel, B., & Rilling, J. (1998). Dynamic program slicing methods. Information & Software Technology, 40(11-12), 647-659.

Ma, Y., Offutt, A. J., & Kwon, Y. (2006). MuJava: a Mutation System for Java. In Proceedings of the 28th International Conference on Software Engineering (ICSE ’06) (pp. 827–830). Shanghai, China.

Offutt, A. J. (1992). Investigations of the software testing coupling effect. ACM Trans. Softw. Eng. Methodol., 1(1), 5–20. DOI: 10.1145/125489.125473

Pill, I., & Quaritsch, T. (2013). Behavioral diagnosis of LTL specifications at operator level. In Twenty-Third International Joint Conference on Artificial Intelligence (IJ- CAI’13) (pp. 1053–1059).

Pnueli, A. (1977). The Temporal Logic of Programs. In Annual Symposium on Foundations of Computer Sc.
(p. 46-57).

Reiter, R. (1987). A theory of diagnosis from first principles.Artif. Intelligence, 32(1), 57–95.

Segall, Z., Vrsalovic, D., Siewiorek, D., Yaskin, D., Kownacki, J., Barton, J., . . . Lin, T. (1988). FIAT-fault injection based automated testing environment. In Eighteenth International Symposium on Fault-Tolerant Computing, 1988. FTCS-18, Digest of Papers (p. 102- 107). DOI: 10.1109/FTCS.1988.5306

Tuya, J., Sua ́rez-Cabal, M. J., & la Riva, C. d. (2007, April). Mutating Database Queries. Inf. Softw. Technol., 49(4), 398–417. DOI: 10.1016/j.infsof.2006.06.009

Voas, J., & McGraw, G. (1999). Software fault injection: inoculating programs against errors. Software Testing, Verification and Reliability, 9(1), 75–76.

Weber, J., & Wotawa, F. (2010). Combining runtime diagnosis and ai-planning in a mobile autonomous robot to achieve a graceful degradation after software failures. In ICAART 2010 - Proc. of the Int. Conf. on Agents and Artificial Intelligence, Volume 1 - Artificial Intelligence (pp. 127–134).

Wotawa, F., & Pill, I. (2014). Testing configuration knowledge-bases. In 16th International Configuration Workshop (pp. 39–46).

Zhang, X., He, H., Gupta, N., & Gupta, R. (2005). Experimental evaluation of using dynamic slices for fault localization. In Sixth International Symposium on Automated & Analysis-Driven Debugging (AADEBUG) (pp. 33–42).

Zhou, C., & Frankl, P. (2009). Mutation Testing for Java Database Applications. In Proc. of the 2009 Int. Conf. on Software Testing Verification and Validation (pp. 396–405). DOI: 10.1109/ICST.2009.43
Technical Papers