PulseExploreJournal ClubDebatesTrendingResearchersJournals
Instagram
HomeExploreJournal ClubTrending
Synapse
⌘+K
Synapse
January 1, 1996Proceedings of the IEEE1,225 citations

Principles and methods of testing finite state machines-a survey

View Full Paper
DLD. LeeMYMihalis Yannakakis

Key Points

  • Review the fundamental principles, historical evolution, and state-of-the-art algorithmic techniques for testing finite state machines across digital hardware and communication systems.
  • Conducted a comprehensive technical review tracing finite state machine testing literature from its origin in 1950s automata theory to contemporary applications.
  • Analyzed methods for deducing internal machine behavior by injecting input sequences and observing output responses.
  • Evaluated testing frameworks across sequential circuits, software systems, and communication protocol conformance testing.
  • Identified that modern communication protocol conformance testing has revitalized the field and led to the resolution of long-standing open problems.
  • Demonstrated that input-output sequence deduction remains the primary mechanism for detecting behavioral faults and verifying specification compliance.
  • Categorized algorithmic extensions and emerging testing strategies developed to handle increasingly complex and large-scale computational systems.

Abstract

With advanced computer technology, systems are getting larger to fulfill more complicated tasks: however, they are also becoming less reliable. Consequently, testing is an indispensable part of system design and implementation; yet it has proved to be a formidable task for complex systems. This motivates the study of testing finite stare machines to ensure the correct functioning of systems and to discover aspects of their behavior. A finite state machine contains a finite number of states and produces outputs on state transitions after receiving inputs. Finite state machines are widely used to model systems in diverse areas, including sequential circuits, certain types of programs, and, more recently, communication protocols. In a testing problem we have a machine about which we lack some information; we would like to deduce this information by providing a sequence of inputs to the machine and observing the outputs produced. Because of its practical importance and theoretical interest, the problem of testing finite state machines has been studied in different areas and at various times. The earliest published literature on this topic dates back to the 1950's. Activities in the 1960's mid early 1970's were motivated mainly by automata theory and sequential circuit testing. The area seemed to have mostly died down until a few years ago when the testing problem was resurrected and is now being studied anew due to its applications to conformance testing of communication protocols. While some old problems which had been open for decades were resolved recently, new concepts and more intriguing problems from new applications emerge. We review the fundamental problems in testing finite state machines and techniques for solving these problems, tracing progress in the area from its inception to the present and the stare of the art. In addition, we discuss extensions of finite state machines and some other topics related to testing.

Ask AI
Helpful
Bookmark
Share
View Full Paper

Cite This Study

Lee et al. (1996) studied this question.

synapsesocial.com/papers/69d780c0f44a16d01ef31853https://doi.org/10.1109/5.533956
Ask AI
Helpful
Bookmark
Share
View Full Paper