Two features distinguish Java from other mainstream programming languages like C and C++: its builtin support for concurrency and safety guarantees such as type safety or safe execution in a sandbox. In this work, we ...
详细信息
Two features distinguish Java from other mainstream programming languages like C and C++: its builtin support for concurrency and safety guarantees such as type safety or safe execution in a sandbox. In this work, we build a formal, unifiedmodel of Java concurrency, validate it empirically, and analyse it with respect to the safety guarantees using a proof assistant. We show that type safety and Java's data race freedom guarantee hold. Our analysis, however, revealed a weakness in the Java security architecture, because the Java memory model theoretically allows pointer forgery. As a result, this work clarifies the specification of the Java memory model.
暂无评论