Skip to main content

On-line graph algorithms for incremental compilation

  • Conference paper
  • First Online:
Graph-Theoretic Concepts in Computer Science (WG 1993)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 790))

Included in the following conference series:

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

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. V. Aho, J. E. Hopcroft, and J. D. Ullman. The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading, MA, 1974.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. G. F. Italiano. Amortized efficiency of a path retrieval data structure. Theoret. Cornput. Sci., 48:273–281, 1986.

    Google Scholar 

  4. G. F. Italiano. Finding paths and deleting edges in directed acyclic graphs. Inform. Process. Lett, 28:5–11, 1988.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. J. A. McHugh. Algorithmic Graph Theory. Prentice Hall, 1990.

    Google Scholar 

  7. K. Mehlhorn. Graph Algorithms and NP-Completeness, volume 2 of Data Structures and Algorithms. Springer-Verlag, Berlin Heidelberg New York Tokyo, 1984.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. R. E. Tarjan. Data structures and network algorithms, volume 44 of CBMS-NSF Regional Conference Series in Applied Mathematics. SIAM, 1983.

    Google Scholar 

  11. R. E. Tarjan. Amortized computational complexity. SIAM J. Alg. Disc. Meth., 6:306–318, 1985.

    Google Scholar 

  12. D. M. Yellin. Speeding up dynamic transitive closure for bounded degree graphs. Acta Informatica, to appear.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jan van Leeuwen

Rights and permissions

Reprints 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

Publish with us

Policies and ethics