PythonプロジェクトのOS間移植性の問題を調査
An Empirical Analysis of Cross-OS Portability Issues in Python Projects
この論文をやさしく読む
ひとことで言うと
Pythonの公開プロジェクトでOSを変えたときに何が壊れるか、テストと問題報告を調べて分類しました。
何に役立つ?
複数OSを対象とするテスト計画や、ファイル操作・プロセス管理などの移植性チェックを設計する材料になります。
この研究の面白いところ
テスト失敗の頻度、問題の分類、ツールとLLMによる検出・修正、実際のPR受け入れまで調べています。
どこまで分かった?
調査対象は選ばれたオープンソース・リポジトリと問題報告です。11.2%はテストした500プロジェクトに対する割合で、Python全体の割合ではありません。
v2のアブストラクトに基づくAI解説。日本語訳とは別に、用途の解釈を含みます。
アブストラクトの日本語訳
Pythonは複数のOSで動く言語として設計されているが、実際のアプリケーションはOSを変えると移植性の問題に直面する。本研究は、オープンソースの2,042リポジトリについて、OSを変えたテストの再実行とGitHubの問題報告の手作業分析を組み合わせ、大規模に調べた。500プロジェクトのクロスプラットフォーム・テストでは、11.2%にOS依存のテスト失敗があった。GitHubの問題報告240件の体系的な分析では、さらに95プロジェクトにまたがる真の移植性問題102件を確認した。 問題を七つの主要分類に整理し、ファイル・ディレクトリ操作、プロセス管理、ライブラリ依存関係が最も多かった。さらに24の下位分類、15の診断上の特徴、四つの体系的な修正パターンを示した。既存の静的解析ツールは移植性問題の検出をほとんど支援せず、大規模言語モデルは構造化された指針を与えると、問題の識別で40~79%の正解率、修正生成で50~77%の成功率だった。知見を使って33件のPRを提出し、そのうち17件が統合され、却下はゼロだった。この研究はPythonのOS間移植性問題の理解と対処のための基礎的な比較材料を与える。
v2の要旨から自動生成。本文の精読・人による確認は未実施。
- 初稿
- 2026-09-22(UTC)
- 最新改訂
- 2026-09-24 · v2
- 査読・掲載
- 掲載先の記載あり
著者による掲載先の記載:MSR 2026: Proceedings of the 23rd International Conference on Mining Software Repositories。出版社での独立確認は未実施です。
更新履歴
取得できた版を表示。版の更新は査読済みを意味しません。過去版の本文差分は未解析です。
原文の要旨
While Python is designed as a cross-platform language, real-world applications encounter portability failures when deployed across different operating systems. We present the first large-scale empirical study of cross-OS portability issues in Python, analyzing 2,042 open-source repositories using two complementary approaches: systematic cross-OS test reexecution and manual analysis of GitHub issues. Our cross-platform testing of 500 projects reveals that 11.2% exhibit OS-dependent test failures. Through systematic analysis of 240 GitHub issues, we confirm 102 genuine portability problems spanning 95 additional projects. We develop a comprehensive taxonomy identifying 7 primary failure categories - with file/directory operations, process management, and library dependencies being most prevalent - along with 24 distinct sub-categories, 15 diagnostic signatures, and 4 systematic repair patterns. Our evaluation reveals that existing static analysis tools provide minimal support for portability detection, while large language models achieve 40-79% accuracy in identifying issues and 50-77% success in generating fixes when provided with structured guidance. Through 33 contributed pull requests, we demonstrate practical applicability and developer acceptance (17 merged, zero rejected) of our findings. This work establishes the first comprehensive baseline for understanding and addressing cross-OS portability issues in Python, providing actionable insights for developers, tool designers, and the broader research community.
arXiv ID: 2609.25531 / 要約の誤りについて