Programming in parallel is an error-prone and complex task compounded by the lack of tool support for both programming and debugging. Recent advances in compiler-directed shared m...
Atomicity is a fundamental correctness property in multithreaded programs. This paper presents an algorithm for verifying atomicity via type inference. The underlying type system ...
Cormac Flanagan, Stephen N. Freund, Marina Lifshin
Abstract. A software product-line is a family of related programs. Each program is defined by a unique combination of features, where a feature is an increment in program functiona...
Roberto E. Lopez-Herrejon, Don S. Batory, William ...
Parallel programming is becoming an important cornerstone of general computing. In addition, type systems have significant impact on program analysis. In this paper, we demonstrat...
Interfaces as defined in the JAVA programming language can enhance both decoupling and comprehensibility of large code bases. Several researchers have pointed out this key role of...