Abstract. Trees are useful data structures, but to design efficient parallel programs over trees is known to be more difficult than to do over lists. Although several important tre...
Interpolation is an important component of recent methods for program verification. It provides a natural and effective means for computing separation between the sets of ‘good...
Heartbeat protocols are used by distributed programs to ensure that if a process in a program terminates or fails, then the remaining processes in the program terminate. We presen...
Abstract—Key program interfaces are sometimes documented with usage examples: concrete code snippets that characterize common use cases for a particular data type. While such doc...
This paper describes the use of the reflective journal in a computer programming course at the University of South Australia. We describe rationale for the journal relating it to ...