We present a generic framework to transform a single-threaded operational semantics into a semantics with interleaved execution of threads. Threads can be dynamically created and use locks for synchronisation. They can suspend themselves, be notified by other threads again, and interact via shared memory. We formalised this in the proof assistant Isabelle/HOL along with theorems to carry type safety proofs for the instantiating semantics (progress and preservation in the style of Wright and Felleisen [24]) over to the multithreaded case, thereby investigating the role of deadlocks and giving an explicit formalisation for them. We apply this framework to the Java thread model using an extension of the Jinja [12] source code semantics to have...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
A structural operational semantics of a significant sublanguage of Java is presented, including the ...
none4siThe state of a concurrent object, intended as some abstraction over the values of the fields ...
The Java programming language provides safety and security guarantees such as type safety and its se...
Two features distinguish Java from other main-stream programming languages like C and C++: its built...
We present a machine-checked formalisation of the Java memory model and connect it to an operational...
Many concurrency models have been developed for high-level programming lan-guages such as Java. A tr...
AbstractThere are many mechanisms for concurrency control in high-level programming languages. In Ja...
Java has integrated multithreading to a far greater extent than most programming languages. It is ...
Java threads are synchronised through primitives based upon monitor concepts developed in the early ...
Abstract We provide a parametric framework for verifying safety properties of concurrent Java progra...
This paper presents a program logic for reasoning about multithreaded Java-like programs with concur...
AbstractThe current definition of the Java bytecode verifier, as well as the proposals to formalize ...
Besides the features of a class-based object-oriented language, Java integrates concurrency via its ...
The design of concurrent programs has a reputation for being difficult, and thus potentially dangero...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
A structural operational semantics of a significant sublanguage of Java is presented, including the ...
none4siThe state of a concurrent object, intended as some abstraction over the values of the fields ...
The Java programming language provides safety and security guarantees such as type safety and its se...
Two features distinguish Java from other main-stream programming languages like C and C++: its built...
We present a machine-checked formalisation of the Java memory model and connect it to an operational...
Many concurrency models have been developed for high-level programming lan-guages such as Java. A tr...
AbstractThere are many mechanisms for concurrency control in high-level programming languages. In Ja...
Java has integrated multithreading to a far greater extent than most programming languages. It is ...
Java threads are synchronised through primitives based upon monitor concepts developed in the early ...
Abstract We provide a parametric framework for verifying safety properties of concurrent Java progra...
This paper presents a program logic for reasoning about multithreaded Java-like programs with concur...
AbstractThe current definition of the Java bytecode verifier, as well as the proposals to formalize ...
Besides the features of a class-based object-oriented language, Java integrates concurrency via its ...
The design of concurrent programs has a reputation for being difficult, and thus potentially dangero...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
A structural operational semantics of a significant sublanguage of Java is presented, including the ...
none4siThe state of a concurrent object, intended as some abstraction over the values of the fields ...