論文の概要: Mokav: Execution-driven Differential Testing with LLMs
- arxiv url: http://arxiv.org/abs/2406.10375v1
- Date: Fri, 14 Jun 2024 19:07:03 GMT
- ステータス: 処理完了
- システム内更新日: 2024-06-19 00:52:09.651940
- Title: Mokav: Execution-driven Differential Testing with LLMs
- Title(参考訳): Mokav: LLMによる実行駆動差分テスト
- Authors: Khashayar Etemadi, Bardia Mohammadi, Zhendong Su, Martin Monperrus,
- Abstract要約: Mokavは2つのプログラム間の機能的差異を検出する実行駆動ツールである。
Mozav は、P と Q の異なる出力につながるテスト入力である有効な DET を生成する。
我々は、Codeforcesコンペティションプラットフォームから収集した1,535組のPythonプログラムとQuixBugsデータセットから収集した32組のプログラムについてMokavを評価する。
- 参考スコア(独自算出の注目度): 13.476622148328367
- License: http://creativecommons.org/publicdomain/zero/1.0/
- Abstract: It is essential to detect functional differences in various software engineering tasks, such as automated program repair, mutation testing, and code refactoring. The problem of detecting functional differences between two programs can be reduced to searching for a difference exposing test (DET): a test input that results in different outputs on the subject programs. In this paper, we propose Mokav, a novel execution-driven tool that leverages LLMs to generate DETs. Mokav takes two versions of a program (P and Q) and an example test input. When successful, Mokav generates a valid DET, a test input that leads to different outputs on P and Q. Mokav iteratively prompts an LLM with a specialized prompt to generate new test inputs. At each iteration, Mokav provides execution-based feedback regarding previously generated tests until the LLM produces a DET. We evaluate Mokav on 1,535 pairs of Python programs collected from the Codeforces competition platform and 32 pairs of programs from the QuixBugs dataset. Our experiments show that Mokav outperforms the state-of-the-art, Pynguin and Differential Prompting, by a large margin. Mokav can generate DETs for 81.7% (1,255/1,535) of the program pairs in our benchmark (versus 4.9% for Pynguin and 37.3% for Differential Prompting). We demonstrate that all components in our system, including the iterative and execution-driven approaches, contribute to its high effectiveness.
- Abstract(参考訳): 自動プログラム修復、突然変異テスト、コードリファクタリングなど、さまざまなソフトウェアエンジニアリングタスクにおける機能的な違いを検出することが不可欠である。
2つのプログラム間の機能的差異を検出する問題は、差分露光テスト (DET) の探索に還元できる。
本稿では,LDMを利用してDETを生成する新しい実行駆動ツールであるMokavを提案する。
Mokavはプログラムの2つのバージョン(PとQ)とサンプルテスト入力を取る。
成功すると、Mokavは有効なDETを生成し、P と Q の異なる出力につながるテスト入力を生成する。
私たちは、Codeforcesコンペティションプラットフォームから収集された1,535ペアのPythonプログラムと、QuixBugsデータセットから収集された32ペアのプログラムについて、Mokavを評価します。
実験の結果,Mokavは最先端のPynguin,differial Promptingをはるかに上回っていることがわかった。
Mokavは、ベンチマークでプログラムペアの81.7%(1,255/1,535)のDETを生成することができる(Pynguinは4.9%、差分プロンプトは37.3%)。
反復型および実行駆動型アプローチを含む,システム内のすべてのコンポーネントが,その高い有効性に寄与することを示す。
関連論文リスト
- Benchmarking Uncertainty Quantification Methods for Large Language Models with LM-Polygraph [85.51252685938564]
不確実性定量化(UQ)は、機械学習(ML)に依存するアプリケーションの重要なコンポーネントとして、ますます認識されつつある。
他のMLモデルと同様に、大きな言語モデル(LLM)は、クレームを作成することによって誤った予測をする傾向があり、あるいは与えられた入力に対して単に低品質の出力を生成する。
本稿では,最先端のUQベースラインの集合を実装した新しいベンチマークを提案し,新しいテクニックを制御可能かつ一貫した評価を行う環境を提供する。
論文 参考訳(メタデータ) (2024-06-21T20:06:31Z) - TESTEVAL: Benchmarking Large Language Models for Test Case Generation [15.343859279282848]
大規模言語モデル(LLM)を用いたテストケース生成のための新しいベンチマークであるTESTEVALを提案する。
オンラインプログラミングプラットフォームLeetCodeから210のPythonプログラムを収集し、全体的なカバレッジ、ターゲットライン/ブランチカバレッジ、ターゲットパスカバレッジという3つの異なるタスクを設計します。
特定のプログラム行/ブランチ/パスをカバーするテストケースを生成することは、現在のLLMでは依然として困難である。
論文 参考訳(メタデータ) (2024-06-06T22:07:50Z) - Are you still on track!? Catching LLM Task Drift with Activations [55.75645403965326]
大規模言語モデル(LLM)は、ユーザや他のソースからの入力を処理したり、タスクを編成したりするための検索拡張されたアプリケーションで日常的に使用される。
これにより、LDMがデータのみのソースからの命令を受け取り、作用するインジェクション攻撃を誘導する扉が開き、ユーザーの元の命令から逸脱する。
我々はこれをタスクドリフトと定義し、LCMのアクティベーションをスキャンして解析することでこれをキャッチすることを提案する。
このアプローチは、これらの攻撃に対してトレーニングを受けることなく、インジェクションやジェイルブレイク、悪意のある指示など、目に見えないタスクドメインに対して驚くほどうまく一般化することを示す。
論文 参考訳(メタデータ) (2024-06-02T16:53:21Z) - LLM-Powered Test Case Generation for Detecting Tricky Bugs [30.82169191775785]
AIDは、少なくとも正しいプログラムをターゲットにしたテスト入力とオラクルを生成する。
TrickyBugs と EvalPlus の2つの大規模データセットに対する AID の評価を行った。
その結果,AIDのリコール,精度,F1スコアは,それぞれ1.80x,2.65x,1.66xに優れていた。
論文 参考訳(メタデータ) (2024-04-16T06:20:06Z) - LEVER: Learning to Verify Language-to-Code Generation with Execution [64.36459105535]
本稿では,プログラムの実行結果の検証を学習することで,言語からコードへの生成を改善するシンプルな手法であるLEVERを提案する。
具体的には、LLMからサンプリングされたプログラムが、自然言語入力、プログラム自体とその実行結果に基づいて正しいか否かを判定するために、検証者を訓練する。
LEVER はベースコード LLMs (4.6% から 10.9% まで) を継続的に改善し、それらすべてに対して新しい最先端の結果を得る。
論文 参考訳(メタデータ) (2023-02-16T18:23:22Z) - An Empirical Evaluation of Using Large Language Models for Automated
Unit Test Generation [3.9762912548964864]
本稿では,自動単体テスト生成における大規模言語モデルの有効性について,大規模な実証評価を行った。
これはJavaScript用のテスト生成ツールで、npmパッケージ内のすべてのAPI関数のユニットテストを自動的に生成します。
TestPilotの生成されたテストの92.8%は、既存のテストと50%以上の類似性を持っていない。
論文 参考訳(メタデータ) (2023-02-13T17:13:41Z) - UniPC: A Unified Predictor-Corrector Framework for Fast Sampling of
Diffusion Models [92.43617471204963]
拡散確率モデル(DPM)は高分解能画像合成において非常に有望な能力を示した。
我々は既存のDPMサンプリング器の後に適用可能な統一補正器(UniC)を開発し、精度を向上する。
そこで我々は,DPMの高速サンプリングのためのUniPCと呼ばれる統合予測器・相関器フレームワークを提案する。
論文 参考訳(メタデータ) (2023-02-09T18:59:48Z) - Fault-Aware Neural Code Rankers [64.41888054066861]
サンプルプログラムの正しさを予測できる故障認識型ニューラルネットワークローダを提案する。
我々のフォールト・アウェア・ローダは、様々なコード生成モデルのpass@1精度を大幅に向上させることができる。
論文 参考訳(メタデータ) (2022-06-04T22:01:05Z) - Learning from Self-Sampled Correct and Partially-Correct Programs [96.66452896657991]
そこで本研究では,モデルが学習中にサンプリングを行い,自己サンプリングされた完全正当プログラムと部分正当プログラムの両方から学習することを提案する。
自己サンプリング型プログラムと部分修正型プログラムを併用することで,学習とサンプリングプロセスのガイドに役立てることができることを示す。
提案手法は,MLEを用いた単一の参照プログラムからの学習と比較して,パス@kの性能を3.1%から12.3%向上させる。
論文 参考訳(メタデータ) (2022-05-28T03:31:07Z) - Design and Implementation of a Quantum Kernel for Natural Language
Processing [0.8702432681310401]
この論文はDisCoCatモデルを利用して、NLPタスクのサポートベクトルマシン(SVM)で使用できる量子ベースのカーネル関数を設計する。
i) 遷移振幅アプローチと(ii) SWAP試験の2つの類似性尺度について検討した。
以前の研究から明らかなモデルは単語埋め込みの訓練に使われ、93.09 pm 0.01$%の精度でテストされた。
論文 参考訳(メタデータ) (2022-05-13T00:45:46Z) - What is the Vocabulary of Flaky Tests? An Extended Replication [0.0]
本研究は,コード識別子を用いたテストフレキネスの予測に関する実証的研究である。
トレーニング済みモデルのパフォーマンスを他のフラスコテストと異なるプロジェクトからデータセットを使用して検証しました。
論文 参考訳(メタデータ) (2021-03-23T16:42:22Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。