arrow
返回

Will Dependency Conflicts Affect My Program's Semantics?

delete2022-07-01
delete14
delete
OA
AI
Y
Ying Wang
吴
吴荣新 (Rongxin Wu)
C
Chao Wang
文
文明 (Ming Wen)
Y
Yepang Liu
S
Shing-Chi Cheung
H
Hai Yu *
C
Chang Xu
Z
Zhiliang Zhu
DOI:10.1109/TSE.2021.3057767delete
delete原文链接
delete分享
delete收藏
查看原文
摘要

摘要

En 中文
Java projects are often built on top of various third-party libraries. If multiple versions of a library exist on the classpath, JVM will only load one version and shadow the others, which we refer to as dependency conflicts. This would give rise to semantic conflict (SC) issues, if the library APIs referenced by a project have identical method signatures but inconsistent semantics across the loaded and shadowed versions of libraries. SC issues are difficult for developers to diagnose in practice, since understanding them typically requires domain knowledge. Although adapting the existing test generation technique for dependency conflict issues, RIDDLE, to detect SC issues is feasible, its effectiveness is greatly compromised. This is mainly because RIDDLE randomly generates test inputs, while the SC issues typically require specific arguments in the tests to be exposed. To address that, we conducted an empirical study of 316 real SC issues to understand the characteristics of such specific arguments in the test cases that can capture the SC issues. Inspired by our empirical findings, we propose an automated testing technique SENSOR, which synthesizes test cases using ingredients from the project under test to trigger inconsistent behaviors of the APIs with the same signatures in conflicting library versions. Our evaluation results show that SENSOR is effective and useful: it achieved a Precision of 0.898 and a Recall of 0.725 on open-source projects and a Precision of 0.821 on industrial projects; it detected 306 semantic conflict issues in 50 projects, 70.4 percent of which had been confirmed as real bugs, and 84.2 percent of the confirmed issues have been fixed quickly.
Keyword:
Third-party libraries
test generation
empirical study
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

IEEE Transactions on Software Engineering 封面图
IEEE Transactions on Software Engineering
IF:
5.6
论文数:
2.9K
被引数:
1.1W

机构

N
nanjing university
学者数:
7.8W
论文数: 5.6W
被引数: 87
X
xiamen university
学者数:
5.9W
论文数: 3.8W
被引数: 67
引用论文

引用论文

Quality of Life and Psychopathology in Adults Who Underwent Hematopoietic Stem Cell Transplantation (HSCT) in Childhood: A Qualitative and Quantitative Analysis
err2017-08-08
err0
errOAAI
errFrancesco Sinatora; Annalisa Traverso; Silvia Zanato; Nicoletta Di Florio; Alessio Porreca; Marta Tremolada; Valentina Boscolo; Antonio Marzollo; Chiara Mainardi; Elisabetta Calore; Marta Pillon; Chiara Cattelan; Giuseppe Basso; Chiara Messina
err分享
err收藏
A transcriptional response atlas of Chrysanthemum morifolium to dodder invasion
err2021-01-01
err0
PREAI
errYe Liu; Lina Liu; Wenqian Zhao; Zhiyong Guan; Jiafu Jiang; Weimin Fang; Fadi Chen
err分享
err收藏
err分享
err收藏
Electroanalytical overview: the use of laser-induced graphene sensors
err2025-01-01
err0
errOAAI
errRobert D. Crapnell; Elena Bernalte; Rodrigo A. A. Muñoz; Craig E. Banks
err分享
err收藏
err分享
err收藏
Acid modified multiwalled carbon nanotubes condition by reflux
err2019-09-25
err0
PREAI
errKittimon Jirakittidul; Naratip Vittayakorn; Rawijee Manrean; Natchanun Pornteeranawapat; Saichon Neamyooyong
err分享
err收藏
学者 查看更多内容