Searcharxiv⌕ Search

arXiv subjects

Nisansala P. Yatapanage

Publications and source records attributed to Nisansala P. Yatapanage.

3 recordsLinked to original sources

The Complexity of Interference: When Rely/Guarantee Does Not Work

Rely/Guarantee is a well-known verification technique for reasoning about concurrent programs. However, for some algorithms, devising suitable rely and guarantee conditions is challenging, due to the strong interference exhibited in these algorithms. The Ben-Ari concurrent garbage collector is an algorithm where the complex interactions between the components prevent the construction of compositional rely and guarantee conditions. This paper investigates an approach for verifying the Ben-Ari algorithm, which enables reasoning to be performed in a more compositional manner in cases where compositional reasoning would not otherwise be possible. This is accomplished by reasoning that a given property holds for all instances of a particular variable and then instantiating the variable to the local variable required. As well as providing a reasoning approach which is more compositional, the result is the identification of the core property required of a component, thus enabling a deeper understanding about the reasons why the algorithm works correctly. This helps to reveal the reasons why the rely/guarantee approach does not work directly for some problems.

cs.LO↗

Using Rely/Guarantee to Pinpoint Assumptions underlying Security Protocols

The verification of security protocols is essential, in order to ensure the absence of potential attacks. However, verification results are only valid with respect to the assumptions under which the verification was performed. These assumptions are often hidden and are difficult to identify, making it unclear whether a given protocol is safe to deploy into a particular environment. Rely/guarantee provides a mechanism for abstractly reasoning about the interference from the environment. Using this approach, the assumptions are made clear and precise. This paper investigates this approach on the Needham-Schroeder Public Key protocol, showing that the technique can effectively uncover the assumptions under which the protocol can withstand attacks from intruders.

cs.LO↗

Rely/Guarantee, Refinement and the ABA Problem: Part 1

Rely/guarantee reasoning provides a compositional way of reasoning about concurrency. The ABA problem occurs in many non-blocking concurrent data structures, where a change made by a concurrent process may be undetected by other processes. Guarantee conditions provide a useful mechanism for reasoning about such changes, as is demonstrated by two non-blocking examples, the Treiber stack and the Herlihy-Wing queue. The ABA problem can be identified by the program making a step where the before and after states do not correspond to a valid step at the sequential level. Therefore, such invalid behaviour relates to a failure of the guarantee condition. As such behaviour is non-linearisable, this suggests a strong relationship between refinement with rely/guarantee and linearisability.

cs.LO↗