2014
DOI: 10.1007/s10270-014-0446-9
| View full text |Cite
|
Sign up to set email alerts
|

Abstract: We present a fully abstract weakest precondition calculus and its integration with symbolic execution. Our assertion language allows both specifying and verifying properties of objects at the abstraction level of the programming language, abstracting from a specific implementation of object creation. Objects which are not (yet) created never play any role. The corresponding proof theory is discussed and justified formally by soundness theorems. The usage of the assertion language and proof rules is illustrated… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0

Year Published

2020
2020
2022
2022

Publication Types

Select...
3

Relationship

1
2

Authors

Journals

citations
Cited by 3 publications
(2 citation statements)
references
References 47 publications
0
2
0
Order By: Relevance
“…Using results from the paper [8], on the verification of object-oriented programs with classes and abstract object creation (but without footprints), the logic in this paper can be further extended in a straightforward manner to cover nearly the entire sequential subset of Java, including other failures and exceptions generated by other language features. That paper also showed how to mechanize proof rules for abstract object creation in the KeY system.…”
Section: Discussionmentioning
confidence: 99%
“…Using results from the paper [8], on the verification of object-oriented programs with classes and abstract object creation (but without footprints), the logic in this paper can be further extended in a straightforward manner to cover nearly the entire sequential subset of Java, including other failures and exceptions generated by other language features. That paper also showed how to mechanize proof rules for abstract object creation in the KeY system.…”
Section: Discussionmentioning
confidence: 99%
“…Such an explicit heap variable introduces a mismatch between the abstraction level of the programming language and its symbolic execution. On the other hand, in [18] we already formalized symbolic execution for abstract object creation in dynamic logic which, as in [8], does not involve an explicit heap variable. As such this formalization provides a promising basis for further extensions to object-oriented multithreaded programs, using the partial order reduction techniques as described in this paper.…”
Section: Object Orientationmentioning
confidence: 99%