論文の概要: Advancing Bug Detection in Fastjson2 with Large Language Models Driven Unit Test Generation
- arxiv url: http://arxiv.org/abs/2410.09414v1
- Date: Sat, 12 Oct 2024 07:46:05 GMT
- ステータス: 処理完了
- システム内更新日: 2024-10-30 14:34:09.518947
- Title: Advancing Bug Detection in Fastjson2 with Large Language Models Driven Unit Test Generation
- Title(参考訳): 大規模言語モデルによる単体テスト生成を用いたFastjson2におけるバグ検出の高速化
- Authors: Zhiyuan Zhong, Sinan Wang, Hailong Wang, Shaojin Wen, Hao Guan, Yida Tao, Yepang Liu,
- Abstract要約: ユニットテスト生成技術は、様々なライブラリのバグを特定するために広く採用されている。
産業実践において、図書館内のオラクルのバグを露呈するための体系的なテストは限られている。
テストGenでは、34の実際のバグがfast2で見つかり、そのうち30がすでに修正されており、うち12の非クラッシングバグが修正されています。
- 参考スコア(独自算出の注目度): 8.977049061406325
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Data-serialization libraries are essential tools in software development, responsible for converting between programmable data structures and data persistence formats. Among them, JSON is the most popular choice for exchanging data between different systems and programming languages, while JSON libraries serve as the programming toolkit for this task. Despite their widespread use, bugs in JSON libraries can cause severe issues such as data inconsistencies and security vulnerabilities. Unit test generation techniques are widely adopted to identify bugs in various libraries. However, there is limited systematic testing effort specifically for exposing bugs within JSON libraries in industrial practice. In this paper, we propose JSONTestGen, an approach leveraging large language models (LLMs) to generate unit tests for fastjson2, a popular open source JSON library from Alibaba. Pre-trained on billions of open-source text and code corpora, LLMs have demonstrated remarkable abilities in programming tasks. Based on historical bug-triggering unit tests, we utilize LLMs to generate more diverse test cases by incorporating JSON domain-specific mutation rules. To systematically and efficiently identify potential bugs, we adopt differential testing on the results of the generated unit tests. Our evaluation shows that JSONTestGen outperforms existing test generation tools in unknown defect detection. With JSONTestGen, we found 34 real bugs in fastjson2, 30 of which have already been fixed, including 12 non-crashing bugs. While manual inspection reveals that LLM-generated tests can be erroneous, particularly with self-contradictory assertions, we demonstrate that LLMs have the potential for classifying false-positive test failures. This suggests a promising direction for improved test oracle automation in the future.
- Abstract(参考訳): データシリアライズライブラリはソフトウェア開発において必須のツールであり、プログラマブルなデータ構造とデータ永続化フォーマットの変換に責任がある。
その中でもJSONは、さまざまなシステムとプログラミング言語間でデータを交換する最も一般的な選択肢であり、JSONライブラリは、このタスクのプログラミングツールキットとして機能します。
広く使われているにもかかわらず、JSONライブラリのバグはデータ不整合やセキュリティ脆弱性などの深刻な問題を引き起こす可能性がある。
ユニットテスト生成技術は、様々なライブラリのバグを特定するために広く採用されている。
しかし、業界では、特にJSONライブラリ内のバグを公開するための体系的なテストの取り組みが制限されている。
本稿では,大規模な言語モデル(LLM)を活用して,Alibabaから人気のオープンソースJSONライブラリであるfastjson2のユニットテストを生成するアプローチであるJSONTestGenを提案する。
数十億のオープンソーステキストとコードコーパスに基づいて事前訓練されたLLMは、プログラミングタスクにおいて顕著な能力を示した。
歴史的バグトリガリング単体テストに基づいて、JSONドメイン固有の突然変異ルールを組み込むことで、LSMを使用してより多様なテストケースを生成する。
潜在的なバグを系統的かつ効率的に識別するために、生成した単体テストの結果に差分テストを採用する。
評価の結果,JSONTestGenは未知の欠陥検出において既存のテスト生成ツールよりも優れていることがわかった。
JSONTestGenでは、Fastjson2で34の本当のバグを発見しました。
手動検査では, LLM 生成テストは, 特に自己矛盾性アサーションで誤認する可能性があるが, LLM が偽陽性テスト失敗を分類する可能性を実証する。
これは、将来テストオラクルの自動化を改善するための有望な方向性を示唆している。
関連論文リスト
- Large Language Models Based JSON Parser Fuzzing for Bug Discovery and Behavioral Analysis [0.0]
この研究プロジェクトは、テストを強化するためにLLM(Large Language Models)を活用することに焦点を当てている。
主な目的は、オープンソースにおける潜在的なバグの発見にLLMを使用してテストケースとミュータントを生成することである。
根底にあるバグを明らかにし、振る舞いの多様性を発見(そして克服)することを目的としています。
論文 参考訳(メタデータ) (2024-10-29T07:23:43Z) - SWT-Bench: Testing and Validating Real-World Bug-Fixes with Code Agents [10.730852617039451]
ユーザ問題をテストケースに形式化するLLMベースのコードエージェントについて検討する。
我々は人気のあるGitHubリポジトリに基づいた新しいベンチマークを提案し、現実世界の問題、地味なバグフィックス、ゴールデンテストを含む。
コード修復用に設計されたコードエージェントは,テスト生成用に設計されたシステムの性能を上回っている。
論文 参考訳(メタデータ) (2024-06-18T14:54:37Z) - TESTEVAL: Benchmarking Large Language Models for Test Case Generation [15.343859279282848]
大規模言語モデル(LLM)を用いたテストケース生成のための新しいベンチマークであるTESTEVALを提案する。
オンラインプログラミングプラットフォームLeetCodeから210のPythonプログラムを収集し、全体的なカバレッジ、ターゲットライン/ブランチカバレッジ、ターゲットパスカバレッジという3つの異なるタスクを設計します。
特定のプログラム行/ブランチ/パスをカバーするテストケースを生成することは、現在のLLMでは依然として困難である。
論文 参考訳(メタデータ) (2024-06-06T22:07:50Z) - Test Oracle Automation in the era of LLMs [52.69509240442899]
大規模言語モデル(LLM)は、多様なソフトウェアテストタスクに取り組むのに顕著な能力を示した。
本研究の目的は, 各種のオラクル生成時に生じる課題とともに, LLMs によるオラクルの自動化の可能性について検討することである。
論文 参考訳(メタデータ) (2024-05-21T13:19:10Z) - GPT-HateCheck: Can LLMs Write Better Functional Tests for Hate Speech Detection? [50.53312866647302]
HateCheckは、合成データに対してきめ細かいモデル機能をテストするスイートである。
GPT-HateCheckは,スクラッチからより多彩で現実的な機能テストを生成するフレームワークである。
クラウドソースのアノテーションは、生成されたテストケースが高品質であることを示しています。
論文 参考訳(メタデータ) (2024-02-23T10:02:01Z) - DebugBench: Evaluating Debugging Capability of Large Language Models [80.73121177868357]
DebugBench - LLM(Large Language Models)のベンチマーク。
C++、Java、Pythonの4つの主要なバグカテゴリと18のマイナータイプをカバーする。
ゼロショットシナリオで2つの商用および4つのオープンソースモデルを評価する。
論文 参考訳(メタデータ) (2024-01-09T15:46:38Z) - Effective Test Generation Using Pre-trained Large Language Models and
Mutation Testing [13.743062498008555]
大規模言語モデル(LLM)が生成するテストケースの有効性を,バグの発見の観点から改善するための MuTAP を導入する。
MuTAPは、プログラム・アンダー・テスト(PUT)の自然言語記述がない場合に有効なテストケースを生成することができる
提案手法は, 最大28%の人書きコードスニペットを検出できることを示す。
論文 参考訳(メタデータ) (2023-08-31T08:48:31Z) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - Large Language Models are Few-shot Testers: Exploring LLM-based General
Bug Reproduction [14.444294152595429]
問題によりオープンソースリポジトリに追加されたテストの数は、対応するプロジェクトテストスイートサイズの約28%であった。
本稿では,Large Language Models (LLMs) を用いたLIBROを提案する。
LIBROの評価は、広く研究されているDefects4Jベンチマークにおいて、全ての研究ケースの33%で障害再現テストケースを生成することができることを示している。
論文 参考訳(メタデータ) (2022-09-23T10:50:47Z) - Fault-Aware Neural Code Rankers [64.41888054066861]
サンプルプログラムの正しさを予測できる故障認識型ニューラルネットワークローダを提案する。
我々のフォールト・アウェア・ローダは、様々なコード生成モデルのpass@1精度を大幅に向上させることができる。
論文 参考訳(メタデータ) (2022-06-04T22:01:05Z) - Beyond Accuracy: Behavioral Testing of NLP models with CheckList [66.42971817954806]
CheckList は NLP モデルをテストするためのタスクに依存しない方法論である。
CheckListには、包括的なテストのアイデアを促進する一般的な言語機能とテストタイプのマトリックスが含まれている。
ユーザスタディでは、CheckListのNLP実践者が2倍の数のテストを作成し、それのないユーザの約3倍のバグを発見しました。
論文 参考訳(メタデータ) (2020-05-08T15:48:31Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。