Statecharts: A visual formalism for complex systems
Science of Computer Programming
An Iterative Growing and Pruning Algorithm for Classification Tree Design
IEEE Transactions on Pattern Analysis and Machine Intelligence
The concurrency workbench: a semantics-based tool for the verification of concurrent systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Using Partial-Order Methods in the Formal Validation of Industrial Concurrent Programs
IEEE Transactions on Software Engineering - Special issue: best papers of the 1996 international symposium on software testing and analysis ISSTA'96
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
JMOCHA: a model checking tool that exploits design structure
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Algorithms for VLSI Physical Design Automation
Algorithms for VLSI Physical Design Automation
``Next'' Heuristic for On-the-Fly Model Checking
CONCUR '99 Proceedings of the 10th International Conference on Concurrency Theory
Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic
Logic of Programs, Workshop
Evolving Object-Oriented Designs with Refactorings
ASE '99 Proceedings of the 14th IEEE international conference on Automated software engineering
Hi-index | 0.00 |
Given a collection of connected components, it is often desired to cluster together parts of strong correspondence, yielding a hierarchical structure. We address the automation of this process and apply heuristics to battle the combinatorial and computational complexity. We define a cost function that captures the quality of a structure relative to the connections and favors shallow structures with a low degree of branching. Finding a structure with minimal cost is NP-complete. We present a greedy polynomial-time algorithm that approximates good solutions incrementally by local evaluation of a heuristic function. We argue for a heuristic function based on four criteria: the number of enclosed connections, the number of components, the number of touched connections and the depth of the structure. We report on an application in the context of formal verification, where our algorithm serves as a preprocessor for a temporal scaling technique, called "Next" heuristic [2]. The latter is applicable in reachability analysis and is included in a recent version of the Mocha model checking tool. We demonstrate performance and benefits of our method and use an asynchronous parity computer and an opinion poll protocol as case studies.