Decompilation of control structures by means of graph transformations

  • Ulrike Lichtblau
Colloquium On Trees In Algebra And Programming Graph Grammars And Formal Languages
Part of the Lecture Notes in Computer Science book series (LNCS, volume 185)


Decompilation denotes the translation from lower level into higher level programming languages. Here we deal with the aspect of detecting higher level control structures, including loops with any number of exits, in line-oriented programs.

The detection is carried out on the control flow graph of the source program by means of so called wellstructuring transformations. We show that the iteration of these transformations always terminates in a time linearly depending on the number of vertices of the underlying control flow graph.


Transformation Rule Target Language Graph Transformation Single Vertex Priority Class 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Farrow,R., Kennedy,K. and Zucconi,L. Graph grammars and global data flow analysis. Proceedings of the Seventeenth Annual IEEE Symposium on Foundations of Computer Science, Houston, Texas, Oct. 1976, 42–56.Google Scholar
  2. 2.
    Hecht,M.S. Flow Analysis of Computer Programs. North-Holland, New York, 1977, Chapt. 3.Google Scholar
  3. 3.
    Hecht, M.S. and Ullman, J.D. Flow graph reducibility. SIAM J. Comput. 1, 2 (June 1972), 188–202.CrossRefGoogle Scholar
  4. 4.
    Hopwood, G.L. Decompilation. Ph.D. dissertation, University of California, Irvine, Feb. 1978.Google Scholar
  5. 5.
    Lichtblau,U. Graphtransformationen zur Erkennung Ada-ähnlicher Kontrollstrukturen in maschinennahen Programmen. Techn. Rep. 142, Abteilung Informatik, Universität Dortmund, 1982.Google Scholar
  6. 6.
    Lichtblau,U. Ein Algorithmus zur Erkennung höherer Kontrollstrukturen durch Graph-transformationen. Techn. Rep. 183, Abt. Informatik, Universität Dortmund, 1984Google Scholar
  7. 7.
    Rosen, B. Tree manipulating systems and Church-Rosser theorems, Journ. ACM 20, 1 (Jan. 1973), 160–187CrossRefGoogle Scholar
  8. 8.
    Rosendahl, M. and Mankwald, K.P. Analysis of programs by reduction of their structure. In Graph-Grammars and Their Application to Computer Science and Biology, Claus, V., Ehrig, H. and Rozenberg, G. (Eds.). Springer-Verlag, Berlin, 1979, 409–417.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1985

Authors and Affiliations

  • Ulrike Lichtblau
    • 1
  1. 1.Lehrstuhl Informatik IIUniversität DortmundDortmund 50

Personalised recommendations