Intensive dependencies of a Java project on third-party libraries can easily lead to the presence of multiple library or class versions on its classpath.
When this happens, JVM will load one version and shadows the others. Dependency conflict (DC) issues occur when the loaded version fails to cover a required feature (e.g., method) referenced by the project, thus causing runtime exceptions. However, the warnings of duplicate classes or libraries detected by existing build tools such as Maven can be benign since not all instances of duplication will induce runtime exceptions, and hence are often ignored by developers. In this paper, we conducted an empirical study on real-world DC issues collected from large open source projects.
We studied the manifestation and fixing patterns of DC issues. Based on our findings, we designed Decca, an automated detection tool that assesses DC issues' severity and filters out the benign ones. Our evaluation results on 30 projects show that Decca achieves a precision of 0.923 and recall of 0.766 in detecting high-severity DC issues. Decca also detected new DC issues in these projects. Subsequently, 20 DC bug reports were filed, and 11 of them were confirmed by developers. Issues in 6 reports were fixed with our suggested patches.
Department of Computer Science and Engineering, The Hong Kong University of Science and Technology
Wed 7 NovDisplayed time zone: Guadalajara, Mexico City, Monterrey change
13:30 - 15:00
|Use and Misuse of Continuous Integration Features: An Empirical Study of Projects that (mis)use Travis CI|
|One Size Does Not Fit All: An Empirical Study of Containerized Continuous Deployment Workflows|
Yang Zhang National University of Defense Technology, China, Bogdan Vasilescu Carnegie Mellon University, Huaimin Wang , Vladimir Filkov University of California at Davis, USAPre-print
|Be Careful of When: An Empirical Study on Time-Related Misuse of Issue Tracking Data|
|Do the Dependency Conflicts in My Project Matter?|
Ying Wang Northeastern University, China, Ming Wen The Hong Kong University of Science and Technology, Zhenwei Liu Northeastern University, China, Rongxin Wu Department of Computer Science and Engineering, The Hong Kong University of Science and Technology, Rui Wang Northeastern University, China, Bo Yang Northeastern University, China, Hai Yu Northeastern University, China, Zhiliang Zhu Northeastern University, China, Shing-Chi Cheung Department of Computer Science and Engineering, The Hong Kong University of Science and Technology