What are race conditions?: Some issues and formalizations
ACM Letters on Programming Languages and Systems (LOPLAS)
ACM Computing Surveys (CSUR)
A parameterized type system for race-free Java programs
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A Theory of Objects
The Java Language Specification
The Java Language Specification
Ownership types for safe programming: preventing data races and deadlocks
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A lambda calculus of objects and method specialization
Nordic Journal of Computing
ESOP '99 Proceedings of the 8th European Symposium on Programming Languages and Systems
An Object Calculus for Asynchronous Communication
ECOOP '91 Proceedings of the European Conference on Object-Oriented Programming
CONCUR '99 Proceedings of the 10th International Conference on Concurrency Theory
Formalizing Object-Oriented Models in the Object Calculus
ECOOP '97 Proceedings of the Workshops on Object-Oriented Technology
Static Analyses for Eliminating Unnecessary Synchronization from Java Programs
SAS '99 Proceedings of the 6th International Symposium on Static Analysis
Abstract Interpretation of an Object Calculus for Synchronization Optimizations
Fundamenta Informaticae - Concurrency Specification and Programming (CS&P 2004)
Hi-index | 0.00 |
In this paper we investigate the use of abstract interpretation techniques for statically preventing race conditions. To this purpose we enrich the concurrent object calculus concζ by annotating terms with the set of "locks" owned at any time. We use an abstract form of the object calculus to check the absence of race conditions. We show that abstract interpretation is more flexible than type analyses, and it allows to certify as "race free" a larger class of programs.