COMPILE-TIME ANALYSIS OF DATA LIST-FORMAT LIST CORRESPONDENCES

被引:0
作者
ABRAHAMS, PW
CLARKE, LA
机构
[1] Department of Computer Science, New York University, New York
[2] Department of Computer and Information Science, University of Massachusetts, Amherst
关键词
formats; Index Terms-Compilers; input-output; program optimization; program validation; static program analysis; test data generation;
D O I
10.1109/TSE.1979.230197
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Formatted input-output is available in a number of programming languages. In the most general case, the correspondence between data items and format items cannot be determined during compilation, and so it is determined dynamically during execution. However, in most pairs of data and format lists that occur in practice, determination of the correspondence is in fact possible during compilation. Although some commercial compilers make this determination, there is little published literature on the subject. In this paper, we briefly examine three areas in which compile-time determination of the data-format correspondence is useful: optimization, program validation, and automatic test data generation. A formalism for stating the problem is given, and a solution is discussed in terms of formal language theory. Using this formalism, an algorithm for determining the correspondence is given, and its application is illustrated by examples in both PL/I and Fortran. Copyright © 1979 by The Institute of Electrical and Electronics Engineers, Inc.
引用
收藏
页码:612 / 617
页数:6
相关论文
共 14 条
  • [1] Allen F.E., Cocke J., A program data flow analysisprocedure, Commun. Assoc. Comput. Mach., 19, pp. 137-147, (1976)
  • [2] American National Standard: Programming Language PL/I, (1976)
  • [3] Clarke L.A., A system to generate test data and symbolically execute programs, IEEE Trans. Software Eng., SE-2, pp. 215-222, (1976)
  • [4] Fosdick L.D., Osterweil L.J., Data flow analysis in software reliability, 8, 3, pp. 305-330, (1976)
  • [5] Harrison W.H., Compiler analysis of the value ranges for variables, IEEE Trans. Software Eng., SE-3, pp. 243-250, (1977)
  • [6] Hopcroft J., Ullman J., Formal Languages and Their Relation to Automata, (1969)
  • [7] Howden W.E., Methodology for the generation of program test data, IEEE Trans. Comput., C-24, pp. 554-559, (1975)
  • [8] OS PL/I II Checkout and Optimizing Compilers: Language Reference Manual
  • [9] King J.C., A new approach to program testing, Proc. Int. Conf. Reliable Software, pp. 228-233, (1975)
  • [10] Knuth D.C., An empirical study of Fortran programs, Software-Practice and Experience, 1, pp. 105-133, (1971)