論文の概要: MELT: Mining Effective Lightweight Transformations from Pull Requests
- arxiv url: http://arxiv.org/abs/2308.14687v2
- Date: Mon, 8 Jul 2024 23:16:16 GMT
- ステータス: 処理完了
- システム内更新日: 2024-07-11 00:31:04.061214
- Title: MELT: Mining Effective Lightweight Transformations from Pull Requests
- Title(参考訳): MELT:プルリクエストからの効果的な軽量トランスフォーメーションのマイニング
- Authors: Daniel Ramos, Hailie Mitchell, Inês Lynce, Vasco Manquinho, Ruben Martins, Claire Le Goues,
- Abstract要約: MELTは、人気のあるライブラリリポジトリのプルリクエストから直接、APIマイグレーションルールを生成する。
構造コード検索と置換のための言語であるコンバイで変換ルールを推論する。
これまでの作業とは異なり、我々のアプローチは推論ルールをライブラリワークフローにシームレスに統合することを可能にする。
- 参考スコア(独自算出の注目度): 8.012294395224707
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Software developers often struggle to update APIs, leading to manual, time-consuming, and error-prone processes. We introduce MELT, a new approach that generates lightweight API migration rules directly from pull requests in popular library repositories. Our key insight is that pull requests merged into open-source libraries are a rich source of information sufficient to mine API migration rules. By leveraging code examples mined from the library source and automatically generated code examples based on the pull requests, we infer transformation rules in \comby, a language for structural code search and replace. Since inferred rules from single code examples may be too specific, we propose a generalization procedure to make the rules more applicable to client projects. MELT rules are syntax-driven, interpretable, and easily adaptable. Moreover, unlike previous work, our approach enables rule inference to seamlessly integrate into the library workflow, removing the need to wait for client code migrations. We evaluated MELT on pull requests from four popular libraries, successfully mining 461 migration rules from code examples in pull requests and 114 rules from auto-generated code examples. Our generalization procedure increases the number of matches for mined rules by 9x. We applied these rules to client projects and ran their tests, which led to an overall decrease in the number of warnings and fixing some test cases demonstrating MELT's effectiveness in real-world scenarios.
- Abstract(参考訳): ソフトウェア開発者はしばしばAPIの更新に苦労し、手動、時間がかかり、エラーが発生しやすいプロセスにつながる。
私たちは、人気のあるライブラリリポジトリのプルリクエストから直接、軽量なAPIマイグレーションルールを生成する新しいアプローチであるMELTを紹介します。
私たちの重要な洞察は、プルリクエストをオープンソースライブラリにマージすることは、API移行ルールをマイニングするのに十分な、豊富な情報ソースである、ということです。
ライブラリソースから抽出したコード例とプルリクエストに基づいて自動生成されたコード例を活用することで、構造的なコード検索と置換のための言語である \comby の変換ルールを推論する。
単一コードの例から推測されるルールは具体的すぎるため,クライアントプロジェクトに適用可能なルールを一般化する手法を提案する。
MELTルールは構文駆動で、解釈可能で、容易に適応できる。
さらに、これまでの作業とは異なり、私たちのアプローチはルール推論をライブラリワークフローにシームレスに統合することができ、クライアントコードのマイグレーションを待つ必要がなくなる。
MELTを4つの人気のあるライブラリからのプルリクエストで評価し、プルリクエストのコード例から461のマイグレーションルール、自動生成されたコード例から114のルールをマイニングしました。
我々の一般化手順は、マイニングされたルールのマッチ数を9倍に増やす。
私たちはこれらのルールをクライアントプロジェクトに適用し、それらのテストを実行しました。その結果、警告の数が全体的に減少し、実際のシナリオにおけるMELTの有効性を示すいくつかのテストケースが修正されました。
関連論文リスト
- Towards Modular LLMs by Building and Reusing a Library of LoRAs [64.43376695346538]
マルチタスクデータに対して最適なアダプタライブラリを構築する方法について検討する。
モデルベースクラスタリング(MBC)を導入し,パラメータの類似性に基づいてタスクをグループ化する手法を提案する。
ライブラリを再使用するために,最も関連性の高いアダプタの動的選択を可能にする新しいゼロショットルーティング機構であるArrowを提案する。
論文 参考訳(メタデータ) (2024-05-18T03:02:23Z) - Executable Code Actions Elicit Better LLM Agents [76.95566120678787]
この研究は、Pythonコードを使用して、Large Language Model(LLM)エージェントのアクションを統一されたアクション空間(CodeAct)に統合することを提案する。
Pythonインタプリタと統合されたCodeActは、コードアクションを実行し、事前アクションを動的に修正したり、マルチターンインタラクションを通じて新しい観察に新しいアクションを発行することができる。
CodeActのパフォーマンス向上は、解釈可能なコードを実行し、自然言語を使ってユーザとコラボレーションすることで、環境と対話するオープンソースのLLMエージェントを構築する動機となります。
論文 参考訳(メタデータ) (2024-02-01T21:38:58Z) - ML-Bench: Evaluating Large Language Models and Agents for Machine Learning Tasks on Repository-Level Code [76.84199699772903]
ML-Benchは、既存のコードリポジトリを利用してタスクを実行する現実世界のプログラミングアプリケーションに根ざしたベンチマークである。
LLM(Large Language Model)とAIエージェントの両方を評価するために、事前に定義されたデプロイメント環境でLLMのテキスト-コード変換を評価するML-LLM-Benchと、Linuxサンドボックス環境でエンドツーエンドのタスク実行で自律エージェントをテストするML-Agent-Benchの2つの設定が採用されている。
論文 参考訳(メタデータ) (2023-11-16T12:03:21Z) - MILL: Mutual Verification with Large Language Models for Zero-Shot Query Expansion [39.24969189479343]
本稿では,大規模言語モデル(LLM)を相互検証に用いるゼロショットクエリ拡張フレームワークを提案する。
提案手法は完全にゼロショットであり,その有効性を示すために3つの公開ベンチマークデータセットに関する広範な実験を行った。
論文 参考訳(メタデータ) (2023-10-29T16:04:10Z) - Reverse Chain: A Generic-Rule for LLMs to Master Multi-API Planning [8.96245399645571]
本稿では,制御可能なターゲット駆動型アプローチであるReverse Chain'を紹介し,プロンプトのみで外部APIを操作可能な大規模言語モデルを提案する。
制御可能な多機能呼び出しを管理するために、Reverse Chainは、後方推論プロセスに基づいたジェネリックルールを採用する。
論文 参考訳(メタデータ) (2023-10-06T05:20:18Z) - Private-Library-Oriented Code Generation with Large Language Models [52.73999698194344]
本稿では,大規模言語モデル(LLM)をプライベートライブラリのコード生成に活用することに焦点を当てる。
プログラマがプライベートコードを書く過程をエミュレートする新しいフレームワークを提案する。
TorchDataEval、TorchDataComplexEval、MonkeyEval、BeatNumEvalの4つのプライベートライブラリベンチマークを作成しました。
論文 参考訳(メタデータ) (2023-07-28T07:43:13Z) - Allies: Prompting Large Language Model with Beam Search [107.38790111856761]
本研究では,ALIESと呼ばれる新しい手法を提案する。
入力クエリが与えられた場合、ALLIESはLLMを活用して、元のクエリに関連する新しいクエリを反復的に生成する。
元のクエリのスコープを反復的に精錬して拡張することにより、ALLIESは直接検索できない隠れた知識をキャプチャし、利用する。
論文 参考訳(メタデータ) (2023-05-24T06:16:44Z) - Guiding Large Language Models via Directional Stimulus Prompting [114.84930073977672]
我々は,特定の所望の出力に対して,ブラックボックス大言語モデル(LLM)を導くための新しいフレームワークであるDirectional Stimulus Promptingを紹介する。
LLMを直接調整するのではなく、小さな調整可能なポリシーモデルを用いて各入力インスタンスに対して補助的な指向性刺激プロンプトを生成する。
論文 参考訳(メタデータ) (2023-02-22T17:44:15Z) - Repository-Level Prompt Generation for Large Language Models of Code [28.98699307030983]
本稿では,提案手法を用いてサンプル固有のプロンプトを生成するフレームワークを提案する。
プロンプトプロポーザルはリポジトリ全体からコンテキストを取ります。
我々は,Google Codeアーカイブから取得したコードリポジトリを用いて,単行コード自動補完のタスクについて実験を行った。
論文 参考訳(メタデータ) (2022-06-26T10:51:25Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。