DocumentCode
387647
Title
A post-placement side-effect removal algorithm
Author
Harman, Mark ; Hu, Lin ; Hierons, Rob ; Munro, Malcolm ; Zhang, Xingyuan ; Dolado, Jose Javier ; Otero, Mari Carmen ; Wegener, Joachim
Author_Institution
Brunel Univ., Uxbridge, UK
fYear
2002
fDate
2002
Firstpage
2
Lastpage
11
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.
Keywords
C language; reverse engineering; software maintenance; C programs; post-placement side-effect removal algorithm; program comprehension; pure expression meaning; software maintenance; state-changing meaning; symbolic execution; Circuits; Humans; Impedance; Performance gain; Production; Programming profession; Psychology; Reverse engineering; Software maintenance; Software testing;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Maintenance, 2002. Proceedings. International Conference on
ISSN
1063-6773
Print_ISBN
0-7695-1819-2
Type
conf
DOI
10.1109/ICSM.2002.1167742
Filename
1167742
Link To Document