1. Type inference against races
- Author
-
Stephen N. Freund and Cormac Flanagan
- Subjects
Recursive data type ,Theoretical computer science ,Hindley–Milner type system ,Race conditions ,Programming language ,Computer science ,Type inference ,Inference ,020207 software engineering ,Type systems ,0102 computer and information sciences ,02 engineering and technology ,computer.software_genre ,01 natural sciences ,Data type ,Unit type ,010201 computation theory & mathematics ,0202 electrical engineering, electronic engineering, information engineering ,Algebraic data type ,Type class ,computer ,Software - Abstract
The 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.
- Full Text
- View/download PDF