論文の概要: Fuzz4All: Universal Fuzzing with Large Language Models
- arxiv url: http://arxiv.org/abs/2308.04748v2
- Date: Mon, 15 Jan 2024 20:12:22 GMT
- ステータス: 処理完了
- システム内更新日: 2024-01-17 21:30:51.222822
- Title: Fuzz4All: Universal Fuzzing with Large Language Models
- Title(参考訳): fuzz4all: 大きな言語モデルによるユニバーサルなファズリング
- Authors: Chunqiu Steven Xia, Matteo Paltenghi, Jia Le Tian, Michael Pradel,
Lingming Zhang
- Abstract要約: 本稿では,ファズ4Allについて述べる。ファズ4Allは,多数の異なる入力言語を対象とし,それらの言語の特徴を多用できるという意味で普遍的なファズ4Allである。
テスト中の9つのシステム(C、C++、Go、SMT2、Java、Python)を入力として評価する。
この評価は、6言語すべてで、普遍的なファジィングは既存の言語固有のファジィよりも高いカバレッジを達成することを示している。
- 参考スコア(独自算出の注目度): 28.493736491857323
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Fuzzing has achieved tremendous success in discovering bugs and
vulnerabilities in various software systems. Systems under test (SUTs) that
take in programming or formal language as inputs, e.g., compilers, runtime
engines, constraint solvers, and software libraries with accessible APIs, are
especially important as they are fundamental building blocks of software
development. However, existing fuzzers for such systems often target a specific
language, and thus cannot be easily applied to other languages or even other
versions of the same language. Moreover, the inputs generated by existing
fuzzers are often limited to specific features of the input language, and thus
can hardly reveal bugs related to other or new features. This paper presents
Fuzz4All, the first fuzzer that is universal in the sense that it can target
many different input languages and many different features of these languages.
The key idea behind Fuzz4All is to leverage large language models (LLMs) as an
input generation and mutation engine, which enables the approach to produce
diverse and realistic inputs for any practically relevant language. To realize
this potential, we present a novel autoprompting technique, which creates LLM
prompts that are wellsuited for fuzzing, and a novel LLM-powered fuzzing loop,
which iteratively updates the prompt to create new fuzzing inputs. We evaluate
Fuzz4All on nine systems under test that take in six different languages (C,
C++, Go, SMT2, Java and Python) as inputs. The evaluation shows, across all six
languages, that universal fuzzing achieves higher coverage than existing,
language-specific fuzzers. Furthermore, Fuzz4All has identified 98 bugs in
widely used systems, such as GCC, Clang, Z3, CVC5, OpenJDK, and the Qiskit
quantum computing platform, with 64 bugs already confirmed by developers as
previously unknown.
- Abstract(参考訳): ファジィングは、様々なソフトウェアシステムでバグや脆弱性を発見することに大きく成功しました。
プログラムや形式言語をインプット(例えば、コンパイラ、ランタイムエンジン、制約解決器、アクセス可能なapiを持つソフトウェアライブラリ)として採用するテストシステム(sut)は、ソフトウェア開発の基本的なビルディングブロックであるため、特に重要です。
しかし、そのようなシステムのための既存のファジィザは、しばしば特定の言語をターゲットにしているため、他の言語や同じ言語の他のバージョンにも容易に適用できない。
さらに、既存のファッジャによって生成された入力は、しばしば入力言語の特定の特徴に制限されるため、他の機能や新機能に関連するバグをほとんど明らかにできない。
本稿では,多種多様な入力言語を対象とし,それら言語の様々な特徴を多用できるという意味で,普遍的な最初のファザーであるfuzz4allを提案する。
fuzz4allの背後にある重要なアイデアは、入力生成および突然変異エンジンとして大規模な言語モデル(llms)を活用することである。
この可能性を実現するために,ファジングに適したllmプロンプトを生成する新しい自動プロンプト手法と,新たなファジング入力を生成するためにプロンプトを反復的に更新する新しいllm駆動ファジングループを提案する。
テスト中の9つのシステム(C、C++、Go、SMT2、Java、Python)を入力として評価する。
評価の結果、universal fuzzingは、既存の言語固有のfuzzersよりも高いカバレッジを達成している。
さらにFuzz4Allは、GCC、Clang、Z3、CVC5、OpenJDK、Qiskit量子コンピューティングプラットフォームなど、広く使用されているシステムで98のバグを特定した。
関連論文リスト
- CRUXEval-X: A Benchmark for Multilingual Code Reasoning, Understanding and Execution [50.7413285637879]
CRUXEVAL-Xコード推論ベンチマークには19のプログラミング言語が含まれている。
各言語に対して少なくとも600人の被験者で構成され、合計19Kのコンテンツ一貫性テストがある。
Pythonでのみトレーニングされたモデルでさえ、他の言語で34.4%のPass@1を達成することができる。
論文 参考訳(メタデータ) (2024-08-23T11:43:00Z) - MYTE: Morphology-Driven Byte Encoding for Better and Fairer Multilingual Language Modeling [70.34758460372629]
多様な言語にまたがる一貫した大きさのセグメントで同一情報をエンコードする新しいパラダイムを導入する。
MYTEは99の言語すべてに対して短いエンコーディングを生成する。
これにより、多言語LMの性能が向上し、多言語間でのパープレキシティギャップが減少する。
論文 参考訳(メタデータ) (2024-03-15T21:21:11Z) - Robust Open-Set Spoken Language Identification and the CU MultiLang
Dataset [2.048226951354646]
オープンセット音声言語識別システムは、入力が元の言語を示さないことを検出できる。
我々は,MFCCとピッチ特徴を用いたオープンセット音声言語識別のための新しい手法を実装した。
我々は、訓練された言語で91.76%の精度を達成し、未知の言語に適応する能力を有する音声言語識別システムを提案する。
論文 参考訳(メタデータ) (2023-08-29T00:44:27Z) - A Scalable and Extensible Approach to Benchmarking NL2Code for 18
Programming Languages [1.6312827172331896]
我々は、自然言語からコード生成のための最初のマルチ言語並列ベンチマークであるMultiPL-Eを提案する。
我々は,MultiPL-Eのコード生成モデルであるCodexとInCoderの2つを評価した。
MultiPL-Eで表現される言語の範囲は、言語周波数と言語特徴がモデル性能に与える影響を調査することができる。
論文 参考訳(メタデータ) (2022-08-17T11:16:52Z) - A Systematic Evaluation of Large Language Models of Code [88.34057460577957]
コードの大規模な言語モデル(LM)は、最近、コードを完成させ、自然言語記述からコードを合成する大きな可能性を示しています。
現在の最先端のコードLMは公開されておらず、モデルやデータ設計の決定について多くの疑問が残されている。
Codexはオープンソースではありませんが、既存のオープンソースモデルはいくつかのプログラミング言語でクローズな結果が得られることが分かりました。
GPT-2アーキテクチャに基づいた2.7Bパラメータを持つ新しいモデルPolyCoderをリリースし、12のプログラミング言語を1台のマシンで249GBのコードでトレーニングした。
論文 参考訳(メタデータ) (2022-02-26T15:53:55Z) - Revisiting Language Encoding in Learning Multilingual Representations [70.01772581545103]
言語埋め込みを置き換えるクロスリンガル言語投影(Cross-lingual Language Projection, XLP)と呼ばれる新しいアプローチを提案する。
XLPは単語埋め込みを言語固有の意味空間に投影し、投影された埋め込みはTransformerモデルに供給される。
実験により、xlpは広範囲の多言語ベンチマークデータセットのモデル性能を自由かつ著しく向上できることが示された。
論文 参考訳(メタデータ) (2021-02-16T18:47:10Z) - X-FACTR: Multilingual Factual Knowledge Retrieval from Pretrained
Language Models [103.75890012041366]
言語モデル(LM)は、事実の知識を捉えるのに驚くほど成功した。
しかし、LMの実際の表現能力の研究は、ほぼ間違いなく英語で行われている。
我々は23の語型的多様言語に対するクローゼスタイルプローブのベンチマークを作成する。
論文 参考訳(メタデータ) (2020-10-13T05:29:56Z) - Inducing Language-Agnostic Multilingual Representations [61.97381112847459]
言語間の表現は、世界中のほとんどの言語でNLP技術が利用可能になる可能性がある。
i) 対象言語のベクトル空間をピボットソース言語に再配置すること、(ii) 言語固有の手段と分散を取り除くこと、(ii) 副産物としての埋め込みの識別性を向上すること、(iii) 形態的制約や文の並べ替えを除去することによって言語間の入力類似性を高めること、の3つのアプローチを検討する。
論文 参考訳(メタデータ) (2020-08-20T17:58:56Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。