Towards an automated tool for computing loop functions

Despite several decades of on-and-off research efforts, the functional analysis of computer programs to an arbitrary level of thoroughness and precision remains an unfulfilled challenge. Also, despite several decades of advances in programming language design and implementation, most of the software that is written and maintained today is written in traditional imperative programs; in such programs, the most critical/ most complex control structure is the loop. In this paper, we discuss our ongoing effort to develop a tool that reviews a while loop written in an imperative language (C, C++, Java) and derives its function, by specifying the final values of all its program variables as a function of its initial values.

[1]  Harlan D. Mills,et al.  Structured programming - theory and practice , 1979, The systems programming series.

[2]  R. Adams Proceedings , 1947 .

[3]  David Gries,et al.  The Science of Programming , 1981, Text and Monographs in Computer Science.

[4]  Alan R. Hevner,et al.  The CERT Function Extraction Experiment: Quantifying FX Impact on Software Comprehension and Verification , 2005 .

[5]  Ali Mili,et al.  Mathematics for reasoning about loop functions , 2009, Sci. Comput. Program..

[6]  Ali Mili,et al.  On the lattice of specifications: Applications to a specification methodology , 2005, Formal Aspects of Computing.

[7]  Zohar Manna,et al.  Mathematical Theory of Computation , 2003 .

[8]  Alan R. Hevner,et al.  The Impact of Function Extraction Technology on Next-Generation Software Engineering , 2005 .

[9]  Victor R. Basili,et al.  A Heuristic for Deriving Loop Functions , 1984, IEEE Transactions on Software Engineering.

[10]  Carroll Morgan,et al.  Programming from specifications , 1990, Prentice Hall International Series in computer science.

[11]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[12]  Harlan D. Mills,et al.  Trace: Tennessee Research and CreativeExchange , 2022 .