gLTSdiff: a generalized framework for structural comparison of software behavior

Dennis Hendriks,Wytse Oortwijn
DOI: https://doi.org/10.1007/s10270-024-01239-0
2024-11-29
Software & Systems Modeling
Abstract:Structural comparison of state machine models – such as labeled transition systems and (extended) finite automata – is used for numerous applications, such as finding potential behavioral regressions in new software versions, evaluating the accuracy of different model learning algorithms, and fingerprinting software for security applications. The state-of-the-art LTSDiff structural comparison algorithm has limited assumptions, making it broadly applicable. However, representation-specific information is not taken into account, requiring adaptations to prevent sub-optimal or even invalid results. We introduce gLTSdiff, which generalizes and extends LTSDiff, allowing a wide range of state machine models to be compared, by recursively comparing over the structure of state and transition labels. Additional challenges that we faced while applying LTSDiff in industrial practice are also addressed by gLTSdiff, as it rewrites undesired difference patterns, supports comparison of any number of input models, and allows for an effort/quality trade-off. We formally define gLTSdiff, and make it available as an extensible open source library for structural model comparison. Using multiple large-scale industrial and open source case studies, we evaluate both its practical value and its various improvements.
computer science, software engineering
What problem does this paper attempt to address?