論文の概要: UTFix: Change Aware Unit Test Repairing using LLM
- arxiv url: http://arxiv.org/abs/2503.14924v1
- Date: Wed, 19 Mar 2025 06:10:03 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-03-20 15:24:52.165749
- Title: UTFix: Change Aware Unit Test Repairing using LLM
- Title(参考訳): UTFix: LLMを用いたユニット・テストの修正
- Authors: Shanto Rahman, Sachit Kuhar, Berk Cirisci, Pranav Garg, Shiqi Wang, Xiaofei Ma, Anoop Deoras, Baishakhi Ray,
- Abstract要約: UTFixは, 焦点法が変化した場合に, 単体検査を修復するための新しい手法である。
このアプローチでは,静的コードスライスや動的コードスライス,障害メッセージなどのコンテキスト情報を提供することで,言語モデルを利用してユニットテストを修復する。
私たちの知る限りでは、これはPythonプロジェクトの進化におけるユニットテストに焦点を当てた初めての総合的な研究です。
- 参考スコア(独自算出の注目度): 24.12850207529614
- License:
- Abstract: Software updates, including bug repair and feature additions, are frequent in modern applications but they often leave test suites outdated, resulting in undetected bugs and increased chances of system failures. A recent study by Meta revealed that 14%-22% of software failures stem from outdated tests that fail to reflect changes in the codebase. This highlights the need to keep tests in sync with code changes to ensure software reliability. In this paper, we present UTFix, a novel approach for repairing unit tests when their corresponding focal methods undergo changes. UTFix addresses two critical issues: assertion failure and reduced code coverage caused by changes in the focal method. Our approach leverages language models to repair unit tests by providing contextual information such as static code slices, dynamic code slices, and failure messages. We evaluate UTFix on our generated synthetic benchmarks (Tool-Bench), and real-world benchmarks. Tool- Bench includes diverse changes from popular open-source Python GitHub projects, where UTFix successfully repaired 89.2% of assertion failures and achieved 100% code coverage for 96 tests out of 369 tests. On the real-world benchmarks, UTFix repairs 60% of assertion failures while achieving 100% code coverage for 19 out of 30 unit tests. To the best of our knowledge, this is the first comprehensive study focused on unit test in evolving Python projects. Our contributions include the development of UTFix, the creation of Tool-Bench and real-world benchmarks, and the demonstration of the effectiveness of LLM-based methods in addressing unit test failures due to software evolution.
- Abstract(参考訳): バグ修正や機能追加を含むソフトウェア更新は、モダンなアプリケーションでは頻繁に行われるが、テストスイートは時代遅れにされ、未検出のバグとシステム障害のリスクが増大する。
Metaによる最近の調査によると、ソフトウェア障害の14%-22%は、コードベースの変更を反映できない古いテストに起因する。
これは、ソフトウェアの信頼性を確保するために、テストとコードの変更を同期させることの必要性を強調します。
本稿では,提案手法が変更される場合の単体テストの修復手法であるUTFixを提案する。
UTFixは、アサーションの失敗とフォーカスメソッドの変更によるコードカバレッジの削減という、2つの重要な問題に対処する。
このアプローチでは,静的コードスライスや動的コードスライス,障害メッセージなどのコンテキスト情報を提供することで,言語モデルを利用してユニットテストを修復する。
生成した合成ベンチマーク(Tool-Bench)と実世界のベンチマークでUTFixを評価する。
Tool-Benchには、人気のあるPython GitHubプロジェクトからのさまざまな変更が含まれている。UTFixは89.2%のアサーション障害の修正に成功し、369テスト中96テストで100%コードカバレッジを達成した。
実際のベンチマークでは、UTFixはアサーション障害の60%を修復し、30のユニットテスト中19のコードカバレッジを100%達成している。
私たちの知る限りでは、これはPythonプロジェクトの進化におけるユニットテストに焦点を当てた初めての総合的な研究です。
我々の貢献には、UTFixの開発、ツールベンチと実世界のベンチマークの作成、そしてソフトウェア進化による単体テストの失敗に対処するLLMベースの手法の有効性の実証が含まれる。
関連論文リスト
- Learning to Generate Unit Tests for Automated Debugging [52.63217175637201]
ユニットテスト(UT)は、コードの正確性を評価するだけでなく、大きな言語モデル(LLM)にフィードバックを提供する上でも重要な役割を果たします。
提案するUTGenは,LLMに対して,予測出力とともにエラーを示す単体テスト入力を生成することを教える。
UTGen は他の LLM ベースラインを7.59% 上回っていることを示す。
論文 参考訳(メタデータ) (2025-02-03T18:51:43Z) - TestART: Improving LLM-based Unit Testing via Co-evolution of Automated Generation and Repair Iteration [7.833381226332574]
大規模言語モデル(LLM)は、単体テストケースを生成する際、顕著な能力を示した。
本研究では,新しい単体テスト生成法であるTestARTを提案する。
TestARTは、自動生成と修復の反復の共進化を通じて、LLMベースのユニットテストを改善している。
論文 参考訳(メタデータ) (2024-08-06T10:52:41Z) - Fix the Tests: Augmenting LLMs to Repair Test Cases with Static Collector and Neural Reranker [9.428021853841296]
本稿では, TROCtxsの精密かつ高精度な構築により, 旧来の検査ケースを自動的に修復する新しい手法であるSynTERを提案する。
構築されたTROCtxの増強により、幻覚は57.1%減少する。
論文 参考訳(メタデータ) (2024-07-04T04:24:43Z) - ContrastRepair: Enhancing Conversation-Based Automated Program Repair
via Contrastive Test Case Pairs [23.419180504723546]
ContrastRepairは、対照的なテストペアを提供することで、会話駆動型APRを強化する、新しいAPRアプローチである。
Defects4j、QuixBugs、HumanEval-Javaなど、複数のベンチマークデータセット上でContrastRepairを評価する。
論文 参考訳(メタデータ) (2024-03-04T12:15:28Z) - Automated Unit Test Improvement using Large Language Models at Meta [44.87533111512982]
本稿では,LLMを用いたMetaのTestGen-LLMツールについて述べる。
InstagramとFacebookプラットフォームのMetaテストアソンにおけるTestGen-LLMのデプロイについて説明する。
論文 参考訳(メタデータ) (2024-02-14T13:43:14Z) - A Novel Approach for Automatic Program Repair using Round-Trip
Translation with Large Language Models [50.86686630756207]
研究によると、ある文の文法的誤りは、それを他の言語に翻訳し、その語を返せば修正できる。
現在の自動プログラム修復(APR)生成モデルは、ソースコードで事前訓練され、修正のために微調整されている。
本稿では,あるプログラミング言語から別のプログラミング言語,あるいは自然言語へのコード変換,そして,その逆といった,微調整ステップをバイパスし,ラウンド・トリップ変換(RTT)を用いる手法を提案する。
論文 参考訳(メタデータ) (2024-01-15T22:36:31Z) - DS-1000: A Natural and Reliable Benchmark for Data Science Code
Generation [70.96868419971756]
DS-1000は7つのPythonライブラリにまたがる1000のデータサイエンス問題のあるコード生成ベンチマークである。
まず、StackOverflowからそれらを収集して以来の、多様で現実的で実践的なユースケースを反映しています。
第2に、私たちの自動評価は非常に具体的(信頼性)です -- 評価が受け入れているすべてのCodex予測ソリューションに対して、そのわずか1.8%が間違っています。
論文 参考訳(メタデータ) (2022-11-18T17:20:27Z) - SUPERNOVA: Automating Test Selection and Defect Prevention in AAA Video
Games Using Risk Based Testing and Machine Learning [62.997667081978825]
従来の手法では、成長するソフトウェアシステムではスケールできないため、ビデオゲームのテストはますます難しいタスクになります。
自動化ハブとして機能しながら,テスト選択と欠陥防止を行うシステム SUPERNOVA を提案する。
この直接的な影響は、未公表のスポーツゲームタイトルの55%以上のテスト時間を減らすことが観察されている。
論文 参考訳(メタデータ) (2022-03-10T00:47:46Z) - Break-It-Fix-It: Unsupervised Learning for Program Repair [90.55497679266442]
我々は2つの重要なアイデアを持つ新しいトレーニング手法であるBreak-It-Fix-It (BIFI)を提案する。
批判者は、実際の悪い入力でフィクスダーの出力をチェックし、トレーニングデータに良い(固定された)出力を追加する。
これらのアイデアに基づいて、よりペア化されたデータを生成するために、ブレーカとフィクスチャを同時に使用しながら、繰り返し更新する。
BIFIは既存のメソッドより優れており、GitHub-Pythonで90.5%、DeepFixで71.7%の修正精度がある。
論文 参考訳(メタデータ) (2021-06-11T20:31:04Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。