Given the header files and shared objects corresponding to two different shared library versions, and a simple description of each of the shared libraries in XML format, abi-compliance-checker searches for the following kinds of binary compatibility problems: --added/withdrawn interfaces (functions, global variables) --changes to constants --problems in data types: --classes: added/withdrawn virtual functions (changes in layout of virtual table), virtual function positions, virtual function redefinitions --structural data types: added/withdrawn members (changes in layout of type structure), changes in members, size changes --enumerations: member value changes --interface problems: --parameter and return type changes --incorrect symbol versions The checker then generates a report that assesses the risks of any potential problems detected.