• DocumentCode
    2786588
  • Title

    Automated Verification of Shared Libraries for Backward Binary Compatibility

  • Author

    Ponomarenko, Andrey ; Rubanov, Vladimir

  • Author_Institution
    Inst. for Syst. Programming, Russian Acad. of Sci., Moscow, Russia
  • fYear
    2010
  • fDate
    22-27 Aug. 2010
  • Firstpage
    57
  • Lastpage
    62
  • Abstract
    This paper discusses a problem of ensuring backward binary compatibility when developing shared libraries. Linux (and GCC environment) is used as the main example. Breakage of the compatibility may result in crashing or incorrect behavior of applications built with an old version of a library when they are running with a new one. The paper describes typical issues that cause binary compatibility problems and presents a new method for library verification for such issues. Existing tools can detect only a small fraction of all possible backward compatibility problems while the suggested method can verify a broad spectrum of them. The method is based on comparison of function signatures and type definitions obtained from library header files in addition to analyzing symbols in library binaries. This paper also describes an automated verification tool that implements the suggested method and presents some results of its practical usage.
  • Keywords
    formal verification; libraries; GCC environment; Linux; automated verification; automated verification tool; backward binary compatibility; library header files; library verification; shared libraries; Computer crashes; Libraries; Linux; Operating systems; Registers; Semantics; Syntactics; ABI; Application binary interface; Backward binary compatibility; Linux; Shared libraries;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Advances in System Testing and Validation Lifecycle (VALID), 2010 Second International Conference on
  • Conference_Location
    Nice
  • Print_ISBN
    978-1-4244-7784-5
  • Electronic_ISBN
    978-0-7695-4146-4
  • Type

    conf

  • DOI
    10.1109/VALID.2010.27
  • Filename
    5617186