What is GOTCHA?
GOTCHA is the tool kit’s engine for generating an abstract test suite for a finite state machine (FSM) driven by a coverage model. The finite state machine is described in a high level language for modeling concrete systems. Such systems may be hardware architectures or components, software systems, communication protocols, or other complex systems and processes. A test case is a sequence of stimuli for the model. The test suites generated by GOTCHA guarantee 100% coverage of the coverage model specified by the user. The GOTCHA prototype was developed for hardware architecture models but we have exploited it for modeling and testing software systems. The coverage models currently supported by GOTCHA are projected FSM state and transition coverage. The GOTCHA tool uses a variant of the hardware verification methodology introduced by R. C. Go, C. Han Yang, M. A. Horowitz and D. L. Dill . This methodology contains four basic phases: (1) describing the processor implementation control as a