Matches in SemOpenAlex for { <https://semopenalex.org/work/W2141781819> ?p ?o ?g. }
Showing items 1 to 97 of
97
with 100 items per page.
- W2141781819 abstract "We present an assertion language for expressing properties of data structures. Its key features are constraints over arrays, multisets and integers which allow the specification of basic assertio ns, and rules, which allow the recursive specification of assertions. Thi s language can thus be used to define assertions to an arbitrary level of expressiveness, ranging from low-level properties of memory allocation, for example, to abstract properties of complex data structures such as AVL trees. The main result is a proof method for verification conditions arising from a program annotated with assertions. The method has two main components. First and foremost is an unfolding algorithm which works by reducing the recursive definitions so that a co n- straint proof may now be applied. Here we introduce a notion of coinduction which forms the basis for termination of the unfold- ing process. The second step is to reduce the constraints, which in general contain expressions involving all the three data ty pes of in- tegers, arrays and multisets, into a base constraint involv ing only integer constraints. Base constraints can then be dispense d with available solvers. We finally show via a small benchmark of classic examples that our proof method is practical. (Copyright notice will appear here once 'preprint' option i s removed.) on the structure of another pointer q. Conversely, there is also need to consider explicit aliasing information. For example, if q points to the third cell of an acyclic list p, and if a three-step traversal of p results in r, we would require that q = r. The most important challenge of all, however, is to capture abstract properties of data structures in such a way that the formal techniques are in tandem with the intuitive reasoning embodied in the user program. In this paper, we address these issues, amongst others, by fir st defining a language of array, multiset and integer expressio ns. The class of integer expressions includes both array elements and ar- ray indices. These basic formulas can describe basic and detailed properties about mutable heaps and pointers. We then embed this formalism in Constraint Logic Programming (CLP) so that CLP predicates can be used to describe recursive properties of data struc- tures. This formulation of recursion then provides for the s pecifica- tion of basic closure properties, amongst other properties . Further, because the CLP formalism has a well-understood logical reading, assertion predicates can be designed to represent abstract proper- ties of data structures. At the same time, low-level specific ations, such as pointer arithmetic or memory management operations, can be represented by the rich constraint language. In particul ar, our formalism supports a notion of separation (19) by simply using multiset constraints to specify that certain heaps do not in tersect. The main contribution is a proof method for CLP assertion pred- icates. We present an algorithm which is based on a standard notion of unfolding definitions. The main novelty is the use of left and right unfolding, augmented with a principle of coinduction which forms the basis for terminating the unfolding process. This unfold- ing process ultimately reduces the proof obligation to another that no longer contains (recursive) assertion predicates. That is, what remains is to prove a constraint. The secondary contribution is an algorithm for proving a con- straint. The algorithm reduces the proof of a constraint involving array, multiset and integer constraints, into a proof invol ving only integer constraints. The novelty in our approach is in how the ar- ray and multiset constraints are arithmetized, that is, con verted into equivalent integer constraints. At this point, the remaini ng proof obligation can be dispensed with standard constraint solvers. We finally argue, via examples, that our proof methodology is intuitive and expressive, and amenable to a practical implementa- tion. We show via a small benchmark of classic examples that our automatic proof method is in fact practical." @default.
- W2141781819 created "2016-06-24" @default.
- W2141781819 creator A5026203732 @default.
- W2141781819 creator A5058689103 @default.
- W2141781819 date "2007-01-01" @default.
- W2141781819 modified "2023-09-27" @default.
- W2141781819 title "Recursive Assertions for Data Structures" @default.
- W2141781819 cites W1508811155 @default.
- W2141781819 cites W1530164705 @default.
- W2141781819 cites W1552065586 @default.
- W2141781819 cites W1567479568 @default.
- W2141781819 cites W1574765160 @default.
- W2141781819 cites W185040143 @default.
- W2141781819 cites W1988441831 @default.
- W2141781819 cites W1991837261 @default.
- W2141781819 cites W2034104058 @default.
- W2141781819 cites W2045750726 @default.
- W2141781819 cites W2049524532 @default.
- W2141781819 cites W2063727779 @default.
- W2141781819 cites W2123995178 @default.
- W2141781819 cites W2137628566 @default.
- W2141781819 cites W2138245690 @default.
- W2141781819 cites W2147832077 @default.
- W2141781819 cites W260539 @default.
- W2141781819 cites W2911838076 @default.
- W2141781819 cites W2912166712 @default.
- W2141781819 cites W2913944636 @default.
- W2141781819 cites W3181441684 @default.
- W2141781819 cites W43953174 @default.
- W2141781819 hasPublicationYear "2007" @default.
- W2141781819 type Work @default.
- W2141781819 sameAs 2141781819 @default.
- W2141781819 citedByCount "0" @default.
- W2141781819 crossrefType "journal-article" @default.
- W2141781819 hasAuthorship W2141781819A5026203732 @default.
- W2141781819 hasAuthorship W2141781819A5058689103 @default.
- W2141781819 hasConcept C11413529 @default.
- W2141781819 hasConcept C118615104 @default.
- W2141781819 hasConcept C134306372 @default.
- W2141781819 hasConcept C140745168 @default.
- W2141781819 hasConcept C150202949 @default.
- W2141781819 hasConcept C162319229 @default.
- W2141781819 hasConcept C168773036 @default.
- W2141781819 hasConcept C199360897 @default.
- W2141781819 hasConcept C2524010 @default.
- W2141781819 hasConcept C2776036281 @default.
- W2141781819 hasConcept C2780069185 @default.
- W2141781819 hasConcept C31972630 @default.
- W2141781819 hasConcept C33923547 @default.
- W2141781819 hasConcept C40422974 @default.
- W2141781819 hasConcept C41008148 @default.
- W2141781819 hasConcept C42058472 @default.
- W2141781819 hasConcept C80444323 @default.
- W2141781819 hasConceptScore W2141781819C11413529 @default.
- W2141781819 hasConceptScore W2141781819C118615104 @default.
- W2141781819 hasConceptScore W2141781819C134306372 @default.
- W2141781819 hasConceptScore W2141781819C140745168 @default.
- W2141781819 hasConceptScore W2141781819C150202949 @default.
- W2141781819 hasConceptScore W2141781819C162319229 @default.
- W2141781819 hasConceptScore W2141781819C168773036 @default.
- W2141781819 hasConceptScore W2141781819C199360897 @default.
- W2141781819 hasConceptScore W2141781819C2524010 @default.
- W2141781819 hasConceptScore W2141781819C2776036281 @default.
- W2141781819 hasConceptScore W2141781819C2780069185 @default.
- W2141781819 hasConceptScore W2141781819C31972630 @default.
- W2141781819 hasConceptScore W2141781819C33923547 @default.
- W2141781819 hasConceptScore W2141781819C40422974 @default.
- W2141781819 hasConceptScore W2141781819C41008148 @default.
- W2141781819 hasConceptScore W2141781819C42058472 @default.
- W2141781819 hasConceptScore W2141781819C80444323 @default.
- W2141781819 hasLocation W21417818191 @default.
- W2141781819 hasOpenAccess W2141781819 @default.
- W2141781819 hasPrimaryLocation W21417818191 @default.
- W2141781819 hasRelatedWork W101868760 @default.
- W2141781819 hasRelatedWork W1492555329 @default.
- W2141781819 hasRelatedWork W1503635106 @default.
- W2141781819 hasRelatedWork W1517736112 @default.
- W2141781819 hasRelatedWork W1584488478 @default.
- W2141781819 hasRelatedWork W1803582651 @default.
- W2141781819 hasRelatedWork W1845749915 @default.
- W2141781819 hasRelatedWork W2004256601 @default.
- W2141781819 hasRelatedWork W2068901530 @default.
- W2141781819 hasRelatedWork W2109108509 @default.
- W2141781819 hasRelatedWork W2118384863 @default.
- W2141781819 hasRelatedWork W2145592794 @default.
- W2141781819 hasRelatedWork W2211800868 @default.
- W2141781819 hasRelatedWork W2254595632 @default.
- W2141781819 hasRelatedWork W2769915967 @default.
- W2141781819 hasRelatedWork W2801389184 @default.
- W2141781819 hasRelatedWork W2890954631 @default.
- W2141781819 hasRelatedWork W2912838080 @default.
- W2141781819 hasRelatedWork W2952183221 @default.
- W2141781819 hasRelatedWork W2953129388 @default.
- W2141781819 isParatext "false" @default.
- W2141781819 isRetracted "false" @default.
- W2141781819 magId "2141781819" @default.
- W2141781819 workType "article" @default.