Client-Specific Upgrade Compatibility Checking via Knowledge-Guided Discovery
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 paper, 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 which 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.
Thu 18 MayDisplayed time zone: Hobart change
13:45 - 15:15 | Software EvolutionTechnical Track / SEIP - Software Engineering in Practice / Journal-First Papers at Meeting Room 109 Chair(s): Sebastiano Panichella Zurich University of Applied Sciences | ||
13:45 15mTalk | Dependency Facade: The Coupling and Conflicts between Android Framework and Its Customization Technical Track Wuxia Jin Xi'an Jiaotong University, Yitong Dai Xi'an Jiaotong University, Jianguo Zheng Xi'an Jiaotong University, Yu Qu UC Riverside, Ming Fan Xi'an Jiaotong University, Zhenyu Huang Honor Device Co., Ltd., Dezhi Huang Honor Device Co., Ltd., Ting Liu Xi'an Jiaotong University | ||
14:00 15mTalk | SEIP: Investigating a NASA Cyclomatic Complexity Policy on Maintenance Risk of a Critical System SEIP - Software Engineering in Practice Daniel Port University of Hawai‘i at Mānoa, Bill Taber , LiGuo Huang Dept. of Computer Science, Southern Methodist University, Dallas, TX, 75205 | ||
14:15 15mTalk | Aegis: Attribution of Control Plane Change Impact across Layers and Components for Cloud Systems SEIP - Software Engineering in Practice Xiaohan Yan Microsoft Azure, Ken Hsieh , Yasitha Liyanage , Minghua Ma Microsoft Research, Murali Chintalapati Microsoft Azure, Qingwei Lin Microsoft Research, Yingnong Dang Microsoft Azure, Dongmei Zhang Microsoft Research | ||
14:30 15mTalk | An Empirical Study on Change-induced Incidents at Ant Group SEIP - Software Engineering in Practice Yifan Wu Peking University, Bingxu Chai , Ying Li School of Software and Microelectronics, Peking University, Beijing, China, Bingchang Liu Key Laboratory of Network Assessment Technology, Institute of Information Engineering, Chinese Academy of Sciences, China; School of CyberSpace Security at University of Chinese Academy of Sciences, China, Jianguo Li Ant Group, Yong Yang , Wei Jiang | ||
14:45 15mTalk | Fulfilling Industrial Needs for Consistency Among Engineering Artifacts SEIP - Software Engineering in Practice Luciano Marchezan Johannes Kepler University Linz, Wesley Assunção Johannes Kepler University Linz, Austria & Pontifical Catholic University of Rio de Janeiro, Brazil, Edvin Herac , Felix Keplinger Johannes Kepler University, Linz, Alexander Egyed Johannes Kepler University Linz, Christophe Lauwerys | ||
15:00 7mTalk | The Co-evolution of the WordPress Platform and its Plugins Journal-First Papers Jiahuei Lin Queen’s University Software Analysis and Intelligence Lab (SAIL), Canada, Mohammed Sayagh ETS Montreal, University of Quebec, Ahmed E. Hassan Queen’s University | ||
15:07 7mTalk | Client-Specific Upgrade Compatibility Checking via Knowledge-Guided Discovery Journal-First Papers Chenguang Zhu Meta, Mengshi Zhang Meta, Xiuheng Wu Nanyang Technological University, Singapore, Xiufeng Xu Nanyang Technological University, Yi Li Nanyang Technological University Link to publication DOI Pre-print |