Fault-tolerant Resource Reasoning

Authors

  • Gian Ntzik
  • Pedro da Rocha Pinto
  • Philippa Gardner

Abstract

Separation logic has been successful at verifying that programs do not crash due to illegal use of resources. The underlying assumption, however, is that machines do not fail. In practice, machines can fail unpredictably for various reasons, e.g. power loss, corrupting resources. Critical software, e.g. file systems, employ recovery methods to mitigate these effects. We introduce an extension of the Views framework to reason about such methods. We use concurrent separation logic as an instance of the framework to illustrate our reasoning, and explore programs using write-ahead logging, e.g. an ARIES recovery algorithm.

Venue

Proceedings of the 13th Asian Symposium on Programming Languages and Systems (APLAS’15), pp. 169–188

Publication Date

Dec 2015

Identifiers

Source Materials