This paper discusses the problem of ensuring backward compatibility between new and old versions of software components (e.g., libraries). Linux environment is considered as the main example. Breakage of the compatibility in a new version of a software component may result in crashing or incorrect behavior (at binary level) or inability to build (at source level) of applications targeted at a previous version of the component when the applications are used with the new version of the component. The paper describes typical issues that cause backward compatibility problems at binary level and presents a new method for automatic detection of such issues during component development (focusing on changes in structure of interfaces). C/C++ language is used as the main example. Unlike the existing means, the suggested method can verify a broad spectrum of backward compatibility problems by comparing function signatures and type definitions obtained from the component's header files in addition to analyzing symbols in the component's binaries. Also, this paper describes an automated checker tool that implements the suggested method with some results of its practical usage. © 2012 Springer-Verlag Berlin Heidelberg.
CITATION STYLE
Ponomarenko, A., & Rubanov, V. (2012). A combined technique for automatic detection of backward binary compatibility problems. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 7162 LNCS, pp. 313–321). https://doi.org/10.1007/978-3-642-29709-0_27
Mendeley helps you to discover research relevant for your work.