2010•Unpublished venueRequires access

Specifying generic Java programs

Alain Giorgetti, Claude Marché, Elena Tushkanova, Olga Kouchnarenko

Open publisher page 6 citations

Abstract

This work investigates the question of modular specification of generic Java classes and methods. We propose extensions to the Krakatoa Modeling Language, a part of the Why platform for proving that a Java or C program is a correct implementation of some specification. The new constructs we propose for the specification of generic Java programs are presented through two significant examples: the specification of the generic method for sorting arrays which comes from the java.util.Arrays class in the Java API, and the specification of the java.util.HashMap class defining a generic hash map and its use for memoization. The key features are the introduction of parametricity both for types and for theories and an instantiation relation between theories. We discuss soundness conditions and their verification.

About this research paper

What this paper is about

This work investigates the question of modular specification of generic Java classes and methods. We propose extensions to the Krakatoa Modeling Language, a part of the Why platform for proving that a Java or C program is a correct implementation of some specification. The new constructs we propose for the specification of generic Java programs are presented through two significant examples: the specification of the generic method for sorting arrays which comes from the java.util.Arrays class in the Java API, and the specification of the java.util.HashMap class defining a generic hash map and its use for memoization. The key features are the introduction of parametricity both for types and for theories and an instantiation relation between theories. We discuss soundness conditions and their verification.

Why it matters

OpenAlex reports 6 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

This work investigates the question of modular specification of generic Java classes and methods. We propose extensions to the Krakatoa Modeling Language, a part of the Why platform for proving that a Java or C program is a correct implementation of some specification. The new constructs we propose for the specification of generic Java programs are presented through two significant examples: the specification of the generic method for sorting arrays which comes from the java.util.Arrays class in the Java API, and the specification of the java.util.HashMap class defining a generic hash map and its use for memoization. The key features are the introduction of parametricity both for types and for theories and an instantiation relation between theories. We discuss soundness conditions and their verification.

Key concepts: Computer science, Programming language, Java Modeling Language, Generics in Java, Java annotation, Java, Scala, Soundness

Related papers

Back to paper searchBrowse research topicsOriginal source
Specifying generic Java programs — Research Paper | ScholarLens