一句话:提出 InstSimulator 与 ModuleGuard,系统研究并检测 Python 生态中同命名空间导致的模块冲突。
Python 生态中不同包可能包含同命名空间的模块,从而引发模块冲突,但现有工作既未全面研究该问题,也缺乏检测工具。本文系统调查模块冲突及其对 Python 生态的影响,提出 InstSimulator 技术,结合语义分析与安装模拟,实现准确且高效的模块提取。基于该技术实现工具 ModuleGuard,用于检测 Python 生态中的模块冲突。摘要未给出具体数据集与量化结果。
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.
DOI 原文 ·
@inproceedings{paperbot11256,
title = {ModuleGuard: Understanding and Detecting Module Conflicts in Python Ecosystem},
author = {Ruofan Zhu and Xingyu Wang and Chengwei Liu and Zhengzi Xu and Wenbo Shen and Rui Chang and Yang Liu},
booktitle = {ICSE},
year = {2024},
doi = {10.1145/3597503.3639221}
}