論文の概要: Fix the Tests: Augmenting LLMs to Repair Test Cases with Static Collector and Neural Reranker
- arxiv url: http://arxiv.org/abs/2407.03625v2
- Date: Tue, 05 Nov 2024 02:20:54 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-11-06 14:57:10.916347
- Title: Fix the Tests: Augmenting LLMs to Repair Test Cases with Static Collector and Neural Reranker
- Title(参考訳): テストの修正:静的コレクターとニューラルリランカによるテストケースの修復を目的としたLLMの拡張
- Authors: Jun Liu, Jiwei Yan, Yuanyuan Xie, Jun Yan, Jian Zhang,
- Abstract要約: 本稿では, TROCtxsの精密かつ高精度な構築により, 旧来の検査ケースを自動的に修復する新しい手法であるSynTERを提案する。
構築されたTROCtxの増強により、幻覚は57.1%減少する。
- 参考スコア(独自算出の注目度): 9.428021853841296
- License:
- Abstract: During software evolution, it is advocated that test code should co-evolve with production code. In real development scenarios, test updating may lag behind production code changing, which may cause compilation failure or bring other troubles. Existing techniques based on pre-trained language models can be directly adopted to repair obsolete tests caused by such unsynchronized code changes, especially syntactic-related ones. However, the lack of task-oriented contextual information affects the repair accuracy on large-scale projects. Starting from an obsolete test, the key challenging task is precisely identifying and constructing Test-Repair-Oriented Contexts (TROCtxs) from the whole repository within a limited token size. In this paper, we propose SYNTER (SYNtactic-breaking-changes-induced TEst Repair), a novel approach based on LLMs to automatically repair obsolete test cases via precise and concise TROCtxs construction. Inspired by developers' programming practices, we design three types of TROCtx: class context, usage context, and environment context. Given an obsolete test case to repair, SYNTER firstly collects the related code information for each type of TROCtx through static analysis techniques automatically. Then, it generates reranking queries to identify the most relevant TROCtxs, which will be taken as the repair-required key contexts and be input to the large language model for the final test repair. To evaluate the effectiveness of SYNTER, we construct a benchmark dataset that contains a set of obsolete tests caused by syntactic breaking changes. The experimental results show that SYNTER outperforms baseline approaches both on textual- and intent-matching metrics. With the augmentation of constructed TROCtxs, hallucinations are reduced by 57.1%.
- Abstract(参考訳): ソフトウェア進化の過程では、テストコードは本番コードと共進化するべきだと提唱されている。
実際の開発シナリオでは、テストの更新が本番コードの変更に遅れる可能性があるため、コンパイルの失敗や他のトラブルを引き起こす可能性がある。
事前訓練された言語モデルに基づく既存のテクニックは、このような非同期コードの変更、特に構文関連の変更による古いテストの修復に直接適用することができる。
しかし,タスク指向のコンテキスト情報の欠如は大規模プロジェクトの修復精度に影響を及ぼす。
古くなったテストから始めて、重要な課題は、限定されたトークンサイズでリポジトリ全体からテストレビュー指向コンテキスト(TROCtxs)を正確に識別し、構築することである。
本稿では,SYNtactic-breaking-changes-induced TEst repair(SYNTactic-breaking-changes-induced TEst repair)を提案する。
開発者のプログラミングプラクティスに触発されて、クラスコンテキスト、使用状況、環境コンテキストの3つのタイプのTROCtxを設計しました。
修復のための古いテストケースが与えられた場合、SynaTERはまず、静的解析技術を通じてTROCtxの各タイプの関連コード情報を自動的に収集する。
次に、リグレードクエリを生成して、最も関連性の高いTROCtxを識別する。このクエリは、修復要求されたキーコンテキストとして取り込まれ、最終的なテスト修正のために大きな言語モデルに入力される。
また,SynTERの有効性を評価するために,構文的破壊変化による古くなったテストの集合を含むベンチマークデータセットを構築した。
実験結果から,SYTERはテキストとインテントマッチングの両方で,ベースラインアプローチよりも優れていた。
構築されたTROCtxの増強により、幻覚は57.1%減少する。
関連論文リスト
- TestBench: Evaluating Class-Level Test Case Generation Capability of Large Language Models [8.22619177301814]
クラスレベルのLLMベースのテストケース生成のためのベンチマークであるTestBenchを紹介する。
GitHub上の9つの実世界の大規模プロジェクトから108のJavaプログラムのデータセットを構築します。
本稿では,構文的正当性,コンパイル的正当性,テスト的正当性,コードカバレッジ率,欠陥検出率という,テストケースの5つの側面を考慮した詳細な評価フレームワークを提案する。
論文 参考訳(メタデータ) (2024-09-26T06:18:06Z) - RepoMasterEval: Evaluating Code Completion via Real-World Repositories [12.176098357240095]
RepoMasterEvalは、現実のPythonとTypeScriptリポジトリから構築されたコード補完モデルを評価するための新しいベンチマークである。
モデル生成コードのテスト精度を向上させるため,テストケースの有効性を測定するために突然変異試験を用いる。
6つの最先端モデルに対する実証的な評価は、テスト議論がベンチマークの精度向上に重要であることを示している。
論文 参考訳(メタデータ) (2024-08-07T03:06:57Z) - Code Agents are State of the Art Software Testers [10.730852617039451]
ユーザ問題をテストケースに形式化するLLMベースのコードエージェントについて検討する。
私たちは人気のあるGitHubリポジトリに基づいた新しいベンチマークを提案し、現実世界の問題、地味なパッチ、ゴールデンテストを含む。
LLMは一般的に、コード修復用に設計されたCode Agentsを使って、関連するテストケースを生成するのに驚くほどうまく機能します。
論文 参考訳(メタデータ) (2024-06-18T14:54:37Z) - CorDA: Context-Oriented Decomposition Adaptation of Large Language Models for Task-Aware Parameter-Efficient Fine-tuning [101.81127587760831]
現在の微調整手法は、学習すべき下流タスクのコンテキストや、維持すべき重要な知識のコンテキストに広く適用できるアダプタを構築している。
学習可能なタスク対応アダプタを構築するコンテキスト指向の分解適応手法であるCorDAを提案する。
本手法は,知識保存型適応と指導レビュー型適応の2つの選択肢を実現する。
論文 参考訳(メタデータ) (2024-06-07T19:10:35Z) - Active Test-Time Adaptation: Theoretical Analyses and An Algorithm [51.84691955495693]
テスト時間適応(TTA)は、教師なし設定でストリーミングテストデータの分散シフトに対処する。
完全TTA設定内に能動学習を統合する能動テスト時間適応(ATTA)の新たな問題設定を提案する。
論文 参考訳(メタデータ) (2024-04-07T22:31:34Z) - Code-Aware Prompting: A study of Coverage Guided Test Generation in Regression Setting using LLM [32.44432906540792]
テスト生成における大規模言語モデルのコード認識促進戦略であるSymPromptを提案する。
SymPromptは、正しいテスト世代を5倍に増やし、CodeGen2の相対カバレッジを26%向上させる。
特に、GPT-4に適用すると、SymPromptはベースラインのプロンプト戦略に比べて2倍以上のカバレッジが向上する。
論文 参考訳(メタデータ) (2024-01-31T18:21:49Z) - RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic
Program Repair [75.40584530380589]
新たな検索型パッチ生成フレームワーク(RAP-Gen)を提案する。
RAP-Gen 以前のバグ修正ペアのリストから取得した関連する修正パターンを明示的に活用する。
RAP-GenをJavaScriptのTFixベンチマークとJavaのCode RefinementとDefects4Jベンチマークの2つのプログラミング言語で評価する。
論文 参考訳(メタデータ) (2023-09-12T08:52:56Z) - FacTool: Factuality Detection in Generative AI -- A Tool Augmented
Framework for Multi-Task and Multi-Domain Scenarios [87.12753459582116]
より広い範囲のタスクは、生成モデルによって処理されると、事実エラーを含むリスクが増大する。
大規模言語モデルにより生成されたテキストの事実誤りを検出するためのタスクおよびドメインに依存しないフレームワークであるFacToolを提案する。
論文 参考訳(メタデータ) (2023-07-25T14:20:51Z) - Fully Autonomous Programming with Large Language Models [0.9558392439655015]
LLM(Large Language Models)を用いたプログラム合成への最近のアプローチは、"ニアミスシンドローム"を示す。
我々は、LLMとプログラム合成ベンチマーク2としてOpenAI Codexを使用し、問題記述と評価のためのテストのデータベースとして使用します。
結果として生じるフレームワークは、修復フェーズなしでのCodexの従来の使用法と、従来の遺伝的プログラミングアプローチの両方を上回ります。
論文 参考訳(メタデータ) (2023-04-20T16:12:05Z) - Improving Pre-trained Language Models with Syntactic Dependency
Prediction Task for Chinese Semantic Error Recognition [52.55136323341319]
既存の中国語のテキスト誤り検出は主にスペルと単純な文法的誤りに焦点を当てている。
中国の意味的誤りは、人間が容易に認識できないほど過小評価され、複雑である。
論文 参考訳(メタデータ) (2022-04-15T13:55:32Z) - End-to-End Object Detection with Transformers [88.06357745922716]
本稿では,オブジェクト検出を直接セット予測問題とみなす新しい手法を提案する。
我々のアプローチは検出パイプラインを合理化し、手作業で設計された多くのコンポーネントの必要性を効果的に除去する。
この新しいフレームワークの主な構成要素は、Detection TRansformerまたはDETRと呼ばれ、セットベースのグローバルな損失である。
論文 参考訳(メタデータ) (2020-05-26T17:06:38Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。