A filtering algorithm for constraints of difference in CSPs
AAAI '94 Proceedings of the twelfth national conference on Artificial intelligence (vol. 1)
Assignment Commands with Array References
Journal of the ACM (JACM)
Fast Decision Procedures Based on Congruence Closure
Journal of the ACM (JACM)
Simplification by Cooperating Decision Procedures
ACM Transactions on Programming Languages and Systems (TOPLAS)
An Open-Ended Finite Domain Constraint Solver
PLILP '97 Proceedings of the9th International Symposium on Programming Languages: Implementations, Logics, and Programs: Including a Special Trach on Declarative Programming Languages in Education
A CLP Framework for Computing Structural Test Data
CL '00 Proceedings of the First International Conference on Computational Logic
Logic programming in the context of multiparadigm programming: the Oz experience
Theory and Practice of Logic Programming
Efficient and Safe Global Constraints for Handling Numerical Constraint Systems
SIAM Journal on Numerical Analysis
Constraint-Based Local Search
Symbolic execution of floating-point computations: Research Articles
Software Testing, Verification & Reliability
Model-based Theory Combination
Electronic Notes in Theoretical Computer Science (ENTCS)
Structural Testing of Executables
ICST '08 Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation
Decision Procedures: An Algorithmic Point of View
Decision Procedures: An Algorithmic Point of View
Automated Test Generation and Verified Software
Verified Software: Theories, Tools, Experiments
CPBPV: A Constraint-Programming Framework for Bounded Program Verification
CP '08 Proceedings of the 14th international conference on Principles and Practice of Constraint Programming
Efficient constraint propagation engines
ACM Transactions on Programming Languages and Systems (TOPLAS)
Lemmas on demand for the extensional theory of arrays
SMT '08/BPR '08 Proceedings of the Joint Workshops of the 6th International Workshop on Satisfiability Modulo Theories and 1st International Workshop on Bit-Precise Reasoning
Modelling dynamic memory management in constraint-based testing
Journal of Systems and Software
Annals of Mathematics and Artificial Intelligence
Test Selection Strategies for Lustre Descriptions in GATeL
Electronic Notes in Theoretical Computer Science (ENTCS)
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
Efficient satisfiability modulo theories via delayed theory combination
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
An alternative to SAT-Based approaches for bit-vectors
TACAS'10 Proceedings of the 16th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Hi-index | 0.00 |
Arrays are ubiquitous in the context of software verification. However, effective reasoning over arrays is still rare in CP, as local reasoning is dramatically ill-conditioned for constraints over arrays. In this paper, we propose an approach combining both global symbolic reasoning and local filtering in order to solve constraint systems involving arrays (with accesses, updates and size constraints) and finite-domain constraints over their elements and indexes. Our approach, named fdcc, is based on a combination of a congruence closure algorithm for the standard theory of arrays and a CP solver over finite domains. The tricky part of the work lies in the bi-directional communication mechanism between both solvers. We identify the significant information to share, and design ways to master the communication overhead. Experiments on random instances show that fdcc solves more formulas than any portfolio combination of the two solvers taken in isolation, while overhead is kept reasonable.