Client-Specific Upgrade Compatibility Checking via Knowledge-Guided Discovery

Author:

Zhu Chenguang1ORCID,Zhang Mengshi2ORCID,Wu Xiuheng3ORCID,Xu Xiufeng3ORCID,Li Yi3ORCID

Affiliation:

1. The University of Texas at Austin

2. Meta Platforms

3. Nanyang Technological University

Abstract

Modern software systems are complex, and they heavily rely on external libraries developed by different teams and organizations. Such systems suffer from higher instability due to incompatibility issues caused by library upgrades. In this article, we address the problem by investigating the impact of a library upgrade on the behaviors of its clients. We developed CompCheck , an automated upgrade compatibility checking framework that generates incompatibility-revealing tests based on previous examples. CompCheck first establishes an offline knowledge base of incompatibility issues by mining from open source projects and their upgrades. It then discovers incompatibilities for a specific client project, by searching for similar library usages in the knowledge base and generating tests to reveal the problems. We evaluated CompCheck on 202 call sites of 37 open source projects and the results show that CompCheck successfully revealed incompatibility issues on 76 call sites, 72.7% and 94.9% more than two existing techniques, confirming CompCheck ’s applicability and effectiveness.

Funder

Ministry of Education, Singapore, under its Academic Research Fund Tier 2

Publisher

Association for Computing Machinery (ACM)

Subject

Software

Reference94 articles.

1. Alibaba. 2022. Fastjson. Retrieved February 9 2023 from https://github.com/alibaba/fastjson.

2. A Systematic Evaluation of Static API-Misuse Detectors

3. Apache. 2022. Apache HttpComponents. Retrieved February 9 2023 from https://hc.apache.org.

4. Apache Software Foundation. 2020. Apache Maven Project. Retrieved February 9 2023 from https://maven.apache.org.

5. Internet Archive. 2020. Heritrix. Retrieved February 9 2023 from https://github.com/internetarchive/heritrix3.

Cited by 4 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Understanding the Impact of APIs Behavioral Breaking Changes on Client Applications;Proceedings of the ACM on Software Engineering;2024-07-12

2. Diagnosis of package installation incompatibility via knowledge base;Science of Computer Programming;2024-07

3. Comparing Execution Trace Using Merkle- Tree to Detect Backward Incompatibilities;2024 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER);2024-03-12

4. Compsuite: A Dataset of Java Library Upgrade Incompatibility Issues;2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE);2023-09-11

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3