• DocumentCode
    3450311
  • Title

    Effective, automatic procedure extraction

  • Author

    Komondoor, Raghavan ; Horwitz, Susan

  • Author_Institution
    Wisconsin Univ., Madison, WI, USA
  • fYear
    2003
  • fDate
    10-11 May 2003
  • Firstpage
    33
  • Lastpage
    42
  • Abstract
    Legacy code can often be made more understandable and maintainable by extracting out selected sets of statements to form procedures and replacing the extracted code with procedure calls. Sets of statements that are noncontiguous and/or include non-local jumps (caused by go-tos, breaks, continues, etc.) can be difficult to extract, and usually cause previous automatic-extraction algorithms to fail or to produce poor results. The chief contributions of this paper are a semantics-preserving algorithm for extracting "difficult" sets of statements, and a study that compares the algorithm both to an ideal extractor (a human) and to previously reported automatic approaches. We found that "difficult" examples do arise frequently in practice, and that our algorithm is a significant improvement over previous work, achieving ideal results on over 70% of the difficult cases.
  • Keywords
    programming language semantics; reverse engineering; software maintenance; automatic-extraction algorithms; legacy code; procedure calls; semantics preserving algorithm; Conferences; Humans; Performance analysis; Programming profession;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Program Comprehension, 2003. 11th IEEE International Workshop on
  • ISSN
    1092-8138
  • Print_ISBN
    0-7695-1883-4
  • Type

    conf

  • DOI
    10.1109/WPC.2003.1199187
  • Filename
    1199187