論文の概要: MELT: Mining Effective Lightweight Transformations from Pull Requests
- arxiv url: http://arxiv.org/abs/2308.14687v1
- Date: Mon, 28 Aug 2023 16:21:52 GMT
- ステータス: 処理完了
- システム内更新日: 2023-08-29 13:05:55.987270
- Title: MELT: Mining Effective Lightweight Transformations from Pull Requests
- Title(参考訳): MELT:プルリクエストからの効果的な軽量トランスフォーメーションのマイニング
- Authors: Daniel Ramos, Hailie Mitchell, In\^es Lynce, Vasco Manquinho, Ruben
Martins, Claire Le Goues
- Abstract要約: MELTは、人気のあるライブラリリポジトリのプルリクエストから直接、APIマイグレーションルールを生成する。
構造コード検索と置換のための言語であるコンバイで変換ルールを推論する。
これまでの作業とは異なり、我々のアプローチは推論ルールをライブラリワークフローにシームレスに統合することを可能にする。
- 参考スコア(独自算出の注目度): 5.938423913844198
- 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の有効性を示すテストケースを修正しました。
関連論文リスト
- LLM-R2: A Large Language Model Enhanced Rule-based Rewrite System for Boosting Query Efficiency [65.01402723259098]
本稿では,LLM-R2 という新しいクエリ書き換え手法を提案する。
実験結果から,本手法はクエリ実行効率を大幅に向上し,ベースライン法よりも優れていることがわかった。
論文 参考訳(メタデータ) (2024-04-19T13:17:07Z) - Executable Code Actions Elicit Better LLM Agents [76.95566120678787]
この研究は、Pythonコードを使用して、Large Language Model(LLM)エージェントのアクションを統一されたアクション空間(CodeAct)に統合することを提案する。
Pythonインタプリタと統合されたCodeActは、コードアクションを実行し、事前アクションを動的に修正したり、マルチターンインタラクションを通じて新しい観察に新しいアクションを発行することができる。
CodeActのパフォーマンス向上は、解釈可能なコードを実行し、自然言語を使ってユーザとコラボレーションすることで、環境と対話するオープンソースのLLMエージェントを構築する動機となります。
論文 参考訳(メタデータ) (2024-02-01T21:38:58Z) - De-Hallucinator: Iterative Grounding for LLM-Based Code Completion [21.417049430066616]
公開ソースコードのデータセットに基づいてトレーニングされた大言語モデル(LLM)は、コード補完において新たな最先端の方法を確立した。
本稿では, LLMに基づくコード補完手法であるDe-Hallucinatorを提案する。
De-Hallucinatorは、カーソル前のコードだけでモデルをクエリするのに比べて、4つの最先端のLLMで予測されたコードを改善する。
論文 参考訳(メタデータ) (2024-01-03T12:09:43Z) - MILL: Mutual Verification with Large Language Models for Zero-Shot Query Expansion [39.24969189479343]
本稿では,大規模言語モデル(LLM)を相互検証に用いるゼロショットクエリ拡張フレームワークを提案する。
提案手法は完全にゼロショットであり,その有効性を示すために3つの公開ベンチマークデータセットに関する広範な実験を行った。
論文 参考訳(メタデータ) (2023-10-29T16:04:10Z) - Eliciting Human Preferences with Language Models [56.68637202313052]
言語モデル(LM)は、ラベル付き例や自然言語のプロンプトを使用してターゲットタスクを実行するように指示することができる。
タスク仕様プロセスのガイドには*LM自身を使うことを提案します。
我々は、メール検証、コンテンツレコメンデーション、道徳的推論の3つの領域でGATEを研究している。
論文 参考訳(メタデータ) (2023-10-17T21:11:21Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。