The CleanJava language is a formal annotation language for Java to support Cleanroom-style functional program verification that views a program as a mathematical function from one program state to another. The CleanJava notation is based on the Java expression syntax with a few extensions, and thus its vocabulary is somewhat limited to that of Java. This often makes it difficult to specify the rich semantics of a Java program in a succinct and natural way that is easy to manipulate for formal correctness reasoning. In this paper we propose to make the CleanJava language more expressive by supporting user-defined mathematical functions that are introduced solely for the purpose of writing annotations. A user-defined function is written in a ...
1 Introduction The standard library of a programming language normally defines functions like equali...
A number of authors have suggested that AspectJ-like pointcut languages are too limited, and that th...
Formal techniques can help analyze programs, precisely describe program behavior, and verify program...
Unlike Hoare-style program verification, functional program verification supports forward reasoning...
Unlike a Hoare-style program verification, a functional program verification supports forward re...
In a Cleanroom-style functional program verification, a program is viewed as a mathematical functio...
Abstract—Unlike Hoare-style program verification, functional program verification supports forward r...
A recent trend in software development is building a precise model that can be used as a basis for t...
Formal program verification can be used as a complementary technique to software testing. It allows ...
Abstract. We introduce a direct encoding of the typed λ-calculus into Java: for any Java types A, B ...
The ability to annotate code and, in general, the capability to attach arbitrary meta-data to portio...
Abstract—This paper presents a novel approach to construct Java programs automatically from the inpu...
Annotations are a recent feature introduced in languages such as Java, C#, and other languages of th...
A function is a good way of specifying a computation since in each computation the result depends in...
The objective of this paper is twofold: first, we discuss the state of art on Java-like semantics, f...
1 Introduction The standard library of a programming language normally defines functions like equali...
A number of authors have suggested that AspectJ-like pointcut languages are too limited, and that th...
Formal techniques can help analyze programs, precisely describe program behavior, and verify program...
Unlike Hoare-style program verification, functional program verification supports forward reasoning...
Unlike a Hoare-style program verification, a functional program verification supports forward re...
In a Cleanroom-style functional program verification, a program is viewed as a mathematical functio...
Abstract—Unlike Hoare-style program verification, functional program verification supports forward r...
A recent trend in software development is building a precise model that can be used as a basis for t...
Formal program verification can be used as a complementary technique to software testing. It allows ...
Abstract. We introduce a direct encoding of the typed λ-calculus into Java: for any Java types A, B ...
The ability to annotate code and, in general, the capability to attach arbitrary meta-data to portio...
Abstract—This paper presents a novel approach to construct Java programs automatically from the inpu...
Annotations are a recent feature introduced in languages such as Java, C#, and other languages of th...
A function is a good way of specifying a computation since in each computation the result depends in...
The objective of this paper is twofold: first, we discuss the state of art on Java-like semantics, f...
1 Introduction The standard library of a programming language normally defines functions like equali...
A number of authors have suggested that AspectJ-like pointcut languages are too limited, and that th...
Formal techniques can help analyze programs, precisely describe program behavior, and verify program...