kirancodes.me
To Proof Maintenance & Beyond!

ModuleGuard: Understanding and Detecting Module Conflicts in Python Ecosystem

Ruofan Zhu, Xingyu Wang, Chengwei Liu, Zhengzi Xu, Wenbo Shen, Rui Chang, Yang Liu

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},
}

Related papers