Theory of linear and integer programming
Theory of linear and integer programming
A practical algorithm for exact array dependence analysis
Communications of the ACM
Processor allocation and loop scheduling on multiprocessor computers
ICS '92 Proceedings of the 6th international conference on Supercomputing
Counting solutions to Presburger formulas: how and why
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Handling infinite temporal data
Selected papers of the 9th annual ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 22nd international conference on Software engineering
Proving Safety Properties of Infinite State Systems by Compilation into Presburger Arithmetic
CONCUR '97 Proceedings of the 8th International Conference on Concurrency Theory
An Automata-Theoretic Approach to Presburger Arithmetic Constraints (Extended Abstract)
SAS '95 Proceedings of the Second International Symposium on Static Analysis
A Comparison of Presburger Engines for EFSM Reachability
CAV '98 Proceedings of the 10th International Conference on Computer Aided Verification
Diophantine Equations, Presburger Arithmetic and Finite Automata
CAAP '96 Proceedings of the 21st International Colloquium on Trees in Algebra and Programming
Analytical computation of Ehrhart polynomials: enabling more compiler analyses and optimizations
Proceedings of the 2004 international conference on Compilers, architecture, and synthesis for embedded systems
Memory optimization by counting points in integer transformations of parametric polytopes
CASES '06 Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems
Don't care words with an application to the automata-based approach for real addition
Formal Methods in System Design
A generalization of Cobham's theorem to automata over real numbers
Theoretical Computer Science
LATA '09 Proceedings of the 3rd International Conference on Language and Automata Theory and Applications
Don't care words with an application to the automata-based approach for real addition
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Experiences with enumeration of integer projections of parametric polytopes
CC'05 Proceedings of the 14th international conference on Compiler Construction
Counting models in integer domains
SAT'06 Proceedings of the 9th international conference on Theory and Applications of Satisfiability Testing
Computing affine hulls over Q and Z from sets represented by number decision diagrams
CIAA'05 Proceedings of the 10th international conference on Implementation and Application of Automata
Integer affine transformations of parametric ℤ-polytopes and applications to loop nest optimization
ACM Transactions on Architecture and Code Optimization (TACO)
Hi-index | 0.01 |
The number decision diagram (NDD) has recently been introduced as a powerful representation system for sets of integer vectors. NDDs can notably be used for handling sets defined by arbitrary Presburger formulas, which makes them well suited for representing the set of reachable states of finite-state systems extended with unbounded integer variables. In this paper, we address the problem of counting the number of distinct elements in a set of numbers or, more generally, of vectors, represented by an NDD. We give an algorithm that is able to produce an exact count without enumerating explicitly the vectors, which makes it capable of handling very large sets. As an auxiliary result, we also develop an efficient projection method that allows to construct efficiently NDDs from quantified formulas, and thus makes it possible to apply our counting technique to sets specified by formulas. Our algorithms have been implemented in the verification tool LASH, and applied successfully to various counting problems.