AbstractThe race condition checker rccjava uses a formal type system to statically identify potential race conditions in concurrent Java programs, but it requires programmer-supplied type annotations. This paper describes a type inference algorithm for rccjava. Due to the interaction of parameterized classes and dependent types, this type inference problem is NP-complete. This complexity result motivates our new approach to type inference, which is via reduction to propositional satisfiability. This paper describes our type inference algorithm and its performance on programs of up to 30,000 lines of code
Dynamically-typed languages allow faster software development by not posing the type constraints. St...
Concrete type-inference for statically typed object-oriented programming languages (e.g., Java, C++)...
Programmers are often interested in a way to write error-free programs, i.e. to avoid undesired beha...
Abstract. The race condition checker rccjava uses a formal type system to statically identify potent...
AbstractThe race condition checker rccjava uses a formal type system to statically identify potentia...
this report, I describe a limited form of that type system, and its polynomial-time algorithm. Two u...
AbstractWe present FindLocks, an approach for automatically proving the absence of data races in mul...
This paper presents a static race-detection analysis for multithreaded shared-memory programs, focus...
Concurrency is a requirement for much modern software, but the implementation of multithreaded algor...
Type inference is a key component of modern statically typed programming languages. It allows progra...
Type-checked object-oriented languages have typically been designed with extremely simple type syste...
This paper presents a new static type system for multithreaded programs; any well-typed program in o...
We consider type systems that combine universal types, recursive types, and object types. We study t...
Concrete type information is invaluable for program optimization. The determination of concrete type...
Java’s type system provides programmers with strong guarantees of type and memory safety, but there ...
Dynamically-typed languages allow faster software development by not posing the type constraints. St...
Concrete type-inference for statically typed object-oriented programming languages (e.g., Java, C++)...
Programmers are often interested in a way to write error-free programs, i.e. to avoid undesired beha...
Abstract. The race condition checker rccjava uses a formal type system to statically identify potent...
AbstractThe race condition checker rccjava uses a formal type system to statically identify potentia...
this report, I describe a limited form of that type system, and its polynomial-time algorithm. Two u...
AbstractWe present FindLocks, an approach for automatically proving the absence of data races in mul...
This paper presents a static race-detection analysis for multithreaded shared-memory programs, focus...
Concurrency is a requirement for much modern software, but the implementation of multithreaded algor...
Type inference is a key component of modern statically typed programming languages. It allows progra...
Type-checked object-oriented languages have typically been designed with extremely simple type syste...
This paper presents a new static type system for multithreaded programs; any well-typed program in o...
We consider type systems that combine universal types, recursive types, and object types. We study t...
Concrete type information is invaluable for program optimization. The determination of concrete type...
Java’s type system provides programmers with strong guarantees of type and memory safety, but there ...
Dynamically-typed languages allow faster software development by not posing the type constraints. St...
Concrete type-inference for statically typed object-oriented programming languages (e.g., Java, C++)...
Programmers are often interested in a way to write error-free programs, i.e. to avoid undesired beha...