Proceedings of the 13th Workshop on Formal Techniques for Java-Like Programs 2011
DOI: 10.1145/2076674.2076679
|View full text |Cite
|
Sign up to set email alerts
|

Coinductive big-step operational semantics for type soundness of Java-like languages

Abstract: We define a coinductive semantics for a simple Java-like language by simply interpreting coinductively the rules of a standard big-step operational semantics.We prove that such a semantics is sound w.r.t. the usual small-step operational semantics, and then prove soundness of a conventional nominal type system w.r.t. the coinductive semantics. From these two results, soundness of the type system w.r.t. the small-step semantics can be easily deduced.This new proposed approach not only opens up new possibilities… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
4
0

Year Published

2012
2012
2017
2017

Publication Types

Select...
2
1
1

Relationship

3
1

Authors

Journals

citations
Cited by 4 publications
(4 citation statements)
references
References 16 publications
0
4
0
Order By: Relevance
“…Xn=new C (v), abbreviated X = new C (v) with our convention, are objects. 1 We expect the result of evaluating a top-level expression to be closed, that is, with all references bound to existing labels. Values corresponding to cyclic objects as X=new C (X) are not valid expressions, but can be obtained as results of a method invocation, as shown in the previous examples.…”
Section: Formal Definitionmentioning
confidence: 99%
See 1 more Smart Citation
“…Xn=new C (v), abbreviated X = new C (v) with our convention, are objects. 1 We expect the result of evaluating a top-level expression to be closed, that is, with all references bound to existing labels. Values corresponding to cyclic objects as X=new C (X) are not valid expressions, but can be obtained as results of a method invocation, as shown in the previous examples.…”
Section: Formal Definitionmentioning
confidence: 99%
“…In comparison with the more foundational studies [1,2] on the use of coinductive big-step operational semantics of Java-like languages for proving type soundness properties, this paper is more focused on the challenge of extending object-oriented languages to support coinductive programming.…”
Section: Related Work and Conclusionmentioning
confidence: 99%
“…We show now an example which illustrates the difference with the approach in [Ancona 2011[Ancona , 2012[Ancona , 2014, where, in order to have soundness of the type system, non well-founded values (that is, values corresponding to infinite trees) were considered. In an imperative language, this would correspond to allowing heaps to have infinite domain, since the abstract structure of values can be recovered from the heap.…”
Section: An Imperative Java-like Languagementioning
confidence: 99%
“…In comparison with the more foundational studies [1,3] on the use of coinductive big-step operational semantics of Java-like languages for proving type soundness properties, the main contribution and aim of this paper is to propose a novel programming paradigm to support useful abstractions for the convenient creation and manipulation of cyclic data structures.…”
Section: Related Work and Conclusionmentioning
confidence: 99%