Abstract
Compilers usually construct various data structures which often vary only slightly from compilation run to compilation run. This paper describes in a compact and uniform way solutions to several problems arising in order to quickly update these data structures instead of building them from scratch each time. All the considered problems can be reduced to graph problems. Specifically, we give algorithms for the dynamic problems of loop detection, topological order, reachability from the start routine, and transitive closure.
As far as the dynamic maintenance of a topological order is concerned, for which no previous solution is known to the authors, simple algorithms and data structures are provided, and the achieved upper bound is O(n) amortized time per update in a sequence of O(m) edge insertions, which favourably compares to the trivial O(n+m) worst case time bound (applying the off-line algorithm). The additional space requirement, besides the space to represent the graph itself, is O(n). We also discuss by an example the harder fully dynamic version of topological order.
Work supported by the ESPRIT II Basic Research Action Program of the European Community under contract No. 7141 “Algorithms and Complexity II” and by the Italian MURST 40% project “Algoritmi, Modelli di Calcolo e Strutture Informative”.
Part of this work was done while the author was visiting ICSI, Berkeley.
Most of this report was written while the author was a postdoc at ICSI, Berkeley. On leave from Siemens AG, Munich, Germany
Preview
Unable to display preview. Download preview PDF.
References
A. V. Aho, J. E. Hopcroft, and J. D. Ullman. The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading, MA, 1974.
M. Dietzfelbinger, A. Karlin, K. Mehlhorn, F. Meyer auf der Heide, H. Rohnert, and R.E. Tarjan. Dynamic perfect hashing: Upper and lower bounds. Technical Report Bericht Nr. 77, Fachbereich Mathematik-Informatik, Universität-Gesamthochschule Paderborn, 4790 Paderborn, Germany, January 1991, also presented at FOCS '88.
G. F. Italiano. Amortized efficiency of a path retrieval data structure. Theoret. Cornput. Sci., 48:273–281, 1986.
G. F. Italiano. Finding paths and deleting edges in directed acyclic graphs. Inform. Process. Lett, 28:5–11, 1988.
J. A. La Poutré and J. van Leeuwen. Maintenance of transitive closure and transitive reduction of graphs. In Workshop on Graph-Theoretic Concepts in Computer Science, Lecture Notes in Computer Science, 314, pages 106–120. Springer-Verlag, 1988.
J. A. McHugh. Algorithmic Graph Theory. Prentice Hall, 1990.
K. Mehlhorn. Graph Algorithms and NP-Completeness, volume 2 of Data Structures and Algorithms. Springer-Verlag, Berlin Heidelberg New York Tokyo, 1984.
U. Nanni and P. Terrevoli. A fully dynamic data structure for path expressions on dags. R.A.I.R.O. Theorical Informatics and Applications 25, 5, 1991.
S. M. Omohundro, C. Lim, and J. Bilmes. The sather language compiler/debugger implementation. Technical Report TR-92-017, International Computer Science Institute, Berkeley, Ca., 1992.
R. E. Tarjan. Data structures and network algorithms, volume 44 of CBMS-NSF Regional Conference Series in Applied Mathematics. SIAM, 1983.
R. E. Tarjan. Amortized computational complexity. SIAM J. Alg. Disc. Meth., 6:306–318, 1985.
D. M. Yellin. Speeding up dynamic transitive closure for bounded degree graphs. Acta Informatica, to appear.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Marchetti-Spaccamela, A., Nanni, U., Rohnert, H. (1994). On-line graph algorithms for incremental compilation. In: van Leeuwen, J. (eds) Graph-Theoretic Concepts in Computer Science. WG 1993. Lecture Notes in Computer Science, vol 790. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57899-4_42
Download citation
DOI: https://doi.org/10.1007/3-540-57899-4_42
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57899-4
Online ISBN: 978-3-540-48385-4
eBook Packages: Springer Book Archive