An interactive extension mechanism for reusing verified programs

  • Authors:
  • Sosuke Moriguchi;Takuo Watanabe

  • Affiliations:
  • Tokyo Institute of Technology;Tokyo Institute of Technology

  • Venue:
  • Proceedings of the 28th Annual ACM Symposium on Applied Computing
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Interactive theorem provers such as Coq are widely used for program verification. However, if one aims to, for example, add a simple feature to an already-verified program, it may require reconstructing the entire proof. In other words, building upon a verified program (a program with its accompanying proofs) while also maintaining its consistency is generally not an easy task. We propose a novel method to support the extension of verified programs by interactively modifying their definitions and proofs. We introduce ECoq, an extended version of Coq, which is equipped with a mechanism to help extend inductive types. When a type is modified, ECoq locates the corresponding areas requiring modification in the program and its proofs. Unfortunately, however, this can produce spurious modifications that may complicate the extension of large programs. Hence, we also introduce the concept of "correction candidates," which are used to reduce the number of spurious modifications semi-automatically.