Semi-automatic generation of parallelizable patterns from source code examples

Generation of program patterns from source code is a difficult, time consuming and error-prone process when performed by programmers. We describe an implemented system which generates patterns from an abstract syntax tree with interaction by the user. Our approach is based on creating intermediate patterns by exploring data dependencies in the source code and allowing the user to change and/or eliminate parts of it in order to create a final pattern. We describe the architecture of our system as well as the pattern language used and illustrate our approach with examples.

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

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

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

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

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

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

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