Programming and Computer Software

, Volume 38, Issue 5, pp 231–244 | Cite as

Higher-level supercompilation as a metasystem transition

Article
  • 70 Downloads

Abstract

Issues related to metasystem transitions in the context of supercompilation are discussed. Manifestations of the law of branching growth of the penultimate level in the case of higher-level supercompilation are considered. Based on this law, some approaches to the construction of metasystems by combining supercompilers are proposed. In particular, the usefulness of multi-result supercompilation for proving the equivalence of expressions and for two-level supercompilation is shown.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Turchin, V.F., The Language Refal: The Theory of Compilation and Metasystem Analysis, New York: New York Univ., Department of Computer Sci., Courant Inst. of Math. Sci., 1980.Google Scholar
  2. 2.
    Turchin, V.F., The Concept of a Supercompiler, ACM Trans. Program. Lang. Syst., 1986, vol. 8, no. 3, pp. 292–325.MathSciNetMATHCrossRefGoogle Scholar
  3. 3.
    Turchin, V., Metacomputation: Metasystem Transitions plus Supercompilation Partial Evaluation, Lect. Notes Comput. Sci., 1996, vol. 1110, pp. 481–509.CrossRefGoogle Scholar
  4. 4.
    Turchin, V.F., The Phenomenon of Science: A Cybernetic Approach to Human Evolution, New York: Columbia Univ. Press, 1977.Google Scholar
  5. 5.
    Turchin, V., Program Transformation with Meta-System Transitions, J. Funct. Program., 1993, vol. 3, no. 3, pp. 283–313.MathSciNetCrossRefGoogle Scholar
  6. 6.
    Turchin, V.F., A Supercompiler System Based on the Language REFAL, SIGPLAN Not., 1979, vol. 14, no. 2, pp. 46–54.CrossRefGoogle Scholar
  7. 7.
    Turchin, V.F., Nirenberg, R.M., and Turchin, D.V., Experiments with a Supercompiler, LFP’82: Proc. 1982 ACM Symp. on LISP and Functional Programming, New York, NY, USA: ACM, 1982, pp. 47–55.CrossRefGoogle Scholar
  8. 8.
    Nemytykh, A.P. and Pinchuk, V.A., Program Transformation with Metasystem Transitions: Experiments with a Supercompiler, Lect. Notes Comput. Sci., 1996, pp. 249–260.Google Scholar
  9. 9.
    Sørensen, M.H., Turchin’s Supercompiler Revisited: An Operational Theory of Positive Information Propagation, Master’s Thesis, Copenhagen: Dept. of Computer Science, Univ. of Copenhagen, 1994.Google Scholar
  10. 10.
    Sørensen, M.H., Glück, R., and Jones, N.D., A Positive Supercompiler, J. Funct. Program., 1996, vol. 6, no. 6, pp. 811–838.CrossRefGoogle Scholar
  11. 11.
    Jones, N.D., The Essence of Program Transformation by Partial Evaluation and Driving, PSI’99, Lect. Notes Comput. Sci., 2000, vol. 1755, pp. 62–79.CrossRefGoogle Scholar
  12. 12.
    Klimov, A., An Approach to Supercompilation for Object-Oriented Languages: the Java Supercompiler Case Study, First International Workshop on Metacomputation in Russia, 2008.Google Scholar
  13. 13.
    Hamilton, G.W., Distillation: Extracting the Essence of Programs, Proc. of the 2007 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, New York, NY, USA: ACM, 2007, pp. 61–70.CrossRefGoogle Scholar
  14. 14.
    Hamilton, G.W., A Graph-Based Definition of Distillation, Second International Workshop on Metacomputation in Russia, 2010.Google Scholar
  15. 15.
    Klyuchnikov, I. and Romanenko, S., Towards HigherLevel Supercompilation, Second International Workshop on Metacomputation in Russia, 2010.Google Scholar
  16. 16.
    Klyuchnikov, I., Towards Effective Two-Level Supercompilation, Preprint of Keldysh Inst. of Applied Mathematics, Russ. Acad. Sci., Moscow, 2010, no. 81.Google Scholar
  17. 17.
    Klyuchnikov, I. and Romanenko, S., Multi-Result Supercompilation as Branching Growth of the Penultimate Level in Metasystem Transitions, PSI 2011, 2011.Google Scholar
  18. 18.
    Klimov, A., Multi-Result Supercompilation in Action: Solving Coverability Problem for Monotonic Counter Systems by Gradual Specialization, International Workshop on Program Understanding (PU 2011), 2011.Google Scholar
  19. 19.
    Lisitsa, A. and Nemytykh, A., Verification as a Parameterized Testing (Experiments with the SCP4 Supercompiler), Program. Computer Software, 2007, vol. 33, no. 1, pp. 14–23.MATHCrossRefGoogle Scholar
  20. 20.
    Klyuchnikov, I. and Romanenko, S., Proving the Equivalence of Higher-Order Terms by Means of Supercompilation. Perspectives of Systems Informatics, Lect. Notes Comput. Sci., 2010, vol. 5947, pp. 193–205.CrossRefGoogle Scholar
  21. 21.
    Klimov, A., Solving Coverability Problem for Monotonic Counter Systems by Supercompilation, PSI 11, 2011.Google Scholar
  22. 22.
    Klyuchnikov, I., Supercompiler HOSC 1.5: Homeomorphic Embedding and Generalization in a Higher-Order Setting, Preprint of Keldysh Inst. of Applied Mathematics, Russ. Acad. Sci., Moscow, 2010, no. 62.Google Scholar
  23. 23.
    Nemytykh, A.P., Pinchuk, V.A., and Turchin, V.F., A Self-Applicable Supercompiler Selected Papers from the Internaltional Seminar on Partial Evaluation, Lect. Notes Comput. Sci., 1996, vol. 1110, pp. 322–337.CrossRefGoogle Scholar
  24. 24.
    Futamura, Y., Partial Evaluation of Computation Process — An Approach to a Compiler-Compiler Syst. Comput. Controls, 1971, vol. 2, no. 5, pp. 45–50.Google Scholar
  25. 25.
    Glück, R., Is There a Fourth Futamura Projection?, Proc. of the 2009 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation PEPM’09, New York, NY, USA: ACM, 2009, pp. 51–60. http://doi.acm.org/10.1145/1480945.1480954.Google Scholar
  26. 26.
    Lisitsa, A. and Webster, M., Supercompilation for Equivalence Testing in Metamorphic Computer Viruses Detection Proc. of the First International Workshop on Metacomputation in Russia, 2008.Google Scholar
  27. 27.
    Hamilton, G.W. and Kabir, M.H., Constructing Programs from Metasystem Transition Proofs, Proc. of the First International Workshop on Metacomputation in Russia, 2008.Google Scholar
  28. 28.
    Klyuchnikov, I. and Romanenko, S., SPSC: a Simple Supercompiler in Scala PU’09 (International Workshop on Program Understanding), 2009.Google Scholar
  29. 29.
    Klyuchnikov, I., Supercompiler HOSC 1.0: under the Hood, Preprint of Keldysh Inst. of Applied Mathematics, Russ. Acad. Sci., Moscow, 2009, no. 63.Google Scholar
  30. 30.
    Mitchell, N. and Runciman, C., A Supercompiler for Core Haskell, Implementation and Application of Functional Languages, Lect. Notes Comput. Sci., 2008, vol. 5083, pp. 147–164.CrossRefGoogle Scholar
  31. 31.
    Mitchell, N., Rethinking Supercompilation ICFP 2010, 2010.Google Scholar
  32. 32.
    Bolingbroke, M. and Peyton Jones S.L., Supercompilation by Evaluation, Haskell 2010 Symposium, 2010.Google Scholar
  33. 33.
    Jonsson, P. and Nordlander, J., Taming Code Explosion in Supercompilation, PEPM’11, 2011.Google Scholar
  34. 34.
    Kleene, S., Mathematical Logic, Dover Books on Mathematics, New York: Dover, 2002.MATHGoogle Scholar
  35. 35.
    Sorensen, M.H., Convergence of Program Transformers in the Metric Space of Trees, Mathematics of Program Construction, Lect. Notes Comput. Sci., 1998, vol. 1422, pp. 315–337.MathSciNetCrossRefGoogle Scholar
  36. 36.
    Klyuchnikov, I., MRSC: a Framework for Multiresult Supercompilation, Preprint of Keldysh Inst. of Applied Mathematics, Russ. Acad. Sci., Moscow, 2011.Google Scholar
  37. 37.
    Bolingbroke, M. and Peyton Jones, S.L., Improving Supercompilation: Tag-Bags, Rollback, Speculation, Normalisation, and Generalisation, ICFP 2011, 2011.Google Scholar
  38. 38.
    Jonsson, P., Positive Supercompilation for a Higher-Order Call-by-Value Language, Lulea Univ. of Technology, 2008.Google Scholar
  39. 39.
    Bobrow, D.G. and Wegbreit, B., A Model and Stack Implementation of Multiple Environments, Commun. ACM, 1973, vol. 16, pp. 591–603.CrossRefGoogle Scholar
  40. 40.
    Klimov, A., A Program Specialization Relation Based on Supercompilation and its Properties, Proc. of the First International Workshop on Metacomputation in Russia, Ailamazyan Univ. of Pereslavl, 2008, pp. 54–78.Google Scholar
  41. 41.
    Klyuchnikov, I., Supercompiler HOSC: Proof of Correctness, Preprint of Keldysh Inst. of Applied Mathematics, Russ. Acad. Sci., Moscow, 2010, no. 31.Google Scholar
  42. 42.
    Tate, R., Stepp, M., Tat-Lock, Z., and Lerner, S., Equality Saturation: a New Approach to Optimization, SIGPLAN Not, 2009, January, vol. 44, pp. 264–276. http://doi.acm.org/10.1145/1594834.1480915.CrossRefGoogle Scholar

Copyright information

© Pleiades Publishing, Ltd. 2012

Authors and Affiliations

  1. 1.Keldysh Institute of Applied MathematicsRussian Academy of SciencesMoscowRussia

Personalised recommendations