2012
DOI: 10.1016/j.jcss.2011.08.002
| View full text |Cite
|
Sign up to set email alerts
|

Abstract: We show that verification of object-oriented programs by means of the assertional method can be achieved in a simple way by exploiting a syntax-directed transformation from object-oriented programs to recursive programs. This transformation suggests natural proofs rules and its correctness helps us to establish soundness and relative completeness of the proposed proof system. One of the difficulties is how to properly deal in the assertion language with the instance variables and aliasing. The discussed progra… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
24
0

Year Published

2013
2013
2014
2014

Publication Types

Select...
2
1

Relationship

3
0

Authors

Journals

citations
Cited by 16 publications
(24 citation statements)
references
References 25 publications
(32 reference statements)
0
24
0
Order By: Relevance
“…The features to which this transformational approach applies include failures and bounded arrays. Inheritance and dynamic binding have been addressed in [3]. These transformations allow us to treat object creation orthogonally to such features, and thereby indicates our approach scales up to modern languages.…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…The features to which this transformational approach applies include failures and bounded arrays. Inheritance and dynamic binding have been addressed in [3]. These transformations allow us to treat object creation orthogonally to such features, and thereby indicates our approach scales up to modern languages.…”
Section: Discussionmentioning
confidence: 99%
“…This completeness result however is based on the expressibility of the strongest postcondition in a weak second-order language which contains quantification over finite sequences. In [3] completeness for an object-oriented core language without object creation is proven assuming the standard interpretation of Peano arithmetic for the expressibility of the weakest precondition. We are not aware of any other completeness result based on weak arithmetic structures using only Presburger arithmetic and an assertion language which only contains quantification over basic types., i.e., integer, Boolean and Object.…”
Section: Introductionmentioning
confidence: 99%
“…We formalize stability with the help of the auxiliary array variable idx. 3 This variable should store for each index in the sorted array, the index of that element in the original input. For example, in Listing 1, directly after line 9, we add the assignment…”
Section: Correctness and Stabilitymentioning
confidence: 99%
“…But even without the conjunction rule, the proof system is relative complete [3], so it is always possible to avoid the conjunction rule.…”
Section: Remark 1 the Above Theorem Does Not Extend To Proofs That Usmentioning
confidence: 99%
“…The set of program variables consists of both local and global variables. For technical convenience, we restrict local variables to formal parameters (for a treatment of blocks, we refer to [9]). …”
Section: Types and Declarationsmentioning
confidence: 99%