Skip to main content

Experience with FORTRAN VERIFIER

A tool for documentation and error diagnosis of FORTRAN-77 programs

  • VIII — Validation
  • Conference paper
  • First Online:
ESEC '87 (ESEC 1987)

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

Included in the following conference series:

Abstract

FORTRAN VERIFIER (FORTVER) is a tool to assist the development, testing and maintenance of large FORTRAN-77 programs. FORTVER will check module interfaces, and produce various documentation and cross-references. It will compute interprocedural, flow-insensitive sideeffects with complete static and dynamic aliasing in order to diagnose unused, unevaluated, unassigned, or otherwise illegally used variables. An improvement of Banning's algorithm for REF-parameter aliases is also introduced.

FORTVER has analyzed 50 production programs with 1.5 M lines of code, including 3 programs of 300 K lines each. FORTVER routinely diagnoses one serious error per 500–1000 lines at a cost of $20 per error, and can analyze 10–100 times bigger programs than the capacity of similar test tools. Results from four analyzed programs are reported and discussed.

FORTVER has recently been expanded with the FV/QE query editor, using data dictionary functions to assist programming-in-the-large. These tools are being integrated into the EPOS programming environment through the EPOS-DB system database. (EPOS means "Expert System for Program and System Development".)

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.

7 References

  1. John P. Banning: "An Efficient Way to Find the Side Effects of Procedure Calls and the Aliases of Variables", Sixth Annual ACM Symposium on Principles of Programming Languages, SIGACT-SIGPLAN, San Antonio, Jan. 1979, pp. 29–41.

    Google Scholar 

  2. Gerald M. Berns: "Assessing Software Maintainability", Comm. of the ACM, Jan. 1984, pp. 14–23.

    Google Scholar 

  3. Roy H. Campbell, Peter A. Kirslis: "The SAGA Project: A System for Program Development", Proc. ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, 23–25 April 1984, Pittsburgh. In ACM SIGPLAN Notices, Vol. 19, No. 5, May 1984, pp. 73–80.

    Google Scholar 

  4. Fun Ting Chan, Tsong Yueh Chen: "AIDA — A Dynamic Data Flow Anomaly Detection System for Pascal Programs", Software — Practice and Experience, Vol. 17 No. 3, 1986, pp. 227–239.

    Google Scholar 

  5. Reidar Conradi: "Experience with FORTRAN VERIFIER, a Tool for Documentation and Error Diagnosis of FORTRAN-77 programs", Tech. Report 19/86, Div. of Computer Science, Norw. Inst. of Tech., Trondheim, Feb. 1986 (rev. April 1987), 21 pp.

    Google Scholar 

  6. Reidar Conradi: "The EPOS Project — an Introduction", Tech. Report 28/87, Div. of Computer Science, Norw. Inst. of Tech., Trondheim, Jan. 1987, 11 pp.

    Google Scholar 

  7. Reidar Conradi, Tor M. Didriksen, Hávard Eidnes, Ola Heensásen: "Experience with an Object-Oriented Database Interface for the EPOS Programming Environment", Tech. Report 7/87, Div. of Computer Science, Norw. Inst. of Tech., Trondheim, Jan. 1987, 10 pp. In Malcolm Atkinson (Ed.): "Proc. Workshop on Persistent Object Stores", Univ. of Glasgow, UK, 25–28 Aug. 1987 (forthcoming).

    Google Scholar 

  8. Keith D. Cooper, Ken Kennedy: "Efficient Computation of Flow Insensitive Interprocedural Summary Information", Proc. ACM SIGPLAN '84 Symposium on Compiler Construction. In ACM SIGPLAN Notices, Vol. 19 No. 7, June 1984, pp. 247–258.

    Google Scholar 

  9. Keith D. Cooper, Ken Kennedy, Linda M. Torczon: "The Impact of Interprocedure Analysis and Optimization in the Rn Programming Environment", ACM Transactions on Programming Languages and Systems, Vol. 8 No. 4, Oct. 1986, pp. 491–523.

    Google Scholar 

  10. Hartmut Feuerhahn, Cornelis H.A. Koster: "Static Semantic Checks in An Open-ended Language". In P.G. Hibbard, S.A. Schuman (Eds.): "Constructing Quality Software", North-Holland, 1978, pp. 249–269. Proc. IFIP TC2 Work. Conf., Novosibirsk, May 1977.

    Google Scholar 

  11. Lloyd D. Fosdick, Leon J. Osterweil: "Data Flow Analysis in Software Reliability", Computing Surveys, Sept. 1976, pp. 305–330.

    Google Scholar 

  12. Ferdinando Gallo, Regis Minot, Ian Thomas: "The Object Management System of PCTE as a Software Engineering Database Management System". In /Henderson 86/, pp. 12–15.

    Google Scholar 

  13. Peter Henderson (Ed.): Proc. ACM SIGSOFT/SIGPLAN Symposium on Practical Software Engineering Environments, Palo Alto, 9–11 Dec, 1986. In SIGPLAN Notices, Vol. 21 No. 12, Dec. 1986. 227 pp.

    Google Scholar 

  14. Stephen C. Johnson: "LINT, a C Program Checker". In "UNIX System Programmer's Manual", Vol. 2, pp. 278–290. Holt, Rinehart, and Winston, 1979.

    Google Scholar 

  15. Donald E. Knuth: "An Empirical Study of FORTRAN Programs", Software — Practice and Experience, Vol. 1 No. 2, 1971, pp. 105–134.

    Google Scholar 

  16. Edward F. Miller, William E. Howden (Eds.): "Tutorial: Software Testing and Validation Techniques", Second edition, IEEE Catalog No. EHO 180-0, 1981.

    Google Scholar 

  17. Charles Z. Mitchell: "Engineering VAX Ada for a Multi-Language Programming Environment", In /Henderson 86/, pp. 49–58.

    Google Scholar 

  18. Steven S. Muchnick, Neil D. Jones: "Program Flow Analysis: Theory and Applications", Prentice-Hall, Englewood Cliffs, New Jersey, 1981, 418 pp.

    Google Scholar 

  19. Norsk Data: "The Database System SIBAS II, ND User Manual, Version 04", Publ.ND-60.127-04, Norsk Data A.S., Oslo, Aug. 1984.

    Google Scholar 

  20. Leon J. Osterweil, Lloyd D. Fosdick: "DAVE — A Validation, Error Detection and Documentation System for FORTRAN Programs", Software — Practice and Experience, Sept. 1976, pp. 473–486.

    Google Scholar 

  21. Leon J. Osterweil: "ToolPack, An Experimental Software Development Environment Research Project", IEEE Transactions on Software Engineering, Nov. 1983, pp. 673–685.

    Google Scholar 

  22. Charles Rich, Richard C. Waters: "Readings in Artificial Intelligence and Software Engineering", Morgan Kaufmann Publ., Los Altos, Calif., 1986, 602 pp.

    Google Scholar 

  23. Ramon F. Sarraga: "Static Data Flow Analysis of PL/I Programs with the PROBE System", IEEE Transactions on Software Engineering, Vol. SE-10 No. 4, July 1984, pp. 451–459.

    Google Scholar 

  24. On the "D01OI=1.10" error in Mariner-I. ACM SIGSOFT Software Engineering Notices, Vol. 10 No. 3, May 1985.

    Google Scholar 

  25. Richard N. Taylor: "An Integrated Verification and Testing Environment", Software — Practice and Experience, Aug. 1983, pp. 697–713.

    Google Scholar 

  26. Warren Teitelman, Larry Masinter: "The Interlisp Programming Environment", Computer, Vol. 14 No. 4, April 1981, pp. 25–34.

    Google Scholar 

  27. Linda M. Torczon: "Compilation Dependencies in an Ambitious Optimizing Compiler", Ph.D. Dissertation, Rice Univ., Computer Science Dept., Houston, Texas, May 1985, TR 85-21.

    Google Scholar 

  28. Cindy Wilson, Leon J. Osterweil: "Omega — A Data Flow Analysis Tool for the C Programming Language", IEEE Transactions on Software Engineering, Vol. SE-11 No. 9, Sept. 1985, pp. 832–838.

    Google Scholar 

  29. L.J. White: "Basic Mathematical Definitions and Results in Testing", pp. 13–24. In B. Chandrasekaran, S. Radicchi (Eds.): "Computer Program Testing", North-Holland Publishing Company, 1981, 325 pp. Proc. from Summer School held at Sogesta, Urbino, Italy, June 29–July 3, 1981.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Howard Nichols Dan Simpson

Rights and permissions

Reprints and permissions

Copyright information

© 1987 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Conradi, R. (1987). Experience with FORTRAN VERIFIER. In: Nichols, H., Simpson, D. (eds) ESEC '87. ESEC 1987. Lecture Notes in Computer Science, vol 289. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0022119

Download citation

  • DOI: https://doi.org/10.1007/BFb0022119

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-18712-7

  • Online ISBN: 978-3-540-48117-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics