Statecharts: A visual formalism for complex systems
Science of Computer Programming
Automatic functional test generation using the extended finite state machine model
DAC '93 Proceedings of the 30th international Design Automation Conference
Reduction and slicing of hierarchical state machines
ESEC '97/FSE-5 Proceedings of the 6th European SOFTWARE ENGINEERING conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering
Discovering models of software processes from event-based data
ACM Transactions on Software Engineering and Methodology (TOSEM)
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Reverse Engineering and Design Recovery: A Taxonomy
IEEE Software
A heuristic search approach to solving the software clustering problem
A heuristic search approach to solving the software clustering problem
An empirical study of the robustness of two module clustering fitness functions
GECCO '05 Proceedings of the 7th annual conference on Genetic and evolutionary computation
Editorial: abstract state machines and high-level system design and analysis
Theoretical Computer Science - Abstract state machines and high-level system design and analysis
Generating Annotated Behavior Models from End-User Scenarios
IEEE Transactions on Software Engineering
On the Automatic Modularization of Software Systems Using the Bunch Tool
IEEE Transactions on Software Engineering
Clustering the heap in multi-threaded applications for improved garbage collection
Proceedings of the 8th annual conference on Genetic and evolutionary computation
Exploiting Network Structure for Active Inference in Collective Classification
ICDMW '07 Proceedings of the Seventh IEEE International Conference on Data Mining Workshops
Reverse Engineering State Machines by Interactive Grammar Inference
WCRE '07 Proceedings of the 14th Working Conference on Reverse Engineering
Search based hierarchy generation for reverse engineered state machines
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Complexity metrics for hierarchical state machines
SSBSE'11 Proceedings of the Third international conference on Search based software engineering
Hi-index | 0.00 |
State machines are a popular method of representing a system at a high level of abstraction that enables developers to gain an overview of the system they represent and quickly understand it. Several techniques have been developed to reverse engineer state machines from software, so as to produce a concise and up-to-date document of how a system works. However, the machines that are recovered are usually flat and contain a large number of states. This means that the abstract picture they are supposed to provide is often itself very complex, requiring effort to understand. This paper proposes the use of search-based clustering as a means of overcoming this problem. Clustering state machines opens up the possibility of recovering the structural hierarchy of a state machine, such that superstates may be identified. An evaluation study is performed using the Bunch search-based clustering tool, which demonstrates the usefulness of the approach.