An automatic interprocedural analysis for the understanding of scientific application programs

  • Sandrine Blazy
  • Philippe Facon
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1110)


This paper reports on an approach for improving the understanding of old programs which have become very complex due to numerous extensions. We have adapted partial evaluation techniques for program understanding. These techniques mainly use propagation through statements and simplifications of statements.

We focus here on the automatic interprocedural analysis and we specify both tasks (propagation and simplification) for call-statements, in terms of inference rules with notations taken from the formal specification languages B and VDM.

We describe how we have implemented that interprocedural analysis in a tool, and how it can be used to improve program understanding. The difficulty of that analysis is due to the lack of well defined interprocedural mechanisms and the complexity of visibility rules in Fortran.


software maintenance of legacy code program understanding program specialization interprocedural analysis inference rules natural semantics formal specification Fortran 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    J.R.Abrial The B method CNAM lecture notes, 1994Google Scholar
  2. 2.
    L.O. Andersen Program analysis and specialization for the C programming language Ph.D.Thesis, Univ. of Copenhagen, Denmark, DIKU rep. 94/19, 1994.Google Scholar
  3. 3.
    R.Baier, R.Glück, R.Zöchling Partial evaluation of numerical programs in Fortran ACM SIGPLAN Workshop PEPM, Melbourne, 1994, 119–132.Google Scholar
  4. 4.
    S.Blazy, P.Facon Partial evaluation as an aid to the comprehension of Fortran programs 2nd IEEE Workshop on Program Comprehension, Capri, Italy, July 1993, 46–54.Google Scholar
  5. 5.
    S.Blazy, P.Facon SFAC: a tool for program comprehension by specialization 3rd IEEE Workshop on Program Comprehension, Washington D.C., November 1994, 162–167.Google Scholar
  6. 6.
    S. Blazy, P. Facon Formal specification and prototyping of a program specializer TAPSOFT'95, Aarhus, Denmark, May 1995, LNCS 915, 666–680.Google Scholar
  7. 7.
    Coen-Porisini, F. De Paoli, C. Ghezzi, D. Mandrioli Software specializaton via symbolic execution IEEE Trans. on Soft. Engineering, 17(9), 1991, 884–899.Google Scholar
  8. 8.
    FORTRAN. ANSI standard X3.9, 1978.Google Scholar
  9. 9.
    M.Haziza, J.F.Voidrot, E.Minor, L.Pofelski, S.Blazy Software maintenance: an analysis of industrial needs and constraints IEEE Conf. on Soft. Maintenance, Orlando, 11/1992.Google Scholar
  10. 10.
    C.B.Jones Systematic development using VDM 2nd eds., Prentice-Hall, 1990.Google Scholar
  11. 11.
    N.D.Jones, C.K.Gomard, P.Sestoft Partial evaluation and automatic program generation Prentice-Hall, 1993.Google Scholar
  12. 12.
    G.Kahn, Natural semantics Proc. of STACS'87, LNCS, vol.247, March 1987.Google Scholar
  13. 13.
    H.Parisot, F.Paumier Aide à la compréhension et à la maintenance du logiciel: calculs inter-procéduraux pour la maintenance de programmes MSc. thesis, IIE-CNAM, 06/95.Google Scholar
  14. 14.
    S.Tilley, K.Wong, M.A.Storey, H.Müller Programmable reverse engineering Int. Journal of Soft.Eng.&Knowledge Eng., 4(4), December 1994, 501–520.Google Scholar
  15. 15.
    H.J.Van Zuylen Understanding in reverse engineering. REDO handbook, Wiley, 09/92.Google Scholar
  16. 16.
    G.A. Venkatesh The semantic approach to program slicing Proc. ACM SIGPLAN Conf. on Programming Languages Design and Implementation, Toronto, Canada, 1991, ACM SIGPLAN Notices, 26(6), 107–119.Google Scholar
  17. 17.
    A. Von Maryhauser, A.M. Vans Dynamic code cognition behaviors for large scale code 3rd IEEE Workshop on Program Comprehension, Washington D.C., November 1994, 74–81.Google Scholar
  18. 18.
    M. Weiser Program slicing IEEE Trans. on Soft. Engineering, 10(4), 352–357, 1984.Google Scholar
  19. 19.
    N.Wilde, M.C.Scully Software reconnaissance: mapping program features to code Software maintenance research and practice, vol. 7, 1995, 49–62.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Sandrine Blazy
    • 1
  • Philippe Facon
    • 1
  1. 1.CEDRIC IIEévry CedexFrance

Personalised recommendations