论文

Python项目中跨操作系统可移植性问题的实证分析

An Empirical Analysis of Cross-OS Portability Issues in Python Projects

模型评测模型能力评测

摘要

虽然 Python 被设计为跨平台语言,但实际应用程序在跨不同操作系统部署时会遇到可移植性故障。我们首次对 Python 中的跨操作系统可移植性问题进行了大规模实证研究,使用两种互补的方法分析了 2,042 个开源存储库:系统的跨操作系统测试重新执行和 GitHub 问题的手动分析。我们对 500 个项目进行的跨平台测试表明,11.2% 的项目表现出与操作系统相关的测试失败。通过对 240 个 GitHub 问题的系统分析,我们确认了 95 个其他项目中的 102 个真正的可移植性问题。我们开发了一个全面的分类法,识别 7 个主要故障类别(其中文件/目录操作、进程管理和库依赖性最为普遍),以及 24 个不同的子类别、15 个诊断签名和 4 个系统修复模式。我们的评估表明,现有的静态分析工具对可移植性检测提供的支持很少,而大型语言模型在提供结构化指导时,识别问题的准确率达到 40-79%,生成修复的成功率达到 50-77%。通过 33 个贡献的拉取请求,我们展示了我们的发现的实际适用性和开发人员的接受度(17 个合并,零个拒绝)。这项工作为理解和解决 Python 中的跨操作系统可移植性问题建立了第一个全面的基线,为开发人员、工具设计者和更广泛的研究社区提供了可操作的见解。