ModuleGuard: Understanding and Detecting Module Conflicts in Python Ecosystem
Abstract
Python has become one of the most popular programming languages for software development due to its simplicity, readability, and versatility. As the Python ecosystem grows, developers face increasing challenges in avoiding module conflicts, which occur when different packages have the same namespace modules. Unfortunately, existing work has neither investigated the module conflict comprehensively nor provided tools to detect the conflict. Therefore, this paper systematically investigates the module conflict problem and its impact on the Python ecosystem. We propose a novel technique called InstSimulator, which leverages semantics and installation simulation to achieve accurate and efficient module extraction. Based on this, we implement a tool called ModuleGuard to detect module conflicts for the Python ecosystem.
BibTeX
@inproceedings{Zhu-al:ICSE24,
author = {Ruofan Zhu and
Xingyu Wang and
Chengwei Liu and
Zhengzi Xu and
Wenbo Shen and
Rui Chang and
Yang Liu},
title = {{ModuleGuard:} Understanding and Detecting Module Conflicts in Python Ecosystem},
booktitle = {ICSE},
pages = {211:1--211:12},
publisher = {{ACM}},
year = {2024},
}