論文の概要: 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の有効性を示すテストケースを修正しました。
関連論文リスト
- Automatic Library Migration Using Large Language Models: First Results [0.0]
API移行タスクをサポートするためにChatGPTの利用を検討している研究の最初の成果を報告する。
一番良い結果はワンショットのプロンプトで達成され、次に思考の連鎖が続くことを示す。
論文 参考訳(メタデータ) (2024-08-28T22:03:54Z) - Open-domain Implicit Format Control for Large Language Model Generation [52.83173553689678]
大規模言語モデル(LLM)における制御生成のための新しいフレームワークを提案する。
本研究では、LLMがオープンドメイン、ワンショット制約に従う能力と、サンプル回答の形式を再現する能力について検討する。
また、出力品質を劣化させることなく、LLMのオープンドメインフォーマット制御を強化する教師付き微調整のためのデータセット収集手法を開発した。
論文 参考訳(メタデータ) (2024-08-08T11:51:45Z) - VersiCode: Towards Version-controllable Code Generation [58.82709231906735]
大規模言語モデル(LLM)は、コード生成において大きな進歩を遂げていますが、既存の研究は、ソフトウェア開発の動的な性質を説明できません。
バージョン別コード補完(VSCC)とバージョン別コードマイグレーション(VACM)の2つの新しいタスクを提案する。
VersiCodeについて広範な評価を行い、バージョン管理可能なコード生成が確かに重要な課題であることを示した。
論文 参考訳(メタデータ) (2024-06-11T16:15:06Z) - Are you still on track!? Catching LLM Task Drift with Activations [55.75645403965326]
タスクドリフトは攻撃者がデータを流出させたり、LLMの出力に影響を与えたりすることを可能にする。
そこで, 簡易線形分類器は, 分布外テストセット上で, ほぼ完全なLOC AUCでドリフトを検出することができることを示す。
このアプローチは、プロンプトインジェクション、ジェイルブレイク、悪意のある指示など、目に見えないタスクドメインに対して驚くほどうまく一般化する。
論文 参考訳(メタデータ) (2024-06-02T16:53:21Z) - 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) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。