Title :
Verification of Java programs in Coq
Author_Institution :
Dept. of Comput. Sci., R. Holloway, Univ. of London, London, UK
Abstract :
This paper is a research on functional interpretation of object-oriented programs in the intensional type theory with dependent record types and coercive subtyping. We are here simulating a type-theoretic model of Java programs in Coq. Representing a class and its interface-type, which declares a set of methods and their signatures for code reuse, as dependent record types, the type-theoretic encoding enjoys desirable subtyping relationships that correctly capture the important object-oriented features such as inheritance, subtype polymorphism and dynamic dispatch. Furthermore, since the model is given in the intensional type theory, machine-supported verification of Java programs can be done by proving specifications that is satisfied by Java programs in Coq with regard to the state of objects.
Keywords :
Java; inheritance; object-oriented programming; program verification; type theory; Coq; Java program verification; coercive subtyping; dependent record types; dynamic dispatch; inheritance; intensional type theory; interface-type; object-oriented programs; subtype polymorphism; Cognition; Computational modeling; Context; Java; Object oriented modeling; Programming; Unified modeling language;
Conference_Titel :
Computer Science and Electronic Engineering Conference (CEEC), 2010 2nd
Conference_Location :
Colchester
Print_ISBN :
978-1-4244-9029-5
DOI :
10.1109/CEEC.2010.5606499