Application Binary Interface (ABI) compatibility is essential for system updates or software migrations to ensure that libraries continue to function. Tools that can assess a binary or library ABI can thus be used to make predictions about compatibility, and predict downstream bugs by informing developers and users about issues. In this work, we are interested in describing a set of well-known tools for assessing ABI, and testing them in a controlled set experiments to assess tool agreement. We run 7660 smaller experiments across tools (N=30,640 total results) to evaluate not only predictions, but also each tool's ability to provide detail about underlying issues. In this work, along with highlighting the problem of assessing ABI compatibility and critiquing the pros and cons of currently available tools, we provide guidance to developers interested to test ABI based on our empirical results and suggestions for future work.
翻译:应用二进制界面兼容性对于系统更新或软件迁移以确保图书馆继续运作至关重要。因此,可以评估二进制或图书馆 ABI 的工具可用于预测兼容性,并通过向开发者和用户通报问题来预测下游错误。在这项工作中,我们有兴趣描述一套众所周知的评估ABI的工具,并在一套有控制的评估工具协议的实验中测试这些工具。我们在各种工具中进行了7 660次较小的实验(N=30 640总结果),不仅评估预测,而且评估每个工具提供潜在问题细节的能力。在这项工作中,除了强调评估ABI兼容性以及现有工具的利弊问题外,我们还根据我们的经验结果和对未来工作的建议,向有兴趣测试ABI的开发者提供指导。