Complexity of data structures in modern programs presents a challenge for current analysis and verification tools, forcing them to report false alarms or miss errors. I will describe a new approach for verifying programs with complex data structures. This approach builds on program analysis techniques, as well as decision procedures and theorem provers. The approach is based on specifying interfaces of data structures by writing procedure preconditions and postconditions in terms of abstract sets and relations. Our system then separately verifies that 1) each data structure conforms to its interface, 2) each data structure interface is used correctly, and 3) desired high-level application-specific invariants hold. The system verifies t...
Set constraints are relations between sets of terms. They have been used extensively in various app...
An important feature of object-oriented programming languages is the ability to dynamically instanti...
An important feature of object-oriented programming languages is the ability todynamically instantia...
Typestate systems ensure many desirable properties of imperativeprograms, including initialization o...
Data structures often use an integer variable to keep track of the number of elements they store. An...
Logics that involve collections (sets, multisets), and cardinality constraints are useful for reason...
Logics that involve collections (sets, multisets), and cardinality constraints are useful for reason...
We consider the problem of deciding the satisfiability of quantifier-freeformulas in the theory of f...
Abstract. Boolean Algebra with Presburger Arithmetic (BAPA) is a decidable logic that can express co...
Answer set programming (ASP) is a method for solving hard problems using computational logic. We des...
Abstract. We describe an algorithm for deciding the first-order multisorted theory BAPA, which combi...
AbstractA central feature of current object-oriented languages is the ability to dynamically instant...
Abstract. Set constraints are relations between sets of terms. They have been used extensively in va...
We describe an algorithm for deciding the first-order multisorted theory BAPA, which combines 1) Boo...
Abstract. We describe an algorithm for deciding the first-order multisorted theory BAPA, which combi...
Set constraints are relations between sets of terms. They have been used extensively in various app...
An important feature of object-oriented programming languages is the ability to dynamically instanti...
An important feature of object-oriented programming languages is the ability todynamically instantia...
Typestate systems ensure many desirable properties of imperativeprograms, including initialization o...
Data structures often use an integer variable to keep track of the number of elements they store. An...
Logics that involve collections (sets, multisets), and cardinality constraints are useful for reason...
Logics that involve collections (sets, multisets), and cardinality constraints are useful for reason...
We consider the problem of deciding the satisfiability of quantifier-freeformulas in the theory of f...
Abstract. Boolean Algebra with Presburger Arithmetic (BAPA) is a decidable logic that can express co...
Answer set programming (ASP) is a method for solving hard problems using computational logic. We des...
Abstract. We describe an algorithm for deciding the first-order multisorted theory BAPA, which combi...
AbstractA central feature of current object-oriented languages is the ability to dynamically instant...
Abstract. Set constraints are relations between sets of terms. They have been used extensively in va...
We describe an algorithm for deciding the first-order multisorted theory BAPA, which combines 1) Boo...
Abstract. We describe an algorithm for deciding the first-order multisorted theory BAPA, which combi...
Set constraints are relations between sets of terms. They have been used extensively in various app...
An important feature of object-oriented programming languages is the ability to dynamically instanti...
An important feature of object-oriented programming languages is the ability todynamically instantia...