Correctness-by-Construction in Stringology
نویسنده
چکیده
Correctness-by-construction (CbC) is an algorithm derivation technique in which the algorithm is co-developed with its correctness proof. Starting with a specification (most often as a preand post-condition), ‘derivation steps’ are made towards a final algorithm. Critically, each step in the derivation is a correctness-preserving one, meaning that the composition of the derivation steps is the correctness proof. In this talk, I will present several stringological derivations to illustrate the usefulness of CbC – with a particular focus on exploratory algorithmics (see [10] for an example of a new CbC-derived algorithm) and weak points of other algorithm derivations. Correctness proofs in stringology algorithms (and in related fields such as compression and arbology) are particularly important for a few reasons:
منابع مشابه
Using Correctness-by-Construction to Derive Dead-zone Algorithms
We give a derivation, in the form of a stepwise (refinement-oriented) presentation, of a family of algorithms for single keyword pattern matching, all based on the so-called dead-zone algorithm-style, in which input text parts are tracked as either unprocessed (‘live’), or processed (‘dead’). Such algorithms allow for Boyer-Moore-style shifting in the input in two directions (left and right) in...
متن کاملA New Family of String Pattern Matching Algorithms
Even though the eld of pattern matching has been well studied, there are still many interesting algorithms to be discovered. In this paper, we present a new family of single keyword pattern matching algorithms. We begin by deriving a common ancestor algorithm, which na vely solves the problem. Through a series of correctness preserving predicate strengthenings, and implementation choices, we d...
متن کاملEfficiency of AC-Machine and SNFA in Practical String Matching
A note on practical experience with on Aho-Corasick-machine and SNFA (Searching NFA) estimating the construction aspects and run cost. It is shown that SNFA can be more practical than AC-machine.
متن کاملDismantling DivSufSort
We give the first concise description of the fastest known suffix sorting algorithm in main memory, the DivSufSort by Yuta Mori. We then present an extension that also computes the LCP-array, which is competitive with the fastest known LCParray construction algorithm.
متن کاملAn Early-Retirement Plan for the States
New applications of nite automata, such as NLP and asynchronous circuit simulation, can require automata of millions or even billions of states. All known construction methods (in particular, the interesting reachability-based ones that save memory, such as the subset construction, and simultaneously minimizing constructions, such as Brzozowski's) have intermediate memory usage much larger than...
متن کامل