A New Solution to the Hidden Copy Problem

作者: Deepak Goyal , Robert Paige

DOI: 10.1007/3-540-49727-7_20

关键词: Programming languageCloning (programming)Theoretical computer scienceRecursionAbstract interpretationCompilerFunctional programmingSemantics (computer science)CorrectnessOperational semanticsComputer scienceJavaCopyingImperative programming

摘要: We consider the well-known problem of avoiding unnecessary costly copying that arises in languages with copy/value semantics and large aggregate structures such as arrays, sets, or files. The origins many recent studies focusing on copies flat arrays functional may be traced back to SETL copy optimization [Schwartz 75]. is hard, progress slow, but a successful solution crucial achieving pointer-free style programming envisioned by [Hoare give new uses dynamic reference counts lazy implement updates efficiently an imperative language arbitrarily nested finite sets maps (which can easily model records other datatypes). Big step operational abstract interpretations are used prove soundness analysis correctness transformation. An efficient algorithm presented. approach supported realistic empirical evidence. Our anticipates introduction polymorphic into JAVA. It also provide strategy for implementing object cloning Java assigment C++. illustrate how our methods might improve [Wand Clinger 98] avoid first-order recursion equations.

参考文章(29)
Jozef Gruska, Foundations of Computing ,(1997)
Flemming Nielson, Hanne Riis Nielson, Semantics With Applications: A Formal Introduction ,(1992)
Ravi Sethi, Jeffrey D. Ullman, Alfred V. Aho, Compilers: Principles, Techniques, and Tools ,(1986)
E. Schonberg, E. Dubinsky, R. B. Dewar, J. T. Schwartz, Programming with Sets: An Introduction to SETL ,(1986)
Robert Paige, Viewing A program Transformation System At Work ALP '94 Proceedings of the 4th International Conference on Algebraic and Logic Programming. pp. 5- 5 ,(1994) , 10.1007/3-540-58402-1_3
David A. Schmidt, Data flow analysis is model checking of abstract interpretations symposium on principles of programming languages. pp. 38- 48 ,(1998) , 10.1145/268946.268950
J. P. Keller, R. Paige, Program derivation with verified transformations — a case study Communications on Pure and Applied Mathematics. ,vol. 48, pp. 1053- 1113 ,(1995) , 10.1002/CPA.3160480906
K.R. Simmonds, A prize in use Electronic Systems News. ,vol. 1985, pp. 15- ,(1985) , 10.1049/ESN.1985.0008