A type system for preventing data races and deadlocks in the java virtual machine language: 1. - Pratibha Permandla; Michael Roberson; Chandrasekhar Boyapati (LCTES, 2007)