Advertisement

Programming and Computer Software

, Volume 36, Issue 3, pp 157–165 | Cite as

On one application of computations with oracle

  • A. P. Lisitsa
  • A. P. Nemytykh
Article

Abstract

Let P(d) be a program implementing a partial recursive function φ. Let \( \mathcal{O} \) P denote a function defined on the domain of function φ that maps an input data d 0 onto the path of computation of P on the input d 0. Let Q(p, d) be a program returning a value if and only if p = \( \mathcal{O} \) P (d), and let the value of the program be Q(\( \mathcal{O} \) P (d), d) = P(d). Program Q(p, d), which is totally absurd from the point of view of its practical computation on concrete input data, may be practically useful when it is analyzed by a metaprogram. It is shown in the paper how program Q(p, d) can be used for verification of a postcondition imposed on program P(d). The proposed method was tested on verification tasks for cache coherence protocols and other distributed computing systems.

Keywords

Entry Point Computation Tree Abnormal Termination Computation Path Verification Problem 
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.
    Lyalin, I.V., On Solution of Automaton Equations, Discrete Math., 2004, vol. 16, no. 2, pp. 104–116.MATHMathSciNetGoogle Scholar
  2. 2.
    Turchin, V.F., Refal-5: Programming Guide and Reference Manual, Holyoke, Massachusetts: New England, 1989. Electronic version: http://www.botik.ru/pub/local/scp/refal5/. 2000.
  3. 3.
    Lisitsa, A.P. and Nemytykh, A.P., Verification as a Parameterized Testing (Experiments with the SCP4 Supercompiler), Programmirovanie, 2007, no. 1, pp. 22–43 [Programming Comput. Software (Engl. Transl.), 2007, vol. 33, no. 1, pp. 14–23].Google Scholar
  4. 4.
    Lisitsa, A.P. and Nemytykh, A.P., Verification via Supercompilation, Int. J. Foundations Comput. Sci., 2008, vol. 19, no. 4, pp. 953–970.MATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Lisitsa, A.P. and Nemytykh, A.P., Verification of Parameterized Systems Using Supercompilation. A case study, Proc. of the Third Workshop on Applied Semantics (APPSEM05) Fraunchiemsee, Germany, Ludwig Maximillians Universitat Munchen, 2005. Accessible via: ftp://www.botik.ru/pub/local/scp/refal5/appsem-verification2005.ps.Google Scholar
  6. 6.
    Lisitsa, A.P. and Nemytykh, A.P., Verification as Specialization of Interpreters with Respect to Data, Proc. of the First Int. Workshop on Metacomputation in Russia, Pereslavl-Zalessky, 2008, pp. 94–112.Google Scholar
  7. 7.
    Lisitsa, A.P. and Nemytykh, A.P., Experiments on Verification via Supercompilation, 2007–2008. http://refal.botik.ru/protocols/.
  8. 8.
    Delzanno, G., Automatic Verification of Parameterized Cache Coherence Protocols, Lecture Notes in Computer Science (Proc. of the 12th Int. Conf. on Comput. Aided Verification), Berlin: Springer, 2000, vol. 1855, pp. 53–68.Google Scholar
  9. 9.
    Delzanno, G., Automatic Verification of Cache Coherence Protocols via Infinite-state Constraint-based Model Checking; http://www.disi.unige.it/person/DelzannoG/protocol.html.
  10. 10.
    Begin, L., The BABYLON Project: A Tool for Specification and Verification of Parameterized Systems to Benchmark Infinite-State Model Checkers; http://www.ulb.ac.be/di/ssd/lvbegin/CST/.
  11. 11.
    Jones, N.D., Gomard, C.K., and Sestoft, P., Partial Evaluation and Automatic Program Generation, Prentice Hall International, 1993.Google Scholar
  12. 12.
    Nemytykh, A.P., On the Place of Supercompilation inside Program Specialization, Proc. of the First Int. Workshop on Metacomputation in Russia, Pereslavl-Zalessky, 2008, pp. 131–144.Google Scholar
  13. 13.
    Turchin, V.F., The Concept of a Supercompiler, in ACM Transactions on Programming Languages and Systems, ACM, 1986, vol. 8, pp. 292–325.MATHCrossRefGoogle Scholar
  14. 14.
    Nemytykh, A.P., The Supercompiler SCP4: General Structure, Moscow: URSS, 2007.Google Scholar
  15. 15.
    Nemytykh, A.P., The Supercompiler SCP4: General Structure (extended abstract), Lecture Notes in Computer Science (Proc. of the Perspectives of System Informatics), Nerlin: Springer, 2003, vol. 2890, pp. 162–170. Accessible via: ftp://www.botik.ru/pub/local/scp/refal5/nemytykh-PSI03.ps.gz.Google Scholar
  16. 16.
    Nemytykh, A.P., The Supercompiler SCP4: General Structure, Programmnye sistemy: teoriya primenenie, 2004, vol. 1, pp. 448–485. Also available at ftp://ftp.botik.ru/pub/local/scp/refal5/GenStruct.ps.gz.Google Scholar
  17. 17.
    Nemytykh, A.P. and Turchin, V.F., The Supercompiler SCP4: Sources, On-line Demonstration, 2000. http://www.botik.ru/pub/local/scp/refal5/.
  18. 18.
    Korlyukov, A.V., Posobie po superkompilyatoru SCP4 (Manual on the Supercompiler SCP4), 1999; http://www.refal.net/supercom.htm.
  19. 19.
    Turchin, V.F., Turchin, D.V., Konyshev, A.P., and Nemytykh, A.P., Refal-5: Sources, Executable Modules, 2000. http://www.botik.ru/pub/local/scp/refal5/.
  20. 20.
    Delzanno, G., Automatic Verification of Parameterized Cache Coherence Protocols, 2000; ftp://ftp.disi.unige.it/person/DelzannoG/papers/ccp.ps.gz.
  21. 21.
    Emerson, E.A. and Kahlon, V., Rapid Parameterized Model Checking of Snoopy Cache Coherence Protocols, Lecture Notes in Computer Science (Proc. of the 9th Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems), Berlin: Springer, 2003, vol. 2619, pp. 114–159.Google Scholar
  22. 22.
    Martin, M.M.K., Token Coherence, Ph.D. Dissertation, University of Wisconsin, 2003; http://www.cis.uppen.edu/-milom/papers/milo-martin-phd.pdf.
  23. 23.
    Roychoudhury, A. and Ramakrishnan, I.V., Inductively Verifying Invariant Properties of Parameterized Systems, Automated Software Engineering, 2004, vol. 11, pp. 101–139.CrossRefGoogle Scholar
  24. 24.
    Fribourg, L., Petri Nets, Flat Languages and Linear Arithmetic, Proc. of the 9th Int. Workshop on Functional and Logic Programming, 2000, pp. 344–365.Google Scholar
  25. 25.
    Delzanno, G. and Bultan, T., Constraint-based Verification of Client-Server Protocols, Lecture Notes in Computer Science (Proc. of the 7th Int. Conf. on Principles and Practice of Constraint Programming), Berlin: Springer, 2001, vol. 2239, pp. 286–301.Google Scholar
  26. 26.
    Bennett, C.H., Logical Reversibility of Computation, IBM J. Res. Develop, 1973, vol. 17, pp. 525–532.MATHCrossRefMathSciNetGoogle Scholar
  27. 27.
    Lutz, Ch. and Derby, H., Janus: A Time-Reversible Language, Unpublished report, Ph.D. Dissertation, California Institute of Technology, 1982.Google Scholar
  28. 28.
    Klimov, Yu.A. and Orlov, A.Yu., XSG: Fair Language with Built-in Equality, Proc. of the First Int. Workshop on Metacomputation in Russia, Pereslavl-Zalessky, 2008, pp. 85–93.Google Scholar
  29. 29.
    Abramsky, S., A Structural Approach To Reversible Computation, Theor. Comput. Sci., 2005, vol. 347, no. 3, pp. 441–464.MATHCrossRefMathSciNetGoogle Scholar
  30. 30.
    Romanenko, A.Y., The Generation of Inverse Functions in Refal, Partial Evaluation and Mixed Computation, Bjørner, D., Ershov, A.P., and Jones, N.D., Eds., North-Holland, 1988, pp. 427–444.Google Scholar
  31. 31.
    Romanenko, A.Y., Inversion and Metacomputation, ACM SIGPLAN Notices, 1991, vol. 26, no. 9, pp. 12–22.CrossRefGoogle Scholar
  32. 32.
    Vitanyi, P., Time, Space, and Energy in Reversible Computing, Proc. of the 2nd Conf. on Computing frontiers, Ischia, Italy: ACM, 2005, pp. 435–444.CrossRefGoogle Scholar

Copyright information

© Pleiades Publishing, Ltd. 2010

Authors and Affiliations

  1. 1.The University of LiverpoolLiverpoolUK
  2. 2.Program Systems InstituteRussian Academy of SciencesPereslavl-Zalessky, Yaroslavskaya oblastRussia

Personalised recommendations