論文の概要: FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categories and Test Code Repair
- arxiv url: http://arxiv.org/abs/2307.00012v4
- Date: Fri, 30 Aug 2024 22:49:32 GMT
- ステータス: 処理完了
- システム内更新日: 2024-09-04 22:44:54.635024
- Title: FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categories and Test Code Repair
- Title(参考訳): FlakyFix: 大規模な言語モデルを使用して、フレキシブルなテスト修正カテゴリとテストコード修正を予測する
- Authors: Sakina Fatima, Hadi Hemmati, Lionel Briand,
- Abstract要約: 不安定なテストは、テスト中の同じソフトウェアバージョンを非決定的にパスまたは失敗するため、問題となる。
本稿では、フレキネスを除去し、それに基づいてテストコードを修正するために必要な修正の種類を予測することに焦点を当てる。
1つの鍵となるアイデアは、予想される修正カテゴリの形で、テストのフレキネスに関するさらなる知識で、修復プロセスを導くことである。
- 参考スコア(独自算出の注目度): 0.5749787074942512
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Flaky tests are problematic because they non-deterministically pass or fail for the same software version under test, causing confusion and wasting development effort. While machine learning models have been used to predict flakiness and its root causes, there is much less work on providing support to fix the problem. To address this gap, in this paper, we focus on predicting the type of fix that is required to remove flakiness and then repair the test code on that basis. We do this for a subset of flaky tests where the root cause of flakiness is in the test itself and not in the production code. One key idea is to guide the repair process with additional knowledge about the test's flakiness in the form of its predicted fix category. Thus, we first propose a framework that automatically generates labeled datasets for 13 fix categories and trains models to predict the fix category of a flaky test by analyzing the test code only. Our experimental results using code models and few-shot learning show that we can correctly predict most of the fix categories. To show the usefulness of such fix category labels for automatically repairing flakiness, we augment the prompts of GPT-3.5 Turbo, a Large Language Model (LLM), with such extra knowledge to request repair suggestions. The results show that our suggested fix category labels, complemented with in-context learning, significantly enhance the capability of GPT-3.5 Turbo in generating fixes for flaky tests. Based on the execution and analysis of a sample of GPT-repaired flaky tests, we estimate that a large percentage of such repairs (roughly between 51% and 83%) can be expected to pass. For the failing repaired tests, on average, 16% of the test code needs to be further changed for them to pass.
- Abstract(参考訳): 不安定なテストは、非決定的に同じソフトウェアバージョンをテスト中にパスまたは失敗し、混乱と開発労力の浪費を引き起こすため、問題となる。
機械学習モデルは、フレキネスとその根本原因を予測するために使われてきたが、問題を修正するためのサポートを提供する作業は、はるかに少ない。
このギャップに対処するために、本稿では、フレキネスを除去し、そのベースでテストコードを修正するために必要な修正の種類を予測することに焦点を当てる。
これは、フレキネスの根本原因がテスト自身にあるのではなく、本番コードにあるような、フレキなテストのサブセットに対して行います。
1つの鍵となるアイデアは、予想される修正カテゴリの形で、テストのフレキネスに関するさらなる知識で、修復プロセスを導くことである。
そこで我々はまず,13の修正カテゴリのラベル付きデータセットを自動的に生成するフレームワークを提案し,テストコードのみを解析することにより,フレークテストの修正カテゴリを予測するモデルを訓練する。
コードモデルと数ショット学習を用いた実験結果から,修正カテゴリのほとんどを正確に予測できることが判明した。
フレキネスを自動的に修復するための固定カテゴリラベルの有用性を示すため,大規模言語モデル (LLM) である GPT-3.5 Turbo のプロンプトを補修提案を依頼する余分な知識で強化した。
提案する修正カテゴリラベルは文脈内学習を補完するもので, GPT-3.5 Turbo がフレークテストの修正に有効であることが示唆された。
本研究は, GPT修復フラキ試験のサンプルの実施と解析に基づいて, これらの修復の大多数(約51%から83%)が通過することが期待されると推定した。
修復されたテストが失敗した場合、平均してテストコードの16%は、通過するためにさらに変更する必要がある。
関連論文リスト
- Improving LLM-based Unit test generation via Template-based Repair [8.22619177301814]
単体テストは個々のプログラムユニットのバグを検出するのに不可欠だが、時間と労力を消費する。
大規模言語モデル(LLM)は、顕著な推論と生成能力を示している。
本稿では,新しい単体テスト生成法であるTestARTを提案する。
論文 参考訳(メタデータ) (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) - A Generic Approach to Fix Test Flakiness in Real-World Projects [7.122378689356857]
FlakyDoctorは、LLMのパワーとプログラム分析音を組み合わせて、さまざまな種類のテストフレキネスを修復する、ニューロシンボリックなテクニックである。
3つの代替フレキネス修復アプローチと比較して、FrakyDoctorはDexFixよりも8%多いIDテスト、ODより12%多いODフレキテスト、iFixFlakiesより17%多いODフレキテストが可能である。
論文 参考訳(メタデータ) (2024-04-15T01:07:57Z) - FlaKat: A Machine Learning-Based Categorization Framework for Flaky
Tests [3.0846824529023382]
不安定なテストは、ソフトウェアシステムに変更を加えることなく、非決定的に通過または失敗する可能性がある。
State-of-the-art Researchは、機械学習ソリューションを不安定なテスト検出に取り入れ、合理的に優れた精度を達成する。
論文 参考訳(メタデータ) (2024-03-01T22:00:44Z) - GPT-HateCheck: Can LLMs Write Better Functional Tests for Hate Speech Detection? [50.53312866647302]
HateCheckは、合成データに対してきめ細かいモデル機能をテストするスイートである。
GPT-HateCheckは,スクラッチからより多彩で現実的な機能テストを生成するフレームワークである。
クラウドソースのアノテーションは、生成されたテストケースが高品質であることを示しています。
論文 参考訳(メタデータ) (2024-02-23T10:02:01Z) - CAFA: Class-Aware Feature Alignment for Test-Time Adaptation [50.26963784271912]
テスト時間適応(TTA)は、テスト時にラベルのないデータにモデルを適応させることによって、この問題に対処することを目的としている。
本稿では,クラス認識特徴アライメント(CAFA, Class-Aware Feature Alignment)と呼ばれる単純な機能アライメント損失を提案する。
論文 参考訳(メタデータ) (2022-06-01T03:02:07Z) - 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) - What is the Vocabulary of Flaky Tests? An Extended Replication [0.0]
本研究は,コード識別子を用いたテストフレキネスの予測に関する実証的研究である。
トレーニング済みモデルのパフォーマンスを他のフラスコテストと異なるプロジェクトからデータセットを使用して検証しました。
論文 参考訳(メタデータ) (2021-03-23T16:42:22Z) - Coping with Label Shift via Distributionally Robust Optimisation [72.80971421083937]
分散ロバスト最適化(DRO)に基づく目的最小化モデルを提案する。
そこで我々は,提案した目的を最適化するために,大規模問題に適した勾配降下近位ミラー上昇アルゴリズムを設計し,解析する。
論文 参考訳(メタデータ) (2020-10-23T08:33:04Z) - TACRED Revisited: A Thorough Evaluation of the TACRED Relation
Extraction Task [80.38130122127882]
TACREDはリレーショナル抽出(RE)において最も大きく、最も広く使われているクラウドソースデータセットの1つである
パフォーマンスの天井に到達したのか、改善の余地はあるのか?
ラベルエラーは絶対F1テストエラーの8%を占めており、例の50%以上を可逆化する必要がある。
論文 参考訳(メタデータ) (2020-04-30T15:07:37Z) - Noisy Adaptive Group Testing using Bayesian Sequential Experimental
Design [63.48989885374238]
病気の感染頻度が低い場合、Dorfman氏は80年前に、人のテストグループは個人でテストするよりも効率が良いことを示した。
本研究の目的は,ノイズの多い環境で動作可能な新しいグループテストアルゴリズムを提案することである。
論文 参考訳(メタデータ) (2020-04-26T23:41:33Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。