AbstractThere are many mechanisms for concurrency control in high-level programming languages. In Java, the original mechanism for concurrency control, based on synchronized blocks, is lexically scoped. For more flexible control, Java 5 introduced non-lexical lock primitives on re-entrant locks.These operators may lead to run-time errors and unwanted behavior; e.g., taking a lock without releasing it, which could lead to a deadlock, or trying to release a lock without owning it. This paper develops a static type and effect system to prevent the mentioned lock errors for a formal, object-oriented calculus which supports non-lexical lock handling and exceptions.Based on an operational semantics, we prove soundness of the effect type analysis....
Abstract Confined types enforce a form of encapsulation stronger than what the standard Java typesys...
This paper presents a program logic for reasoning about multithreaded Java-like programs with concur...
AbstractDeadlocks are a common error in programs with lock-based concurrency and are hard to avoid o...
Many concurrency models have been developed for high-level programming lan-guages such as Java. A tr...
We present a generic framework to transform a single-threaded operational semantics into a semantics...
... programs; well-typed programs in our system are guaranteed to be free of data races and deadlock...
Concurrency is a requirement for much modern software, but the implementation of multithreaded algor...
Abstract. Concurrent data accesses in high-level languages like Java and C # are typically mediated ...
International audienceDeadlock analysis of multi-threaded programs with reentrant locks is complex b...
This paper presents a verification technique for a concurrent Java-like language with reentrant lock...
AbstractThe current definition of the Java bytecode verifier, as well as the proposals to formalize ...
Abstract. This paper presents a verification technique for a concurrent Java-like language with reen...
Transactions are a high-level alternative for low-level concurrencycontrol mechanisms such as locks,...
A structural operational semantics of a significant sublanguage of Java is presented, including the ...
Proving the correctness of multi-threaded programs is a challenge. To meet this challenge Hurlin rec...
Abstract Confined types enforce a form of encapsulation stronger than what the standard Java typesys...
This paper presents a program logic for reasoning about multithreaded Java-like programs with concur...
AbstractDeadlocks are a common error in programs with lock-based concurrency and are hard to avoid o...
Many concurrency models have been developed for high-level programming lan-guages such as Java. A tr...
We present a generic framework to transform a single-threaded operational semantics into a semantics...
... programs; well-typed programs in our system are guaranteed to be free of data races and deadlock...
Concurrency is a requirement for much modern software, but the implementation of multithreaded algor...
Abstract. Concurrent data accesses in high-level languages like Java and C # are typically mediated ...
International audienceDeadlock analysis of multi-threaded programs with reentrant locks is complex b...
This paper presents a verification technique for a concurrent Java-like language with reentrant lock...
AbstractThe current definition of the Java bytecode verifier, as well as the proposals to formalize ...
Abstract. This paper presents a verification technique for a concurrent Java-like language with reen...
Transactions are a high-level alternative for low-level concurrencycontrol mechanisms such as locks,...
A structural operational semantics of a significant sublanguage of Java is presented, including the ...
Proving the correctness of multi-threaded programs is a challenge. To meet this challenge Hurlin rec...
Abstract Confined types enforce a form of encapsulation stronger than what the standard Java typesys...
This paper presents a program logic for reasoning about multithreaded Java-like programs with concur...
AbstractDeadlocks are a common error in programs with lock-based concurrency and are hard to avoid o...