Results 1 
5 of
5
Modelchecking higherorder programs with recursive types. An extended version available from http://wwwkb.is.s.utokyo.ac. jp/~koba/fjmc
, 2012
"... Abstract. Model checking of higherorder recursion schemes (HORS, for short) has been recently studied as a new promising technique for automated verification of higherorder programs. The previous HORS model checking could however deal with only simplytyped programs, so that its application was li ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
(Show Context)
Abstract. Model checking of higherorder recursion schemes (HORS, for short) has been recently studied as a new promising technique for automated verification of higherorder programs. The previous HORS model checking could however deal with only simplytyped programs, so that its application was limited to functional programs. To deal with a broader range of programs such as objectoriented programs and multithreaded programs, we extend HORS model checking to check properties of programs with recursive types. Although the extended model checking problem is undecidable, we develop a sound modelchecking algorithm that is relatively complete with respect to a recursive intersection type system and prove its correctness. Preliminary results on the implementation and applications to verification of objectoriented programs and multithreaded programs are also reported. 1
Semantic Types and Approximation for Featherweight Java
"... We consider semantics for the classbased objectoriented calculus Featherweight Java based upon approximation. We also define an intersection type assignment systems for this calculus and show that it is sound and complete, i.e. types are preserved under conversion. We establish the link with betwe ..."
Abstract
 Add to MetaCart
(Show Context)
We consider semantics for the classbased objectoriented calculus Featherweight Java based upon approximation. We also define an intersection type assignment systems for this calculus and show that it is sound and complete, i.e. types are preserved under conversion. We establish the link with between type assignment and the approximation semantics by showing an approximation result, which leads to a sufficient condition for headnormalisation and termination. We show the expressivity of our predicate system by defining an encoding of Combinatory Logic into our calculus. We show that this encoding preserves predicateability and also that our system characterises the normalising and strongly normalising terms for this encoding. We thus demonstrate that the great analytic capabilities of intersection types can be applied to the context of classbased object orientation.
Safe, Flexible Recursive Types for Featherweight Java
"... Abstract. This paper presents a type assignment system with recursive types for Featherweight Java, inspired by the work of Nakano. Nakano’s innovation consists in adding a modal type constructor which acts to control the folding of recursive types, resulting in a headnormalisation guarantee. Webui ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. This paper presents a type assignment system with recursive types for Featherweight Java, inspired by the work of Nakano. Nakano’s innovation consists in adding a modal type constructor which acts to control the folding of recursive types, resulting in a headnormalisation guarantee. Webuildonthisapproachbyintroducingasecondmodaltype constructorwhichpreventstheunfoldingoftypesincontextswheredoing so results in nontermination. Moreover our system inherits theflexibility of Nakano’s approach, allowing objectoriented features (such as binary methods) to be typed in a safe and intuitive way. The work described in this paper is preliminary, and no formal results are claimed. However, we conjecture that our type system enjoys strong normalisation and we motivate this by working through some apposite examples. 1
Functional Type Assignment for Featherweight Java To Rinus Plasmeijer, in honour of his 61st birthday
"... We consider functional type assignment for the classbased objectoriented calculus Featherweight Java. We start with an intersection type assignment systems for this calculus for which types are preserved under conversion. We then define a variant for which type assignment is decidable, and define ..."
Abstract
 Add to MetaCart
(Show Context)
We consider functional type assignment for the classbased objectoriented calculus Featherweight Java. We start with an intersection type assignment systems for this calculus for which types are preserved under conversion. We then define a variant for which type assignment is decidable, and define a notion of unification as well as a principal typeing algorithm. We show the expressivity of both our calculus and our type system by defining an encoding of Combinatory Logic into our calculus and showing that this encoding preserves typeability. We thus demonstrate that the great capabilities of functional types can be applied to the context of classbased object orientated programming.