A Post-Placement Side-Effect Removal Algorithm.

M Harman,L Hu,R Hierons,M Munro,XY Zhang,JJ Dolado,MC Otero,J Wegener
DOI: https://doi.org/10.1109/icsm.2002.1167742
2002-01-01
Abstract: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.
What problem does this paper attempt to address?