Iterative Refinement of Reverse-Engineered Models by Model-Based Testing
FM '09 Proceedings of the 2nd World Congress on Formal Methods
A framework for the competitive evaluation of model inference techniques
Proceedings of the First International Workshop on Model Inference In Testing
Learning extended FSA from software: An empirical assessment
Journal of Systems and Software
Automated Comparison of State-Based Software Models in Terms of Their Language and Structure
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.00 |
Software behavior models play an important role in software development. They can be manually generated to specify the intended behavior of a system, or they can be reverse-engineered to capture the actual behavior of the system. Models may differ when they correspond to different versions of the system, or they may contain faults or inaccuracies. In these circumstances, it is important to be able to concisely capture the differences between models, a task that becomes increasingly challenging with complex models. This paper presents the PLTSDiff algorithm that addresses this problem. Given two state machines, the algorithm canidentify which states and transitions are different. This can be used to generate a `patch' with differences or to evaluate the extent of the differences between the machines. The paper also shows how the Precision and Recall measure can be adapted to quantify the similarity of two state machines.