A post-placement side-effect removal algorithm

Mark Harman, Lin Hu, Robert M. Hierons, Malcolm Munro, Xingyuan Zhang, José Javier Dolado, Mari Carmen Otero, Joachim Wegener · 2003

Side-effects are widely believed to impede program comprehension and have a detrimental effect upon software maintenance. This paper introduces an algorithm for side-effect removal which splits the side-effects into their pure expression meaning and their state-changing meaning. Symbolic execution is used to determine the expression meaning, while transformation is used to place the state-changing part in a suitable location in a transformed version of the program. This creates a program which is semantically equivalent to the original but guaranteed to be free from side-effects. The paper also reports the results of an empirical study which demonstrates that the application of the algorithm causes a significant improvement in program comprehension.

Read the paper · More papers on PaperTik