A JMM-Faithful Non-interference Calculus for Java
We present a calculus for establishing non-interference of several Java threads running in parallel. The proof system is built atop an implemented sequential Java Dynamic Logic calculus with 100% Java Card coverage. We present two semantic and one syntactic type of non-interference conditions to make reasoning efficient. In contrast to previous works in this direction, our method takes into full account the weak guarantees of the Java Memory Model concerning visibility and ordering of memory updates between threads.
Unable to display preview. Download preview PDF.
- 1.Ábrahám, E., de Boer, F.S., de Roever, W.-P., Steffen, M.: Inductive proof-outlines for monitors in Java. In: International Conference on Formal Methods for Open Object-based Distributed Systems (FMOODS) (2003); A longer version appeared as Software Technologie technical report TR-ST-03-1 (April 2003)Google Scholar
- 2.Ahrendt, W., Baar, T., Beckert, B., Bubel, R., Giese, M., Hähnle, R., Menzel, W., Mostowski, W., Roth, A., Schlager, S., Schmitt, P.H.: The KeY tool. Software and System Modeling (SoSysM), 1–42 (2004), Available at http://www.springerlink.com
- 4.Cenciarelli, P., Knapp, A., Reus, B., Wirsing, M.: An event-based structural operational semantics of multi-threaded Java. Formal Syntax and Semantics of Java, pp. 157–200. Springer, Heidelberg (1999)Google Scholar
- 5.Jones, C.B.: Development methods for computer programs including a notion of interference. PhD thesis, Oxford University (1981)Google Scholar
- 6.Java memory model and thread specification revision, Website at http://jcp.org/en/jsr/detail?id=133
- 7.KeY Project, Website at http://www.key-project.org
- 8.Lindholm, T., Yellin, F.: The Java Virtual Machine Specification. Addison-Wesley, Reading (1996)Google Scholar
- 10.Platzer, A.: An object-oriented dynamic logic with updates. Master’s thesis, Universität Karlsruhe (2004)Google Scholar