Skip to main content

An automatic interprocedural analysis for the understanding of scientific application programs

  • Conference paper
  • First Online:
Partial Evaluation

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

Abstract

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.

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. J.R.Abrial The B method CNAM lecture notes, 1994

    Google Scholar 

  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. 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. 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. 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. 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. 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. FORTRAN. ANSI standard X3.9, 1978.

    Google Scholar 

  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. C.B.Jones Systematic development using VDM 2nd eds., Prentice-Hall, 1990.

    Google Scholar 

  11. N.D.Jones, C.K.Gomard, P.Sestoft Partial evaluation and automatic program generation Prentice-Hall, 1993.

    Google Scholar 

  12. G.Kahn, Natural semantics Proc. of STACS'87, LNCS, vol.247, March 1987.

    Google Scholar 

  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. 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. H.J.Van Zuylen Understanding in reverse engineering. REDO handbook, Wiley, 09/92.

    Google Scholar 

  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. 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. M. Weiser Program slicing IEEE Trans. on Soft. Engineering, 10(4), 352–357, 1984.

    Google Scholar 

  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Olivier Danvy Robert Glück Peter Thiemann

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Blazy, S., Facon, P. (1996). An automatic interprocedural analysis for the understanding of scientific application programs. In: Danvy, O., Glück, R., Thiemann, P. (eds) Partial Evaluation. Lecture Notes in Computer Science, vol 1110. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61580-6_1

Download citation

  • DOI: https://doi.org/10.1007/3-540-61580-6_1

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61580-4

  • Online ISBN: 978-3-540-70589-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics