Abstract
This paper presents a new approach, connectivity testing, for testing embedded systems. Instead of testing the conformance of a system against its specification, which often turns out to be infeasible, we suggest to test only the composition of the software and the hardware. We assume the software to be correct so only the hardware component may be erroneous. Our framework is based on the notion of a (single fault) fault model, that is a model which formally captures errors in the interface between the hardware and the software. Output and input fault models are considered. An exhaustive test suite for a fault model is a test suite that detects the faults of the model with 100% coverage. We prove the problem of computing a smallest exhaustive test suite to be NP-hard and devise heuristic polynomial time algorithms computing minimal exhaustive test suites. We have carried out experiments with the algorithms implemented using Binary Decision Diagrams. Test generation from specifications containing more than 4.98 × 1010 states have been carried out.
Similar content being viewed by others
References
M. Abramovici, M.A. Breuer, and A.D. Friedman, Digitial System Design and Testable Design. Computer Science Press, 1990.
A.V. Aho, A.T. Dahbura, D. Lee, and M.U. Uyar, “An optimization technique for protocol conformance test generation based on uio sequences and rural chinese postman tours,” IEEE Transactions on Communications, Vol. 39, No. 11, pp. 1604–1615, 1991.
E. Brinksma, R. Alderen, R. Langerak, J. van de Lagemaat, and J. Tretmans, “A formal approach to conformance testing,” in Proceedings of the Second International Workshop on Protocol Test Systems, Elsevier Science Publishers B.V., 1990, pp. 349-363.
R.E. Bryant, “Graph-based algorithms for boolean function manipulation,” IEEE Transactions on Computers, Vol. 8, No. C-35, pp. 677–691, 1986.
R. Cardell-Oliver and T. Glover, “A practical and complete algorithm for testing real-time systems,” in Proceedings of 5th International Symposium, Formal Techniques in Real-Time and Fault-Tolerant Systems (FTRTFT'98), Vol. 1486 of Lecture Notes in Computer Science, Springer-Verlag, Lyngby, Denmark, Sept. 1998, pp. 251–261.
T.S. Chow, “Testing software design models by finite-state machines,” IEEE Transactions on Software Engineering, Vol. 4, No. 3, pp. 178–187, 1978.
T.H. Cormen, C.E. Leiserson, and R.L. Rivest, Introduction to Algorithms, MIT Press, 1997.
R.A. DeMillo, R.J. Lipton, and F.G. Sayward, “Hints on test data selection: Help for the practicing programmer,” IEEE Computer, Vol. 11, No. 4, pp. 34–41, 1978.
J.C. Godskesen, “Fault models for embedded systems,” in Proceedings of CHARME'99, Vol. 1703 of Lecture Notes in Computer Science, Springer-Verlag, Bad Herrenalb, Sept. 1999.
J.C. Godskesen, “Test generation for embedded systems with redirected inputs,” in Proceedings of WSEST'99, NIST, Gaithersburg, USA, Nov. 1999.
J.C. Godskesen, “Test generation for embedded systems with redirected outputs,” in Proceedings of HLDVT'99, San Diego, Nov. 1999.
J.C. Godskesen, “Two algorithms for generating tests for embedded systems,” in Proceedings of ISCIS'99, Kusadasi, Oct. 1999.
G.J. Holzmann, Design and Validation of Computer Protocols, Series in Computer Science, Prentice-Hall, Englewood Cliffs, NJ, 1991.
Z. Kohavi, Switching and Finite Automata Theory, McGraw-Hill, 1978.
D. Lee and M. Yannakakis, “Principles and methods of testing finite state machines-A survey,” Proceedings of the IEEE, Vol. 84, No. 8, 1996.
J. Lind-Nielsen, H.R. Andersen, G. Behrmann, H. Hulgaard, K. Kristoffersen, and K. Larsen, “Verification of large state/event systems using compositionality and dependency analysis,” in Proceedings of TACAS'98, Vol. 1384 of Lecture Notes in Computer Science, Springer-Verlag, Lisbon, Portugal, March-April 1998, pp. 201–216.
T.H. Madsen, “Generation of tests for embedded systems,” Technical Report (Masters Thesis), The Technical University of Denmark, Building 344, DK-2800 Lyngby, Denmark, Dec. 1999.
A. Petrenko and N. Yevtushenko, “Fault detection in embedded components,” in Proceedings of IFIP 10th International Workshop on Testing of Communicating Systems, Chapman & Hall, Cheju Island, Korea, Sept. 1997, pp. 272–287.
A. Petrenko, N. Yevtushenko, and G.V. Buchmann, “Fault models for testing in context,” in Proceedings of the First Joined International Conference on Formal Description Techniques for Distributed Systems and Communication Protocols and Protocol Specification, Testing and Verification (FORTE/PSTV'96), Chapman & Hall, University of Kaiserslautern, Department of Informatics, Oct. 1996, pp. 163-178.
J.G. Springintveld, F.W. Vaandrager, and P.R. D'Argenio, “Testing timed automata,” Technical Report CSI-R9712, Computing Science Institute, University of Nijmegen, Aug. 1997.
T.A. Sudkamp, Languages and Machines-An Introduction to the Theory of Computer Science, Addison-Wesley, 1988.
J. Tretmans, A Formal Approach to Conformance Testing, PhD thesis, University of Twente, 1992.
M.P. Vasilevskii, “Failure diagnosis of automata,” Kibernetika, Vol. 4, pp. 98–108, 1973.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Godskesen, J.C. Connectivity Testing. Formal Methods in System Design 25, 5–38 (2004). https://doi.org/10.1023/B:FORM.0000033961.36239.68
Issue Date:
DOI: https://doi.org/10.1023/B:FORM.0000033961.36239.68