A sip of the Chalice

Azalea Raad, Sophia Drossopoulou
2011 Proceedings of the 13th Workshop on Formal Techniues for Java-Like Programs - FTfJP '11  
Chalice is a verification tool for object-based concurrent programs. It supports verification of functional properties of the programs as well as providing a deadlock prevention mechanism. It is built on Implicit Dynamic Frames, fractional permissions and permission transfer. Implicit Dynamic Frames have been formulated and proven sound using verification conditions and axiomatisation of the heap and stack. Verification in Chalice is specified in terms of weakest preconditions and havocing the
more » ... eap. In this paper we give a formalisation of the part of Chalice concerned with functional properties. We describe its operational semantics, Hoare logic and sketch the soundness proof. Our system is parametric with respect to the underlying assertion language. t::= CId prog ::= class class ::= CId → A × (FId → t) × (MId → meth) meth ::= void m (t x) (requires A ensures A) {e} e::= e;e | new CId() |
doi:10.1145/2076674.2076676 dblp:conf/ecoop/RaadD11 fatcat:txdl3jkmyfghtma7j6td7mj5yi