Reversible programming: a case study of two string-matching algorithms

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

Documents

  • fulltext

    Final published version, 201 KB, PDF document

String matching is a fundamental problem in algorithm. This study examines the development and construction of two reversible string-matching algorithms: a naive string-matching algorithm and the Rabin-Karp algorithm. The algorithms are used to introduce reversible computing concepts, beginning from basic reversible programming techniques to more advanced considerations about the injectivization of the polynomial hash-update function employed by the Rabin-Karp algorithm. The results are two clean input-preserving reversible algorithms that require no additional space and have the same asymptotic time complexity as their classic irreversible originals. This study aims to contribute to the body of reversible algorithms and to the discipline of reversible programmin
Original languageEnglish
Title of host publicationProceedings 9th Workshop on Horn Clauses for Verification and Synthesis and 10th International Workshop on Verification and Program Transformation
EditorsGeoff W. Hamilton, Temesghen Kahsai, Maurizio Proietti
PublisherarXiv.org
Publication date2022
Pages1-13
DOIs
Publication statusPublished - 2022
Event9th Workshop on Horn Clauses for Verification and Synthesis and 10th International Workshop on Verification and Program Transformation - Munich, Germany
Duration: 3 Apr 20223 Apr 2022

Conference

Conference9th Workshop on Horn Clauses for Verification and Synthesis and 10th International Workshop on Verification and Program Transformation
LandGermany
ByMunich
Periode03/04/202203/04/2022
SeriesElectronic Proceedings in Theoretical Computer Science, EPTCS
Volume373
ISSN2075-2180

ID: 328380400