Abstract
In order to deal efficiently with infinite regular trees (or other pointed graph structures), we give new algorithms to store such structures. The trees are stored in such a way that their representation is unique and shares as much as possible. This maximal sharing allows substantial memory gain and speed up. For example, equality testing becomes constant time. The algorithms are incremental, and as such allow good reactive behavior. This new algorithms are then applied to the representation of sets of trees. The expressive power of this new representation is exactly what is needed by set-based analysis.
Chapter PDF
References
Aho, A. V., Hopcroft, J. E., and Ullman, J. D. Data Structures and Algorithms. Addison-Wesley, 1983.
Bryant, R. E. Graph based algorithms for boolean function manipulation. IEEE Transactions on Computers C-35 (August 1986), 677–691.
Cai, J., and Paige, R. Using multiset discrimination to solve language processing without hashing. Theoretical Computer Science (1994). also, U. of Copenhagen Tech. Report, DIKU-TR Num. D-209, 94/16, URL ftp:ftp://ftp.diku.dk/diku/semantics/papers/D-209.ps.Z.
Cardon, A., and Crochemore, M. Partitioning a graph in O(|A| log2 |V|). Theoretical Computer Science 19 (1982), 85–98.
Charatonik, W., and Podelski, A. Codefinite set constraints. In 9th International Conference on Rewriting Techniques and Applications (March–April 1998), T. Nipkow, Ed., vol. 1379 of Lecture Notes in Computer Science, Springer-Verlag, pp. 211–225.
Colmerauer, A. PROLOG and infinite trees. In Logic Programming (1982), K. L. Clark and S.-A. Tärnlund, Eds., vol. 16 of APIC Studies in Data Processing, Academic Press, pp. 231–251.
Devienne, P., Talbot, J., and Tison, S. Solving classes of set constraints with tree automata. In 3th International Conference on Principles and Practice of Constraint Programming (October 1997), G. Smolka, Ed., vol. 1330 of Lecture Notes in Computer Science, Springer-Verlag, pp. 62–76.
Gécseg, F., and Steinby, M. Tree Automata. Akadémia Kiadó, 1984.
Heintze, N. Set Based Program Analysis. PhD thesis, School of Computer Science, Carnegie Mellon University, October 1992.
Hopcroft, J. An n log n algorithm for minimizing states in a finite automaton. In Theory of machines and computations (1971), Z. Kohavi and A. Paz, Eds., Academic Press, pp. 189–196.
Jones, N. D., and Muchnick, S. S. Flow analysis and optimization of LISP-like structures. In 6th POPL (January 1979), ACM Press, pp. 244–256.
Knuth, D. E. Sorting and Searching, vol. 3 of The Art of Computer Programming. Addison-Wesley, 1973.
Liu, Y. A. Dependence analysis for recursive data. In IEEE International Conference on Computer Languages (May 1998), pp. 206–215.
Mauborgne, L. Binary decision graphs. In Static Analyis Symposium (SAS’99) (1999), A. Cortesi and G. Filé, Eds., vol. 1694 of Lecture Notes in Computer Science, Springer-Verlag, pp. 101–116.
Michie, D. “memo” functions and machine learning. Nature 218 (April 1968), 19–22.
Reynolds, J. Automatic computation of data set definitions. In Information Processing’ 68 (1969), Elsevier Science Publisher, pp. 456–461.
Thatcher, J. W., and Wright, J. B. Generalized finite automata with an application to a decision problem of second-order logic. Mathematical Systems Theory 2 (1968), 57–82.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Mauborgne, L. (2000). Improving the Representation of Infinite Trees to Deal with Sets of Trees. In: Smolka, G. (eds) Programming Languages and Systems. ESOP 2000. Lecture Notes in Computer Science, vol 1782. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46425-5_18
Download citation
DOI: https://doi.org/10.1007/3-540-46425-5_18
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67262-3
Online ISBN: 978-3-540-46425-9
eBook Packages: Springer Book Archive