Graph-Based Algorithms for Boolean Function Manipulation
IEEE Transactions on Computers
Concurrent programming: principles and practice
Concurrent programming: principles and practice
Documentation for safety critical software
ICSE '93 Proceedings of the 15th international conference on Software Engineering
ACM Transactions on Programming Languages and Systems (TOPLAS)
Model checking
Composite model-checking: verification with type-specific symbolic representations
ACM Transactions on Software Engineering and Methodology (TOSEM)
Symbolic Model Checking
Automatic Symbolic Verification of Embedded Systems
IEEE Transactions on Software Engineering
Model Checking Large Software Specifications
IEEE Transactions on Software Engineering
A Library for Composite Symbolic Representations
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Constraint-Based Verification of Client-Server Protocols
CP '01 Proceedings of the 7th International Conference on Principles and Practice of Constraint Programming
Delay Analysis in Synchronous Programs
CAV '93 Proceedings of the 5th International Conference on Computer Aided Verification
Proceedings of the 16th IEEE international conference on Automated software engineering
Specification, verification, and synthesis of concurrency control components
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Hi-index | 0.00 |
Composite Symbolic Library is a symbolic manipulator for model checking systems with heterogeneous data types. Our current implementation uses two basic symbolic representations: BDDs for boolean and enumerated variables, and polyhedra for (unbounded) integers. These basic representations are imported to the Composite Symbolic Library using a common interface and are combined using a disjunctive composite representation. In this paper, we present several heuristics for efficient manipulation of this composite representation. Our heuristics make use of the following observations: 1) efficient operations on BDDs can be used to mask expensive operations on polyhedra, 2) our disjunctive representation can be exploited by computing pre and post-conditions and subset checks incrementally, and 3) size of a composite representation can be minimized by iteratively merging matching constraints and removing redundant ones. We present experimental results that illustrate efficiency of our algorithms.