Implementing sequential and parallel programs for the homing sequence problem
Homing sequences play an important role in the testing of finite state systems and have been used in a number of applications such as hardware fault-detection , protocol verification , and learning algorithms [11, 3, 1] etc. Here we present a parallel program implementation that finds a homing sequence for an input DFA. Our program can handle randomly generated instances with millions of states, and all DFA's with thousand states. In addition to the design, analysis and implementation of the algorithm, we also discuss what constitute good test cases to test programs that deal with finite automata.
KeywordsParallel Algorithm Parallel Program Random Model Finite Automaton Sequential Algorithm
Unable to display preview. Download preview PDF.
- 1.M. A. Bender and D. K. Slonim, “The power of team exploration: Two robots can learn unlabeled directed graphs”, 35th Annual IEEE Symposium on Foundations of Computer Science, pp. 75–85 (1994).Google Scholar
- 2.G. Blelloach and J. Harwick, “Class Notes: Programming Parallel Algorithms”, Technical Report CMU-CS-93-115, Carnegie Mellon University.Google Scholar
- 3.Y. Freund, M. Kearns, D. Ron, R. Rubinfeld, R. Schapire and L. Sellie, “Efficient Learning of typical automata from random walks”, Proc. of 25th Annual ACM Symposium on Theory of Computing, pp. 315–324 (1993).Google Scholar
- 4.G. Holzmann, Design and validation of protocols, Englewood Cliffs, NJ, Prentice-Hall (1990).Google Scholar
- 5.Z. Kohavi, Switching and Finite Automata Theory, McGraw-Hill Publishers Inc. Second Edition (1978).Google Scholar
- 6.E. F. Moore, “Gedanken-experiments on sequential machines”, pp. 129–153, Automata Studies, Ed: McCarthy and Shannon, Princeton University Press, Princeton, NJ (1956).Google Scholar
- 7.I. Pomeranz and S. Reddy, “Application of homing sequences in the fault-detection of sequential circuits, IEEE Transactions on Computers, (1994).Google Scholar
- 8.B. Ravikumar, “Performance bounds of algorithms for testing automata”, (in preparation).Google Scholar
- 9.B. Ravikumar and X. Xiong, “A parallel algorithm for minimization of finite automata”, in the Proceedings of the 10th International Parallel Processing Symposium (IPPS '96), Honolulu, Hawaii, April 1996, pages 187–191.Google Scholar
- 10.B. Ravikumar and X. Xiong, “Randomized parallel algorithms for the homing sequence problem”, to appear in the International Conference on Parallel Processing (ICPP'96), Bloomingdale, Illinois, August 1996.Google Scholar
- 11.R. L. Rivest and R. E. Schapire, “Inference of finite automata using homing sequences”, Information and Computation, vol. 103, pp. 299–347, (1993).Google Scholar
- 12.A. Tridgell and R.P. Brent, “An Implementation of a General-Purpose Parallel Sorting Algorithm”, Report TR-CS-93-01, Computer Science Laboratory, Australian National University, February, 1993.Google Scholar