A complete mechanization of correctness of a string-preprocessing algorithm

  • Authors:
  • Milos Besta;Frank Stomp

  • Affiliations:
  • Department of Computer Science, Wayne State University, Detroit, MI;Department of Computer Science, Wayne State University, Detroit, MI

  • Venue:
  • Formal Methods in System Design
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

We report on mechanization of a correctness proof of a string-preprocessing algorithm. This preprocessing algorithm is employed in Boyer-Moore's pattern matching algorithm. The mechanization is carried out using the PVS system. The correctness proof being mechanized has been formulated in Linear Time Temporal Logic. It consists of fourteen lemmata which are related to safety properties and two additional lemmata dealing with liveness properties. The entire mechanization of the safety and liveness parts has been completed. Several small errors and omissions were found in the handwritten proof and corrected. Yet, the manual correctness proof of the string-preprocessing algorithm was found to satisfy the usual mathematical validity. We conclude that the string-preprocessing algorithm in Boyer-Moore's pattern matching algorithm, corrected a number of times because of flaws, does not contain any more undiscovered errors.