A Master of Science thesis in Computer Engineering by Ayat Saleh entitled, "Incremental and Heuristic Algorithms for Deriving Adaptive Distinguishing Test Cases for Nondeterministic Finite State Machines," submitted in September 2017. Thesis advisor is Dr. Khaled El-Fakih. Soft and hard copy available.
Many methods are proposed for the construction of distinguishing test cases (DTCs) based on a specification given in the form of a Finite State Machine (FSM). In FSM-based testing, we have a black-box FSM Implementation Under Test (IUT) about which we lack some information, and we want to conclude this information by using the applied input sequences of DTCs to the IUT, then by observing the output responses to the applied input sequences final conclusions about the IUTare drawn. A DTC is adaptive if the next input of a DTC is selected based on the previously observed outputs. In this thesis, we propose an incremental approach, called Inc, for the construction of an adaptive DTC for a given set of states of a nondeterministic FSM. In addition, two heuristics are proposed for the derivation of adaptive DTCs. The first heuristic, called H, uses depth first search for a given fixed height while appropriately utilizing hashing to speed up the search for a DTC. The second heuristic, called Hc, is similar to the first; however, it uses a cost function for ordering the inputs to be considered while conducting the search. Comprehensive experiments are conducted, using both real and randomly generated FSMs, to assess the existence of DTCs and compare the performance of the proposed approaches. According to these experiments, in terms of execution time, Inc usually outperforms an existing non-incremental algorithm, called A, when a DTC does not exist. However, in contrary to the H and Hc methods, both A and Inc do not scale well for large size FSMs. Both H and Hc have comparable execution time; however, for large size FSMs, in terms of quality of obtained solutions (length of obtained DTC), usually Hc outperforms H.