論文の概要: Exception-aware Lifecycle Model Construction for Framework APIs
- arxiv url: http://arxiv.org/abs/2401.02660v1
- Date: Fri, 5 Jan 2024 06:35:47 GMT
- ステータス: 処理完了
- システム内更新日: 2024-01-08 15:56:53.113310
- Title: Exception-aware Lifecycle Model Construction for Framework APIs
- Title(参考訳): フレームワークAPIのための例外対応ライフサイクルモデル構築
- Authors: Jiwei Yan, Jinhao Huang, Hengqin Yang, Jun Yan
- Abstract要約: 本稿では,フレームワークAPIコードから例外要約情報を抽出するために静的解析手法を採用する。
フレームワーク/ライブラリプロジェクトの例外対応APIライフサイクルモデルを生成する。
60バージョンにおける例外無意識のAPIライフサイクルモデリングと比較して、JavaExpは18%以上のAPI変更を識別できる。
- 参考スコア(独自算出の注目度): 4.333061751230906
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: The implementation of complex software systems usually depends on low-level
frameworks or third-party libraries. During their evolution, the APIs adding
and removing behaviors may cause unexpected compatibility problems. So,
precisely analyzing and constructing the framework/ library's API lifecycle
model is of great importance. Existing works have proposed the API
existence-changing model for defect detection, while not considering the
influence of semantic changes in APIs. In some cases, developers will not
remove or deprecate APIs but modify their semantics by adding, removing, or
modifying their exception-thrown code, which may bring potential defects to
upper-level code. Therefore, besides the API existence model, it is also
necessary for developers to be concerned with the exception-related code
evolution in APIs, which requires the construction of exception-aware API
lifecycle models for framework/library projects. To achieve automatic
exception-aware API lifecycle model construction, this paper adopts a static
analysis technique to extract exception summary information in the framework
API code and adopts a multi-step matching strategy to obtain the changing
process of exceptions. Then, it generates exception-aware API lifecycle models
for the given framework/library project. With this approach, the API lifecycle
extraction tool, JavaExP, is implemented, which is based on Java bytecode
analysis. Compared to the state-of-the-art tool, JavaExP achieves both a higher
F1 score (+60%) and efficiency (+7x), whose precision of exception matching and
changing results is 98%. Compared to the exception-unaware API lifecycle
modeling on 60 versions, JavaExp can identify 18% times more API changes. Among
the 75,433 APIs under analysis, 20% of APIs have changed their
exception-throwing behavior at least once after API introduction, which may
bring many hidden compatibility issues.
- Abstract(参考訳): 複雑なソフトウェアシステムの実装は通常、低レベルのフレームワークやサードパーティのライブラリに依存します。
それらの進化の間、apiの追加と削除は予期しない互換性の問題を引き起こす可能性がある。
したがって、フレームワーク/ライブラリのAPIライフサイクルモデルを正確に分析し、構築することが非常に重要です。
既存の研究は、欠陥検出のためのAPI存在変化モデルを提案しているが、APIのセマンティックな変更の影響は考慮していない。
場合によっては,apiの削除や廃止は行わないが,例外スローコードの追加や削除,あるいは変更によってセマンティクスを変更することで,上位レベルのコードに潜在的な欠陥が生じる可能性がある。
したがって、APIの存在モデルに加えて、開発者は、フレームワーク/ライブラリプロジェクトのための例外対応のAPIライフサイクルモデルを構築する必要があるAPIの例外関連コード進化に関心を持つ必要がある。
自動例外認識APIライフサイクルモデル構築を実現するため,フレームワークAPIコードから例外要約情報を抽出する静的解析手法を採用し,複数ステップマッチング戦略を採用し,例外の変更プロセスを取得する。
そして、フレームワーク/ライブラリプロジェクトの例外対応APIライフサイクルモデルを生成する。
このアプローチでは、Javaバイトコード分析に基づいたAPIライフサイクル抽出ツールであるJavaExPが実装されている。
最先端のツールと比較して、JavaExPはより高いF1スコア(+60%)と効率(+7x)を達成しており、例外マッチングと変更結果の精度は98%である。
60バージョンにおける例外無意識のAPIライフサイクルモデリングと比較して、JavaExpは18%以上のAPI変更を識別できる。
分析中の75,433のAPIの中で、20%のAPIが、少なくともAPI導入後に例外スロー動作を変更した。
関連論文リスト
- RESTRuler: Towards Automatically Identifying Violations of RESTful
Design Rules in Web APIs [3.4711214580685557]
静的解析を用いてオープンAPI記述における設計規則違反を検出する,JavaベースのオープンソースツールであるRESTRulerを紹介する。
堅牢性のため、RESTRulerは、使用済みの現実世界のOpenAPI定義の99%をうまく分析した。
パフォーマンス効率向上のために、このツールは大部分のファイルに対して良好に動作し、CPUとRAM使用率の低い23秒未満で84%の分析が可能になった。
論文 参考訳(メタデータ) (2024-02-21T11:25:22Z) - Automatic and Efficient Customization of Neural Networks for ML
Applications [29.391143085794184]
本稿では,ChameleonAPIを提案する。
ChameleonAPIは損失関数を使用して、各アプリケーション用にカスタマイズされたニューラルネットワークモデルを効率的にトレーニングする。
最高の商用ML APIを選択するベースラインと比較して、ChameleonAPIは間違ったアプリケーション決定を43%削減することを示す。
論文 参考訳(メタデータ) (2023-10-07T04:13:29Z) - APICom: Automatic API Completion via Prompt Learning and Adversarial
Training-based Data Augmentation [6.029137544885093]
APIレコメンデーションは、開発者が多数の候補APIの中で必要なAPIを見つけるのを支援するプロセスである。
これまでの研究では、主にAPIレコメンデーションをレコメンデーションタスクとしてモデル化していた。
ニューラルネットワーク翻訳研究領域に動機づけられたこの問題を生成タスクとしてモデル化することができる。
提案手法は,プロンプト学習に基づく新しいアプローチAPIComを提案し,そのプロンプトに応じてクエリに関連するAPIを生成する。
論文 参考訳(メタデータ) (2023-09-13T15:31:50Z) - Continual Learning From a Stream of APIs [90.41825351073908]
継続学習(CL)は、以前のタスクを忘れずに新しいタスクを学習することを目的としている。
既存のCLメソッドは大量の生データを必要とするが、著作権上の考慮とプライバシー上のリスクのために利用できないことが多い。
本稿では,データ効率CL (DECL-APIs) とデータフリーCL (DFCL-APIs) の2つの実践的yet-novel CL設定について考察する。
論文 参考訳(メタデータ) (2023-08-31T11:16:00Z) - Private-Library-Oriented Code Generation with Large Language Models [52.73999698194344]
本稿では,大規模言語モデル(LLM)をプライベートライブラリのコード生成に活用することに焦点を当てる。
プログラマがプライベートコードを書く過程をエミュレートする新しいフレームワークを提案する。
TorchDataEval、TorchDataComplexEval、MonkeyEval、BeatNumEvalの4つのプライベートライブラリベンチマークを作成しました。
論文 参考訳(メタデータ) (2023-07-28T07:43:13Z) - Learning to Learn from APIs: Black-Box Data-Free Meta-Learning [95.41441357931397]
データフリーなメタラーニング(DFML)は、トレーニングデータにアクセスせずに事前訓練されたモデルの集合からメタラーニングすることで、新しいタスクの効率的な学習を可能にすることを目的としている。
既存のDFMLの作業は、(i)ホワイトボックスと(ii)小規模事前訓練モデルからしかメタ学習できない。
ブラックボックスAPIの集合から単一のモデルへ,より一般的なメタ知識を伝達するための,バイレベルデータフリーなメタ知識蒸留(BiDf-MKD)フレームワークを提案する。
論文 参考訳(メタデータ) (2023-05-28T18:00:12Z) - ToolCoder: Teach Code Generation Models to use API search tools [44.370920906850024]
コード生成とAPI選択を支援するために,既存のモデルにAPI検索ツールを統合する新しいアプローチであるToolCoderを提案する。
実験の結果,ToolCoderは,公開およびプライベートの5つのライブラリコード生成ベンチマークにおいて,優れたパフォーマンスと一般化を示すことがわかった。
論文 参考訳(メタデータ) (2023-05-06T12:45:28Z) - Binding Language Models in Symbolic Languages [146.3027328556881]
Binderはトレーニング不要のニューラルシンボリックフレームワークで、タスク入力をプログラムにマッピングする。
解析の段階では、Codexは元のプログラミング言語では答えられないタスク入力の一部を特定することができる。
実行段階では、CodexはAPI呼び出しで適切なプロンプトを与えられた万能機能を実行することができる。
論文 参考訳(メタデータ) (2022-10-06T12:55:17Z) - HAPI: A Large-scale Longitudinal Dataset of Commercial ML API
Predictions [35.48276161473216]
商用ML APIアプリケーションの1,761,417インスタンスの時系列データセットであるHAPIを提示する。
各インスタンスは、APIに対するクエリ入力と、APIの出力予測/アノテーションと信頼性スコアで構成されている。
論文 参考訳(メタデータ) (2022-09-18T01:52:16Z) - Petals: Collaborative Inference and Fine-tuning of Large Models [78.37798144357977]
多くのNLPタスクは、1000億以上のパラメータを持つ大きな言語モデル(LLM)を使用することで恩恵を受ける。
BLOOM-176BとOPT-175Bのリリースにより、誰もがこのスケールで事前訓練されたモデルをダウンロードできる。
我々は,大規模モデルの推測と微調整を協調的に行うシステムとして,Petals $-$を提案する。
論文 参考訳(メタデータ) (2022-09-02T17:38:03Z) - API2Com: On the Improvement of Automatically Generated Code Comments
Using API Documentations [0.0]
コメント生成の知識リソースとしてAPI Docs(Application Programming Interface Documentations)を利用するモデルであるAPI2Comを提案する。
このモデルを130,000以上のメソッドからなる大規模なJavaデータセットに適用し,TransformerとRNNベースのアーキテクチャを用いて評価する。
論文 参考訳(メタデータ) (2021-03-19T07:29:40Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。