論文の概要: PCART: Automated Repair of Python API Parameter Compatibility Issues
- arxiv url: http://arxiv.org/abs/2406.03839v3
- Date: Sun, 02 Mar 2025 12:21:40 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-03-04 16:11:22.364754
- Title: PCART: Automated Repair of Python API Parameter Compatibility Issues
- Title(参考訳): PCART: Python APIパラメータ互換性問題の自動修正
- Authors: Shuai Zhang, Guanping Xiao, Jun Wang, Huashan Lei, Gangqiang He, Yepang Liu, Zheng Zheng,
- Abstract要約: Pythonのサードパーティライブラリは、特にディープラーニングや科学計算といった分野において、重要な役割を担っている。
これらのライブラリのAPIパラメータは進化の過程でしばしば変化し、特定のバージョンに依存したクライアントアプリケーションの互換性の問題を引き起こす。
Python APIパラメータの互換性問題を自動的に検出し、修正するツールは存在しない。
PCARTは、API抽出、コードインスツルメンテーション、APIマッピング確立、互換性評価、修復、バリデーションのプロセスを完全に自動化する最初のソリューションである。
- 参考スコア(独自算出の注目度): 11.36053416670063
- License:
- Abstract: In modern software development, Python third-party libraries play a critical role, especially in fields like deep learning and scientific computing. However, API parameters in these libraries often change during evolution, leading to compatibility issues for client applications reliant on specific versions. Python's flexible parameter-passing mechanism further complicates this, as different passing methods can result in different API compatibility. Currently, no tool can automatically detect and repair Python API parameter compatibility issues. To fill this gap, we introduce PCART, the first solution to fully automate the process of API extraction, code instrumentation, API mapping establishment, compatibility assessment, repair, and validation. PCART handles various types of Python API parameter compatibility issues, including parameter addition, removal, renaming, reordering, and the conversion of positional to keyword parameters. To evaluate PCART, we construct PCBENCH, a large-scale benchmark comprising 47,478 test cases mutated from 844 parameter-changed APIs across 33 popular Python libraries. Evaluation results demonstrate that PCART is both effective and efficient, significantly outperforming existing tools (MLCatchUp and Relancer) and the large language model ChatGPT (GPT-4o), achieving an F1-score of 96.49% in detecting API parameter compatibility issues and a repair precision of 92.26%. Further evaluation on 30 real-world Python projects from GitHub confirms PCART's practicality. We believe PCART can significantly reduce the time programmers spend maintaining Python API updates and advance the automation of Python API compatibility issue repair.
- Abstract(参考訳): 現代のソフトウェア開発では、特にディープラーニングや科学計算といった分野において、Pythonのサードパーティライブラリが重要な役割を担っている。
しかし、これらのライブラリのAPIパラメータは進化の過程でしばしば変化し、クライアントアプリケーションの互換性が特定のバージョンに依存している。
Pythonのフレキシブルなパラメータパス機構は、異なるパスメソッドが異なるAPI互換性をもたらす可能性があるため、これをさらに複雑にする。
現在、Python APIパラメータの互換性問題を自動的に検出し、修正するツールは存在しない。
このギャップを埋めるために、私たちは、API抽出、コードインスツルメンテーション、APIマッピング確立、互換性評価、修復、バリデーションのプロセスを完全に自動化する最初のソリューションであるPCARTを紹介します。
PCARTは、パラメータの追加、削除、リネーム、リオーダー、位置パラメータからキーワードパラメータへの変換など、さまざまなタイプのPython APIパラメータの互換性問題を扱う。
PCARTを評価するため,33のPythonライブラリにまたがる844個のパラメータ変更APIから47,478個のテストケースからなる大規模ベンチマークPCBENCHを構築した。
評価結果によると、PCARTは既存のツール(MLCatchUpとRelancer)と大規模言語モデルChatGPT(GPT-4o)の両方に優れており、F1スコアは96.49%、修理精度は92.26%である。
GitHubから30の現実世界のPythonプロジェクトに関するさらなる評価は、PCARTの実用性を確認している。
PCARTは、プログラマがPython APIのアップデートを維持する時間を大幅に削減し、Python API互換性問題の修正を自動化します。
関連論文リスト
- SocialED: A Python Library for Social Event Detection [53.928241775629566]
SocialEDは、ソーシャルイベント検出(SED)タスクをサポートするように設計された、包括的なオープンソースのPythonライブラリである。
詳細なドキュメンテーションを備えた統一APIを提供し、研究者や実践者がソーシャルメディアにおけるイベント検出の完全なソリューションを提供する。
SocialEDは、グラフ構築やトークン化など、幅広い事前処理技術をサポートし、モデルのトレーニングや予測のための標準化されたインターフェースを含んでいる。
論文 参考訳(メタデータ) (2024-12-18T03:37:47Z) - PyPulse: A Python Library for Biosignal Imputation [58.35269251730328]
PyPulseは,臨床およびウェアラブルの両方のセンサ設定において生体信号の計算を行うPythonパッケージである。
PyPulseのフレームワークは、非機械学習バイオリサーバーを含む幅広いユーザーベースに対して、使い勝手の良いモジュラーで拡張可能なフレームワークを提供する。
PyPulseはMITライセンスでGithubとPyPIでリリースしました。
論文 参考訳(メタデータ) (2024-12-09T11:00:55Z) - A Large-scale Investigation of Semantically Incompatible APIs behind Compatibility Issues in Android Apps [13.24503570840706]
Android Open Source Project(AOSP)において、互換性のないAPIを大規模に発見する。
非互換なAPI,特にセマンティックな変更を検出するための統合フレームワークを提案する。
提案手法は,バージョン4からバージョン33までの互換性のない5,481のAPIを検出する。
論文 参考訳(メタデータ) (2024-06-25T10:12:37Z) - Exception-aware Lifecycle Model Construction for Framework APIs [4.333061751230906]
本稿では,フレームワークAPIコードから例外要約情報を抽出するために静的解析手法を採用する。
フレームワーク/ライブラリプロジェクトの例外対応APIライフサイクルモデルを生成する。
60バージョンにおける例外無意識のAPIライフサイクルモデリングと比較して、JavaExpは18%以上のAPI変更を識別できる。
論文 参考訳(メタデータ) (2024-01-05T06:35:47Z) - PyBADS: Fast and robust black-box optimization in Python [11.4219428942199]
PyBADSは、高速で堅牢なブラックボックス最適化のためのAdaptive Direct Search (BADS)アルゴリズムの実装である。
結果を実行するアルゴリズムを実行するための、使い易いPythonインターフェースとともに提供される。
論文 参考訳(メタデータ) (2023-06-27T15:54:44Z) - Scalable and Precise Application-Centered Call Graph Construction for Python [4.655332013331494]
PyCGはPythonプログラムのコールグラフを構築するための最先端のアプローチである。
本稿では,Python プログラム用のアプリケーション中心のコールグラフを構築するためのスケーラブルで正確なアプローチを提案し,プロトタイプツール JARVIS として実装する。
1つの関数を入力として、JARVISは、フローセンシティブなプロセス内分析とプロセス間解析を行う、オンザフライのコールグラフを生成する。
論文 参考訳(メタデータ) (2023-05-10T07:40:05Z) - PyGOD: A Python Library for Graph Outlier Detection [56.33769221859135]
PyGODは、グラフデータの外れ値を検出するオープンソースライブラリである。
外れ値検出のための主要なグラフベースのメソッドを幅広くサポートしています。
PyGODはBSD 2-Clauseライセンスの下でhttps://pygod.orgとPython Package Index (PyPI)でリリースされている。
論文 参考訳(メタデータ) (2022-04-26T06:15:21Z) - 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) - MOGPTK: The Multi-Output Gaussian Process Toolkit [71.08576457371433]
ガウス過程(GP)を用いたマルチチャネルデータモデリングのためのPythonパッケージMOGPTKを提案する。
このツールキットの目的は、研究者、データサイエンティスト、実践者にもMOGP(multi-output GP)モデルを利用できるようにすることである。
論文 参考訳(メタデータ) (2020-02-09T23:34:49Z) - OPFython: A Python-Inspired Optimum-Path Forest Classifier [68.8204255655161]
本稿では,OPFythonと表記されるPythonベースのOptimum-Path Forestフレームワークを提案する。
OPFythonはPythonベースのライブラリなので、C言語よりもフレンドリーな環境とプロトタイピングの作業スペースを提供する。
論文 参考訳(メタデータ) (2020-01-28T15:46:19Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。