posted on 2012-07-04, 14:26authored byKirill Bogdanov, Neil Walkinshaw
Software behaviour models play an important role in software development. They can be manually generated to specify the intended behaviour of a system, or they can be reverse-engineered to capture the actual behaviour 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 can identify 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.
History
Citation
Reverse Engineering, 2009, (WCRE '09), 16th Working Conference on, pp. 177-186 (10)
Author affiliation
/Organisation/COLLEGE OF SCIENCE AND ENGINEERING/Department of Computer Science
Source
16th Working Conference on Reverse Engineering, Lille, France, 13-16 October 2009
Version
AM (Accepted Manuscript)
Published in
Reverse Engineering
Publisher
Institute of Electrical and Electronics Engineers (IEEE) Computer Society