We propose a conservative extension of the polymorphic lambda calculus (A5B ) as an intermediate language for compiling languages with name-based class and interface hierarchies. ...
This paper is a tutorial on performing formal specification and semi-automatic verification of Java programs with the formal software development tool KeY. This tutorial aims to fi...
"Java for the Beginning Programmer teaches Java to someone with absolutely no programming background. This book focuses on core programming topics such as variables, looping, ...
is a simple and elegant abstraction that allows concurrency to be expressed often through a relatively small rewrite of a sequential program. In the absence of side-effects, futur...
This chapter presents a dynamic denotational semantics of the Java programming language. This semantics covers almost the full range of the base language, excluding only concurrenc...