Implementation of a pattern-matching approach for identifying algorithmic concepts in scientific FORTRAN programs

A significant barrier inhibiting the use of parallel computing is the difficulty of writing parallel software. One solution to this problem is to build tools that can automatically convert sequential programs to parallel programs. In this paper we describe the implementation of a system that is designed to perform a semantic level analysis and transformation of algorithms in sequential programs. Our approach is based on pattern matching and has been inspired by recent research on reverse engineering and program understanding. We describe the architecture of our system, a pattern matching language that we have designed, our pattern matching strategy, and illustrate the approach and implementation using examples. This paper is a summary of the work.

[1]  Linda M. Wills Automated Program Recognition: A Feasibility Demonstration , 1990, Artif. Intell..

[2]  Christoph W. Kessler Pattern-driven automatic program transformation and parallelization , 1995, Proceedings Euromicro Workshop on Parallel and Distributed Processing.

[3]  Giulio Iannello,et al.  Towards automated code parallelization through program comprehension , 1994, Proceedings 1994 IEEE 3rd Workshop on Program Comprehension- WPC '94.

[4]  Wojtek Kozaczynski,et al.  Program Concept Recognition and Transformation , 1992, IEEE Trans. Software Eng..

[5]  David F. Bacon,et al.  Compiler transformations for high-performance computing , 1994, CSUR.

[6]  Christoph W. Kessler Pattern-Driven Automatic Parallelization , 1996, Sci. Program..

[7]  Cauligi S. Raghavendra,et al.  Parallelizing sequential programs by algorithm-level transformations , 1994, Proceedings 1994 IEEE 3rd Workshop on Program Comprehension- WPC '94.

[8]  Atul Prakash,et al.  A Framework for Source Code Search Using Program Patterns , 1994, IEEE Trans. Software Eng..

[9]  E.,et al.  FALCON: An Environment for the Development of Scientific Libraries and Applications , 1995 .