論文の概要: PCART: Automated Repair of Python API Parameter Compatibility Issues
- arxiv url: http://arxiv.org/abs/2406.03839v1
- Date: Thu, 6 Jun 2024 08:15:12 GMT
- ステータス: 処理完了
- システム内更新日: 2024-06-07 15:59:34.026414
- Title: PCART: Automated Repair of Python API Parameter Compatibility Issues
- Title(参考訳): PCART: Python APIパラメータ互換性問題の自動修正
- Authors: Shuai Zhang, Guanping Xiao, Jun Wang, Huashan Lei, Yepang Liu, Yulei Sui, Zheng Zheng,
- Abstract要約: Pythonのサードパーティライブラリは、特にディープラーニングや科学計算といった分野において、重要になっている。
サードパーティライブラリのAPIパラメータは進化の過程で頻繁に変更され、特定のバージョンに依存するクライアントアプリケーションの互換性の問題が発生する。
Python APIパラメータの互換性問題を自動的に検出し、修復するツールはありません。
- 参考スコア(独自算出の注目度): 17.2223738707004
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: In modern software development, Python third-party libraries have become crucial, particularly due to their widespread use in fields such as deep learning and scientific computing. However, the parameters of APIs in third-party libraries often change during evolution, causing compatibility issues for client applications that depend on specific versions. Due to Python's flexible parameter-passing mechanism, different methods of parameter passing can result in different API compatibility. Currently, no tool is capable of automatically detecting and repairing Python API parameter compatibility issues. To fill this gap, we propose PCART, the first to implement a fully automated process from API extraction, code instrumentation, and API mapping establishment, to compatibility assessment, and finally to repair and validation, for solving various types of Python API parameter compatibility issues, i.e., parameter addition, removal, renaming, reordering of parameters, as well as the conversion of positional parameters to keyword parameters. We construct a large-scale benchmark PCBENCH, including 47,478 test cases mutated from 844 parameter-changed APIs of 33 popular Python libraries, to evaluate PCART. The evaluation results show that PCART is effective yet efficient, significantly outperforming existing tools (MLCatchUp and Relancer) and the large language model ChatGPT-4, achieving an F-measure of 96.49% in detecting API parameter compatibility issues and a repair accuracy of 91.36%. The evaluation on 14 real-world Python projects from GitHub further demonstrates that PCART has good practicality. We believe PCART can help programmers reduce the time spent on maintaining Python API updates and facilitate automated Python API compatibility issue repair.
- Abstract(参考訳): 現代のソフトウェア開発において、Pythonのサードパーティライブラリは特にディープラーニングや科学計算などの分野で広く使われているため、重要になっている。
しかし、サードパーティライブラリのAPIパラメータは進化の過程で頻繁に変更され、特定のバージョンに依存するクライアントアプリケーションの互換性の問題が発生する。
Pythonのフレキシブルなパラメータパス機構のため、異なるパラメータパスのメソッドは異なるAPI互換性をもたらす可能性がある。
現在、Python APIパラメータの互換性問題を自動的に検出し、修正するツールは存在しない。
このギャップを埋めるために、PCARTは、まず、API抽出、コードインスツルメンテーション、APIマッピング設定から互換性評価まで、そして最後に、様々な種類のPython APIパラメータ互換性問題、すなわちパラメータの追加、削除、リネーム、パラメータの再順序付け、およびパラメータへの位置パラメータの変換の修正と検証まで、完全に自動化されたプロセスを実装する。
47,478個のテストケースを含む大規模ベンチマークPCBENCHを構築し,PCARTを評価する。
評価の結果、PCARTは効率的かつ効率的であり、既存のツール(MLCatchUpとRelancer)と大規模言語モデルChatGPT-4を著しく上回り、APIパラメータの互換性問題の検出に96.49%、修復精度91.36%を達成していることがわかった。
GitHubによる14の現実世界のPythonプロジェクトの評価は、PCARTが優れた実用性を持っていることを示している。
PCARTは、Python APIアップデートのメンテナンスに費やした時間を短縮し、Python APIの自動互換性問題の修正を容易にすることができると信じています。
関連論文リスト
- 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) - PyHopper -- Hyperparameter optimization [51.40201315676902]
我々は機械学習研究者のためのブラックボックス最適化プラットフォームであるPyHopperを紹介する。
PyHopperの目標は、最小限の労力で既存のコードと統合し、最小限のマニュアル監視で最適化プロセスを実行することである。
単純さを主テーマとして、PyHopperは単一のロバストなマルコフチェーンモンテカルロ最適化アルゴリズムを利用している。
論文 参考訳(メタデータ) (2022-10-10T14:35:01Z) - Repairing Bugs in Python Assignments Using Large Language Models [9.973714032271708]
本稿では,プログラム代入のためのAPRシステムを構築するために,コード上で訓練された大規模言語モデルを提案する。
本システムでは,複数モーダルプロンプト,反復クエリ,テストケースベースの数ショット選択,プログラムチャンキングを組み合わせることで,構文的および意味的誤りを解消することができる。
我々は,286の実際の学生プログラム上でMMAPRを評価し,最新のPython構文修復エンジン,BIFI,最新のPython意味修復エンジンを組み合わせたベースラインであるRefactoryと比較した。
論文 参考訳(メタデータ) (2022-09-29T15:41:17Z) - 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) - PyHealth: A Python Library for Health Predictive Models [53.848478115284195]
PyHealthは、医療データ上で様々な予測モデルを開発するためのオープンソースのPythonツールボックスである。
データ前処理モジュールにより、複雑なヘルスケアデータセットを機械学習フレンドリーなフォーマットに変換できます。
予測モデリングモジュールは、確立されたアンサンブルツリーとディープニューラルネットワークベースのアプローチを含む30以上の機械学習モデルを提供します。
論文 参考訳(メタデータ) (2021-01-11T22:02:08Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。