Advertisement

Model Checking for String Problems

  • Milka Hutagalung
  • Martin Lange
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8476)

Abstract

Model checking is a successful technique for automatic program verification. We show that it also has the power to yield competitive solutions for other problems. We consider three computation problems on strings and show how the polyadic modal μ-calculus can define their solutions. We use partial evaluation on a model checking algorithm in order to obtain an efficient algorithm for the longest common substring problem. It shows good performance in practice comparable to the well-known suffix tree algorithm. Moreover, it has the conceptual advantage that it can be interrupted at any time and still deliver long common substrings.

Keywords

Model Check Transition System Tree Algorithm Partial Evaluation Hamiltonian Path 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Andersen, H.R.: A polyadic modal μ-calculus. Technical Report ID-TR: 1994-195, Dept. of Computer Science, Technical University of Denmark, Copenhagen (1994)Google Scholar
  2. 2.
    Axelsson, R., Lange, M.: Model checking the first-order fragment of higher-order fixpoint logic. In: Dershowitz, N., Voronkov, A. (eds.) LPAR 2007. LNCS (LNAI), vol. 4790, pp. 62–76. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  3. 3.
    Bieganski, P., Riedl, J., Cartis, J.V., Retzel, E.F.: Generalized suffix trees for biological sequence data: applications and implementation. In: Proc. 27th Hawaii Int. Conf. on System Sciences, vol. 5, pp. 35–44 (January 1994)Google Scholar
  4. 4.
    Bradfield, J., Stirling, C.: Modal mu-calculi. In: Blackburn, P., van Benthem, J., Wolter, F. (eds.) Handbook of Modal Logic: Studies in Logic and Practical Reasoning, vol. 3, pp. 721–756. Elsevier (2007)Google Scholar
  5. 5.
    Campos, R.A.C., Martínez, F.J.Z.: Batch source-code plagiarism detection using an algorithm for the bounded longest common subsequence problem. In: Proc. 9th Int. IEEE Conf. on Electrical Engineering, Computing Science and Automatic Control, CCE 2012, pp. 1–4. IEEE (2012)Google Scholar
  6. 6.
    Emerson, E.A., Clarke, E.M.: Characterizing correctness properties of parallel programs as fixpoints. In: de Bakker, J.W., van Leeuwen, J. (eds.) ICALP 1980. LNCS, vol. 85, pp. 169–181. Springer, Heidelberg (1980)CrossRefGoogle Scholar
  7. 7.
    Emerson, E.A., Clarke, E.M.: Using branching time temporal logic to synthesize synchronization skeletons. Science of Computer Programming 2(3), 241–266 (1982)CrossRefzbMATHGoogle Scholar
  8. 8.
    Emerson, E.A., Halpern, J.Y.: “Sometimes” and “not never” revisited: On branching versus linear time temporal logic. Journal of the ACM 33(1), 151–178 (1986)CrossRefzbMATHMathSciNetGoogle Scholar
  9. 9.
    Emerson, E.A., Jutla, C.S., Sistla, A.P.: On model checking for the μ-calculus and its fragments. TCS 258(1-3), 491–522 (2001)CrossRefzbMATHMathSciNetGoogle Scholar
  10. 10.
    Fagin, R.: Generalized first-order spectra and polynomial-time recognizable sets. Complexity and Computation 7, 43–73 (1974)MathSciNetGoogle Scholar
  11. 11.
    Gipp, B., Meuschke, N.: Citation pattern matching algorithms for citation-based plagiarism detection: greedy citation tiling, citation chunking and longest common citation sequence. In: Proc. 2011 ACM Symp. on Document Engineering, pp. 249–258. ACM (2011)Google Scholar
  12. 12.
    Gusfield, D.: Algorithms on Strings, Trees, and Sequences: Computer Science and Computational Biology. Cambridge University Press (1997)Google Scholar
  13. 13.
    Hirschberg, D.: A linear space algorithm for computing maximal common subsequences. Commun. ACM 18(6), 341–343 (1975)CrossRefzbMATHMathSciNetGoogle Scholar
  14. 14.
    Knaster, B.: Un théorèm sur les fonctions d’ensembles. Annals Soc. Pol. Math. 6, 133–134 (1928)zbMATHGoogle Scholar
  15. 15.
    Kozen, D.: Results on the propositional μ-calculus. TCS 27, 333–354 (1983)CrossRefzbMATHMathSciNetGoogle Scholar
  16. 16.
    Lange, M., Lozes, E.: Model checking the higher-dimensional modal μ-calculus. In: Proc. 8th Workshop on Fixpoints in Comp. Science, FICS 2012. Electr. Proc. In: Theor. Comp. Sc., vol. 77, pp. 39–46 (2012)Google Scholar
  17. 17.
    Oetsch, J., Pührer, J., Schwengerer, M., Tompits, H.: The system Kato: Detecting cases of plagiarism for answer-set programs. Theory and Practice of Logic Programming 10(4-6), 759–775 (2010)CrossRefzbMATHMathSciNetGoogle Scholar
  18. 18.
    Otto, M.: Bisimulation-invariant PTIME and higher-dimensional μ-calculus. Theor. Comput. Sci. 224(1–2), 237–265 (1999)zbMATHMathSciNetGoogle Scholar
  19. 19.
    Pnueli, A.: The temporal logic of programs. In: Proc. 18th Symp. on Foundations of Comp. Science, FOCS 1977, Providence, RI, USA, pp. 46–57. IEEE (1977)Google Scholar
  20. 20.
    Queille, J.P., Sifakis, J.: Specification and verification of concurrent systems in CESAR. In: Dezani-Ciancaglini, M., Montanari, U. (eds.) Programming 1982. LNCS, vol. 137, pp. 337–371. Springer, Heidelberg (1982)CrossRefGoogle Scholar
  21. 21.
    Storer, J.A.: Data Compression: Methods and Theory. Comp. Sci. Press (1988)Google Scholar
  22. 22.
    Sung, W.-K.: Algorithms in Bioinformatics: A Practical Approach. CRC Press (2009)Google Scholar
  23. 23.
    Tarski, A.: A lattice-theoretical fixpoint theorem and its application. Pacific Journal of Mathematics 5, 285–309 (1955)CrossRefzbMATHMathSciNetGoogle Scholar
  24. 24.
    Xiao, Y., Luk, R.W.P., Wong, K.F., Kwok, K.L.: Using longest common subsequence matching for chinese information retrieval. Journal of Chinese Language and Computing 15(1), 45–51 (2010)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Milka Hutagalung
    • 1
  • Martin Lange
    • 1
  1. 1.School of Electr. Eng. and Computer ScienceUniversity of KasselGermany

Personalised recommendations