• 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