SmartPip: A Smart Approach to Resolving Python Dependency Conflict IssuesVirtual
As one of the representative software ecosystems, PyPI, together with the installation management tool pip, greatly facilitates Python developers to automatically manage the reuse of third-party libraries, thus saving development time and cost. Despite its great success in practice, a recent empirical study revealed the risks of dependency conflict (DC) issues and then summarized the characteristics of DC issues. However, the dependency resolving strategy, which is the foundation of the prior study, has been evolved to a new one, namely the backtracking strategy. To understand how this evolution of the dependency resolving strategy affects the prior findings, we conducted an empirical study to revisit the characteristics of DC issues under the new strategy. Our study revealed that, of the two previously discovered DC issue manifestation patters, one has been significantly changed (Pattern A), while the other remained the same (Pattern B). We also observed, the fixing strategy for the DC issues of Pattern A suffers from the efficiency issue, while the one for the DC issues of Pattern B would lead to a waste of time and space. Based on our findings, we propose a tool smartPip to overcome the limitations of the fixing strategies. To resolve the DC issues of Pattern A, instead of iteratively verifying each candidate dependency library, we leverage a pre-built knowledge base of library dependencies to collect version constraints for concerned libraries, and then use constraint solving to directly find feasible solutions. To resolve the DC issues of Pattern B, we improve the existing virtual environment solution to reuse the local libraries as far as possible. Finally, we evaluated smartPip in three benchmark datasets of open source projects. The results showed that, smartPip can achieve up to 1.19X - 1.60X speedups in resolving the DC issues of Pattern A, comparing with pip with the new strategy. Comparing with the built-in Python virtual environment (venv), smartPip reduced 34.55% - 80.26% of storage space and achieve up to 2.26X - 6.53X speedups in resolving the DC issues of Pattern B.
Wed 12 OctDisplayed time zone: Eastern Time (US & Canada) change
10:00 - 12:00 | Technical Session 12 - Builds and VersionsResearch Papers at Banquet B Chair(s): Yi Li Nanyang Technological University | ||
10:00 20mResearch paper | HyperAST: Enabling Efficient Analysis of Software Histories at ScaleACM SIGSOFT Distinguished Paper Award Research Papers Quentin Le-dilavrec Univ. Rennes, IRISA, INRIA, Djamel Eddine Khelladi CNRS, France, Arnaud Blouin Univ Rennes, INSA Rennes, Inria, CNRS, IRISA, Jean-Marc Jézéquel Univ Rennes - IRISA | ||
10:20 20mResearch paper | Has My Release Disobeyed Semantic Versioning? Static Detection Based On Semantic DifferencingACM SIGSOFT Distinguished Paper Award Research Papers Lyuye Zhang Nanyang Technological University, Chengwei Liu Nanyang Technological University, Singapore, Zhengzi Xu Nanyang Technological University, Sen Chen Tianjin University, Lingling Fan Nankai University, Bihuan Chen Fudan University, China, Yang Liu Nanyang Technological University | ||
10:40 20mResearch paper | Detecting Build Conflicts in Software Merge for Java Programs via Static Analysis Research Papers Sheikh Shadab Towqir Virginia Tech, Bowen Shen Virginia Tech, Muhammad Ali Gulzar Virginia Tech, USA, Na Meng Virginia Tech | ||
11:00 20mResearch paper | SmartPip: A Smart Approach to Resolving Python Dependency Conflict IssuesVirtual Research Papers Chao Wang School of Informatics, Xiamen University, Rongxin Wu Xiamen University, Haohao Song School of Informatics, Xiamen University, Jiwu Shu School of Informatics, Xiamen University, Guoqing Li Xiamen Meiya Pico Information Co., Ltd. | ||
11:20 20mResearch paper | Accelerating Build Dependency Error Detection via Virtual BuildVirtual Research Papers Rongxin Wu Xiamen University, Minglei Chen School of Informatics, Xiamen University, Chengpeng Wang The Hong Kong University of Science and Technology, Gang Fan Ant Group, Jiguang Qiu Xiamen Meiya Pico Information Co., Ltd., Charles Zhang Hong Kong University of Science and Technology | ||
11:40 20mResearch paper | BuildSonic: Detecting and Repairing Performance-Related Configuration Smells for Continuous Integration BuildsVirtual Research Papers Chen Zhang Fudan University, Bihuan Chen Fudan University, China, Junhao Hu Fudan University, Xin Peng Fudan University, Wenyun Zhao Fudan University, China |