Program Transformation and Optimization in Calculational Form

Selected Papers | Software
Correctness-preserving program transformation plays an important role in compiler optimization in functional programming, and it calls for a more systematic study. We have demonstrated that many important program transformations such as deforestation (or fusion), tupling, accumulation, and IO swapping calculation, can be effectively and elegantly formalized in calculational form. In general, program transformation in calculational form enjoys the nice properties of modularity and cheap implementation, which can be embedded in compilers of functional languages.

In addition, program calculation is very helpful in developing efficient algorithms. We have developed some systematic derivation strategies with which we derived several new algorithms: a new divide-and-conquer algorithms for solving two-dimensional version of maximal segment sum problem, a novel efficient parallel program for bracket matching, a completely new algorithm for computing frequent sets in data mining. In particular, we proposed a generic algorithm for solving the maximum marking problems, a class of useful optimization problems.


Selected Papers

More papers are available here.


Software


Maintained by Zhenjiang Hu. Last modified in 2006.