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".)
Preview
Unable to display preview. Download preview PDF.
7 References
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.
Gerald M. Berns: "Assessing Software Maintainability", Comm. of the ACM, Jan. 1984, pp. 14–23.
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.
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.
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.
Reidar Conradi: "The EPOS Project — an Introduction", Tech. Report 28/87, Div. of Computer Science, Norw. Inst. of Tech., Trondheim, Jan. 1987, 11 pp.
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).
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.
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.
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.
Lloyd D. Fosdick, Leon J. Osterweil: "Data Flow Analysis in Software Reliability", Computing Surveys, Sept. 1976, pp. 305–330.
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.
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.
Stephen C. Johnson: "LINT, a C Program Checker". In "UNIX System Programmer's Manual", Vol. 2, pp. 278–290. Holt, Rinehart, and Winston, 1979.
Donald E. Knuth: "An Empirical Study of FORTRAN Programs", Software — Practice and Experience, Vol. 1 No. 2, 1971, pp. 105–134.
Edward F. Miller, William E. Howden (Eds.): "Tutorial: Software Testing and Validation Techniques", Second edition, IEEE Catalog No. EHO 180-0, 1981.
Charles Z. Mitchell: "Engineering VAX Ada for a Multi-Language Programming Environment", In /Henderson 86/, pp. 49–58.
Steven S. Muchnick, Neil D. Jones: "Program Flow Analysis: Theory and Applications", Prentice-Hall, Englewood Cliffs, New Jersey, 1981, 418 pp.
Norsk Data: "The Database System SIBAS II, ND User Manual, Version 04", Publ.ND-60.127-04, Norsk Data A.S., Oslo, Aug. 1984.
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.
Leon J. Osterweil: "ToolPack, An Experimental Software Development Environment Research Project", IEEE Transactions on Software Engineering, Nov. 1983, pp. 673–685.
Charles Rich, Richard C. Waters: "Readings in Artificial Intelligence and Software Engineering", Morgan Kaufmann Publ., Los Altos, Calif., 1986, 602 pp.
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.
On the "D01OI=1.10" error in Mariner-I. ACM SIGSOFT Software Engineering Notices, Vol. 10 No. 3, May 1985.
Richard N. Taylor: "An Integrated Verification and Testing Environment", Software — Practice and Experience, Aug. 1983, pp. 697–713.
Warren Teitelman, Larry Masinter: "The Interlisp Programming Environment", Computer, Vol. 14 No. 4, April 1981, pp. 25–34.
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.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights 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