論文の概要: SMTpip: Interpreter-Aware SMT-Based Dependency Conflict Resolution for Restoring Python Source-Code Executability
- arxiv url: http://arxiv.org/abs/2608.15886v1
- Date: Sun, 16 Aug 2026 18:22:59 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-08-18 19:59:03.460121
- Title: SMTpip: Interpreter-Aware SMT-Based Dependency Conflict Resolution for Restoring Python Source-Code Executability
- Title(参考訳): SMTpip: Pythonのソースコード実行性回復のための解釈対応SMTベースの依存性競合解決
- Abstract要約: 我々は,Pythonのソースコードアーティファクトの実行性を改善するためのインタプリタ対応環境推論手法であるSMTpipを提案する。
SMTpipは、数百万のパッケージリリースをホストするPython Package Index(PyPI)に格納されたメタデータを使用して、依存性知識グラフを構築する。
オープンソースのPythonプロジェクトからの複数のデータセットに対する実証的な評価は、SMTpipが相当なスピードアップを達成することを示している。
- 参考スコア(独自算出の注目度): 5.10290711045049
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Software developers rely on packages to reuse existing functionality instead of implementing everything from scratch. Python developers commonly provide package and interpreter dependencies using configuration files, such as requirements.txt or setup.py. Package managers in Python, such as pip, can install packages according to dependency and interpreter version constraints specified in configuration files. However, Python dependency resolution remains challenging: (1) different packages may require incompatible versions of the same dependency; (2) dependencies may require a Python interpreter version that is incompatible with the interpreter used for the project, making a valid environment impossible; and (3) pip, the most popular Python package manager, resolves conflicts via backtracking, repeatedly trying candidate versions without knowing whether a valid execution environment exists or not. To address these challenges, we present SMTpip, an interpreter-aware environment inference technique for improving the executability of Python source-code artifacts. SMTpip constructs a dependency knowledge graph using metadata stored in the Python Package Index (PyPI) that hosts millions of package releases, encodes both package version constraints and interpreter compatibility constraints specified in configuration files into Satisfiability Modulo Theories (SMT) formulas. Solving these formulas identifies a set of package versions and an interpreter version that jointly satisfy all declared constraints. Empirical evaluation on multiple datasets from open-source Python projects shows that SMTpip achieves substantial speedups -- $6.9\times$ over pip, $9.6\times$ over Conda, $3.2\times$ over smartPip, and $4\times$ over PyEGo -- while consistently producing constraint-consistent environments.
- Abstract(参考訳): ソフトウェア開発者は、すべてをスクラッチから実装するのではなく、既存の機能を再利用するためのパッケージに依存しています。
Python開発者は一般的に、require.txtやsetset.pyといった設定ファイルを使ってパッケージとインタプリタの依存関係を提供する。
pipのようなPythonのパッケージマネージャは、設定ファイルで指定された依存関係とインタプリタのバージョン制約に従ってパッケージをインストールすることができる。
しかし、Pythonの依存関係の解決は難しいままである: (1) 異なるパッケージは、同じ依存関係の互換性のないバージョンを必要とするかもしれない; (2) 依存関係は、プロジェクトで使用されるインタプリタと互換性のないPythonインタプリタバージョンを必要とするかもしれない; (3) もっとも人気のあるPythonパッケージマネージャであるpipは、有効な実行環境が存在するかどうかを知らずに、バックトラックによって競合を解決する。
これらの課題に対処するために,Pythonのソースコードアーティファクトの実行性を改善するためのインタプリタ対応環境推論技術であるSMTpipを提案する。
SMTpipは、数百万のパッケージリリースをホストするPython Package Index(PyPI)に格納されたメタデータを使用して依存知識グラフを構築し、構成ファイルで指定されたパッケージバージョン制約とインタプリタ互換性制約をSatifiability Modulo Theories(SMT)公式にエンコードする。
これらの式を解くことで、パッケージバージョンと、宣言されたすべての制約を共同で満たすインタプリタバージョンが特定される。
オープンソースのPythonプロジェクトによる複数のデータセットに対する実証的な評価によると、SMTpipは実質的なスピードアップ(pip以上)、6.9\times$ over pip、9.6\times$ over Conda、$3.2\times$ over smartPip、$4\times$ over PyEGo)を達成した。
関連論文リスト
- Breaking the Dependency Chaos: A Constraint-Driven Python Dependency Resolution Strategy with Selective LLM Imputation [1.0832844764942349]
依存性の解決は、コンフリクトなしで一緒にインストールできるパッケージバージョンを選択するタスクである。
LLMMのような最近の研究は、Pythonとパッケージバージョンをコードから推論するために大きな言語モデルを使用することでこの問題に対処している。
SMT-LLMは,形式的制約解で推定するバージョンを置き換えたハイブリッドシステムである。
論文 参考訳(メタデータ) (2026-05-12T08:42:37Z) - The Opaque Pointer Design Pattern in Python: Towards a Pythonic PIMPL for Modularity, Encapsulation, and Stability [0.23332469289621785]
Pythonライブラリは、内部実装が進化しても安定したパブリックAPIを維持する必要がしばしばある。
本稿では、C++からポインタから実装までのイディオム(PIMPL)を見直し、不透明なデリゲートのPythonパターンとして再解釈する。
既存のランタイムでPythonのPIMPLを使用して、重い依存関係を分離し、遅延インポートをサポートし、パブリックAPIを変更することなく代替バックエンドの選択を可能にする方法を示します。
論文 参考訳(メタデータ) (2026-01-27T01:02:26Z) - PyTrim: A Practical Tool for Reducing Python Dependency Bloat [4.121942353083345]
依存性の肥大化はPythonプロジェクトでの永続的な課題である。
このプロセスを自動化するエンド・ツー・エンドのシステムであるPYTRIMを導入する。
PYTRIMは、さまざまなファイルタイプにわたる未使用のインポートとパッケージ宣言を削除する。
論文 参考訳(メタデータ) (2025-10-01T08:58:55Z) - PyPitfall: Dependency Chaos and Software Supply Chain Vulnerabilities in Python [1.2644387713029346]
本稿では、PyPIエコシステム全体にわたる脆弱な依存関係の定量的解析であるPyPitfallを紹介する。
我々は,378,573個のPyPIパッケージの依存関係構造を分析し,少なくとも1つの既知の拡張可能なバージョンを必要とする4,655個のパッケージを特定した。
我々は,Pythonソフトウェアサプライチェーンのセキュリティに対する認識を高めることを目的としている。
論文 参考訳(メタデータ) (2025-07-24T03:58:18Z) - The Last Dependency Crusade: Solving Python Dependency Conflicts with LLMs [10.800983456810165]
本稿では,Pythonプログラムの依存性問題を自動的に修復するLarge Language Models (LLMs) について検討する。
本稿では,新しい検索拡張世代 (RAG) アプローチであるHGM (plum) を提案する。
論文 参考訳(メタデータ) (2025-01-27T16:45:34Z) - PyPulse: A Python Library for Biosignal Imputation [58.35269251730328]
PyPulseは,臨床およびウェアラブルの両方のセンサ設定において生体信号の計算を行うPythonパッケージである。
PyPulseのフレームワークは、非機械学習バイオリサーバーを含む幅広いユーザーベースに対して、使い勝手の良いモジュラーで拡張可能なフレームワークを提供する。
PyPulseはMITライセンスでGithubとPyPIでリリースしました。
論文 参考訳(メタデータ) (2024-12-09T11:00:55Z) - depyf: Open the Opaque Box of PyTorch Compiler for Machine Learning Researchers [92.13613958373628]
textttdepyfは、PyTorchコンパイラの内部動作を復号化するためのツールである。
textttdepyfは、PyTorchが生成したバイトコードを等価なソースコードに逆コンパイルする。
論文 参考訳(メタデータ) (2024-03-14T16:17:14Z) - pyvene: A Library for Understanding and Improving PyTorch Models via
Interventions [79.72930339711478]
$textbfpyvene$は、さまざまなPyTorchモジュールに対するカスタマイズ可能な介入をサポートするオープンソースライブラリである。
私たちは、$textbfpyvene$が、ニューラルモデルへの介入を実行し、他のモデルとインターバルされたモデルを共有するための統一されたフレームワークを提供する方法を示します。
論文 参考訳(メタデータ) (2024-03-12T16:46:54Z) - On the Feasibility of Cross-Language Detection of Malicious Packages in
npm and PyPI [6.935278888313423]
悪意のあるユーザは悪意のあるコードを含むオープンソースパッケージを公開することでマルウェアを拡散し始めた。
最近の研究は、npmエコシステム内の悪意あるパッケージを検出するために機械学習技術を適用している。
言語に依存しない一連の特徴と,npm と PyPI の悪意あるパッケージを検出可能なモデルのトレーニングを含む,新しいアプローチを提案する。
論文 参考訳(メタデータ) (2023-10-14T12:32:51Z) - DADApy: Distance-based Analysis of DAta-manifolds in Python [51.37841707191944]
DADApyは、高次元データの分析と特徴付けのためのピソンソフトウェアパッケージである。
固有次元と確率密度を推定し、密度に基づくクラスタリングを行い、異なる距離メトリクスを比較する方法を提供する。
論文 参考訳(メタデータ) (2022-05-04T08:41:59Z) - PyHHMM: A Python Library for Heterogeneous Hidden Markov Models [63.01207205641885]
PyHHMM は Heterogeneous-Hidden Markov Models (HHMM) のオブジェクト指向Python実装である。
PyHHMMは、異種観測モデル、データ推論の欠如、異なるモデルの順序選択基準、半教師付きトレーニングなど、同様のフレームワークではサポートされない機能を強調している。
PyHHMMは、numpy、scipy、scikit-learn、およびシーボーンPythonパッケージに依存しており、Apache-2.0ライセンスの下で配布されている。
論文 参考訳(メタデータ) (2022-01-12T07:32:36Z) - pyBART: Evidence-based Syntactic Transformations for IE [52.93947844555369]
pyBARTは、英語のUD木を拡張UDグラフに変換するためのオープンソースのPythonライブラリである。
パターンに基づく関係抽出のシナリオで評価すると、より少ないパターンを必要としながら、より高精細なUDよりも高い抽出スコアが得られる。
論文 参考訳(メタデータ) (2020-05-04T07:38:34Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。