• DocumentCode
    2349874
  • Title

    Identifying library functions in executable file using patterns

  • Author

    Van Emmerik, Mike

  • Author_Institution
    Dept. of Comput. Sci. & Electr. Eng., Queensland Univ., Brisbane, Qld., Australia
  • fYear
    1998
  • fDate
    9-13 Nov 1998
  • Firstpage
    90
  • Lastpage
    97
  • Abstract
    Re-engineering from legacy executable (binary) files is greatly facilitated by identifying and naming statically linked library functions. This paper presents an efficient method for generating files of patterns; each pattern is a transformation of the first several bytes of a library function´s executable code. Given a suitable pattern file, a candidate function can be identified in linear time. One pattern file is generated for each combination of compiler vendor, version and memory model (where applicable). The process of identifying these parameters in a given executable file also identifies the main function of the program, i.e. the start of the code written by the user. The pattern files are produced automatically from a compiler´s library file in a few seconds, with no user intervention required. Due to various limitations, not all library functions can be identified correctly; a small number will be either incorrectly identified or not identified. Optimal perfect hash functions are used to keep the pattern files compact and efficient to process
  • Keywords
    object-oriented programming; parameter estimation; software libraries; systems re-engineering; compiler library file; compiler vendor; executable file; file compactness; file processing efficiency; legacy binary files; library functions identification; memory model; optimal perfect hash functions; reengineering; software pattern file; software version; statically linked library functions; Computer bugs; Computer science; Detectors; Indexing; Joining processes; Software engineering; Software libraries; Software maintenance; Testing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering Conference, 1998. Proceedings. 1998 Australian
  • Conference_Location
    Adelaide, SA
  • Print_ISBN
    0-8186-9187-5
  • Type

    conf

  • DOI
    10.1109/ASWEC.1998.730916
  • Filename
    730916