FUZZCODER Byte-level Fuzzing Test via Large Language Model
FUZZCODER Byte-level Fuzzing Test via Large Language Model
Liqun Yang1 , Jian Yang1 ∗, Chaoren Wei1 , Guanglin Niu2 , Ge Zhang3,5 , Yunli Wang1 ,
Linzheng Chai1 , Wanxu Xia1 , Hongcheng Guo1 , Shun Zhang1 , Jiaheng Liu1 , Yuwei Yin1 ,
Junran Peng4 , Jiaxin Ma6 , Liang Sun1 Zhoujun Li1
1
Beihang University; 2 University of British Columbia; 3 University of Waterloo
4
University of Science and Technology Beijing; 5 M-A-P;
6
Beijing University of Posts and Telecommunications
[email protected];
(a) Baselines
senting a target program with crafted malicious
input to cause crashes, buffer overflows, mem-
ory errors, and exceptions. Crafting malicious 7f 45 7f 45
inputs in an efficient manner is a difficult open 00 01 1c 01
problem and the best approaches often apply 1d 2c LLM 1d 2c
uniform random mutations to pre-existing valid
(b) FZ-LLM
inputs. In this work, we propose to adopt fine-
tuned large language models (F UZZ C ODER) to
learn patterns in the input files from success- Figure 1: Comparison between the standard byte-level
ful attacks to guide future fuzzing explorations. fuzz test and our proposed method.
Specifically, we develop a framework to lever-
age the code LLMs to guide the mutation pro- become industry standards, while researchers fur-
cess of inputs in fuzzing. The mutation process
ther explore advanced strategies like evolutionary
is formulated as the sequence-to-sequence mod-
eling, where LLM receives a sequence of bytes fuzzing and hybrid approaches to enhance test case
and then outputs the mutated byte sequence. generation and code coverage. As the intricacy of
F UZZ C ODER is fine-tuned on the created in- software systems escalates, fuzzing continues to
struction dataset (Fuzz-Instruct), where the suc- evolve, proving its essential role in the realm of
cessful fuzzing history is collected from the software development and security testing.
heuristic fuzzing tool. F UZZ C ODER can pre- Based on neural network architectures like
dict mutation locations and strategies locations
RNNs and GANs (Goodfellow et al., 2016), this
in input files to trigger abnormal behaviors of
the program. Experimental results show that line of research has shown potential in improv-
F UZZ C ODER based on AFL (American Fuzzy ing test case generation, increasing code coverage,
Lop) gain significant improvements in terms and detecting elusive vulnerabilities. Trained on
of effective proportion of mutation (EPM) and billions of lines of code, large language models
number of crashes (NC) for various input for- (LLMs) have shown exceptional aptitude in vari-
mats including ELF, JPG, MP3, and XML.1 ous software engineering tasks in code generation
(Rozière et al., 2023; Bai et al., 2023; Guo et al.,
1 Introduction
2024a), program repair (Zhang et al., 2023; Guo
Fuzzing test (Guo et al., 2018; Xie et al., 2022; Wei et al., 2023), and fuzzing (Xia et al., 2024; Deng
et al., 2022; Cummins et al., 2018; Manès et al., et al., 2023; Huang et al., 2024; Yang et al., 2024).
2019; Li et al., 2018), a dynamic software test- The rigorous pre-training on vast code datasets
ing technique, has emerged as a powerful method forms the cornerstone of the capabilities of LLM
for uncovering vulnerabilities and defects within in code generation and comprehension, even for
software applications. Fuzzing frameworks like the encoded byte sequence. Byte level byte pair
AFL (American Fuzzy Lop) and libFuzzer have encoding (BBPE) tokenizer (Wang et al., 2020; Wu
∗ et al., 2024; Radford et al., 2019) have become
Corresponding author.
1
https://github.com/weimo3221/ the standard practices for state-of-the-art LLMs,
FUZZ-CODER which brings powerful understanding and genera-
tion capability for byte-like data. Moreover, these and strategies. The data in any format is first
LLMs can be further optimized through fine-tuning converted into a sequence of bytes as the input
or prompting to enhance their proficiency in spe- of LLMs. Then, the code LLM will decide
cific domains. However, how to effectively leverage the possible mutation strategies and positions.
instruction fine-tuning (IFT) to inspire LLMs to
help byte-based mutation for the fuzzing test still • We construct a complete framework to fine-
requires further exploration. tune the code LLMs with the help of the col-
In this paper, we investigate the feasibility of lected instruction corpora Fuzz-Instruct. To
leveraging code LLM to develop a framework, effectively evaluate the performance of differ-
guiding the mutation process of inputs in fuzzing. ent models, we construct a fuzzing test bench-
The mutation process is formulated as the sequence- mark Fuzz-Bench comprised of 8 programs,
to-sequence modeling, where LLM receives a byte which accept different formats of data (e.g.
sequence and then outputs the mutated byte se- ELF, JPG, MP3, and XML).
quence. The LLM is fine-tuned on the created • The experimental results on created bench-
instruction dataset, where the successful fuzzing mark Fuzz-Bench (simulation using AFL)
history is collected from the heuristic fuzzing tool. demonstrate the fine-tuned F UZZ C ODER sig-
In Figure 1, the instruction corpus is coupled into nificantly improves the effective proportion of
pairs comprised of original inputs and successfully mutation (EPM) and triggers more program
mutated inputs. F UZZ C ODER aims at identify- crashes compared to the previous baselines.
ing the most possible bytes within input files for
mutations. To gather the instruction dataset Fuzz- 2 Preliminary: Fuzzing Test
Instruct, we initially adopt standard fuzzing meth-
ods to record mutation instances that yield new Fuzzing is a robust software testing technique de-
code coverage or trigger crashes. Fuzz-Instruct signed to uncover vulnerabilities and flaws in com-
then serves to train F UZZ C ODER based on different puter programs, primarily by subjecting them to
code foundation models to guide towards generat- a barrage of unexpected and often invalid inputs.
ing promising mutated inputs. While our method- The fuzzing test can be mathematically represented
ology is adaptable to various fuzzing frameworks, as follows:
we apply it specifically to the state-of-the-art AFL,
F(T, g(x)) = R (1)
which introduces random mutations into a batch of
seed input files and curates a queue of new inputs, where F(·, ·) represents the fuzzing process receiv-
which are effective in tracing new code executions. ing mutation of input test cases. T is the target
Our proposed method is evaluated on software or program subjected to the fuzzing test.
the benchmark Fuzz-Bench, comprised I represents the input test cases, which are typi-
of 8 programs: NM_ELF, READ_ELF, cally malformed, unexpected, or random data. g(x)
OBJDUMP_ELF, LINT_XML, MP3GAIN_MP3, is the mutation format of the original input x. R
IMAGEMAGICK_GIF, SPLIT_TIFF, and stands for the results or observations obtained dur-
TRAN_JPEG. Fuzz-Bench accepts the different ing the fuzzing test, which may include system
format inputs, including ELF, XML, MP3, and crashes, error messages, or other unexpected be-
GIF. F UZZ C ODER significantly improves line haviors in the target software.
coverage and branch coverage compared to the American Fuzzy Lop2 (AFL) is a widely used au-
previous strong baselines. Further, we observe tomated vulnerability mining tool, which finds se-
that F UZZ C ODER triggers more new paths or the curity vulnerabilities in software programs through
frequency of code blocks found during fuzz testing fuzzy testing techniques. Fuzzy testing is a black-
due to the effective mutation prediction of the box testing methodology that injects random or
understanding capability of the code LLM. semi-random data into program inputs to detect
The key contributions are summarized as: anomalous behavior and potential vulnerabilities
in the program. In AFL, mutation refers to the
• We formulate the fuzzing test as a sequence-
generation of new fuzzy test inputs by modifying
to-sequence paradigm and then introduce the
the input samples, which is a core component of
generation model to attack vulnerable posi-
2
tions by selecting proper mutation positions https://github.com/google/AFL
AFL fuzzy testing. Its mutation strategy employs For OBJDUMP_ELF, the program displays various
a range of random and semi-randomized mutation information from object files (including executable
techniques to create a diversity of test inputs. Let files, target files, and shared libraries), such as dis-
x(i) ∈ {x(1) , . . . , x(n) } denote the seed test input assembled code and section table information. For
from the initial pool comprised of n test cases, MP3GAIN_MP3, the program adjusts the volume
we leverage the NLP techniques to generate the of MP3 audio files, which aims to balance and nor-
mutated test case z (i) . Different from the rule- malize the volume of MP3 files so that they sound
based mutation, we use a generation model to ob- more consistent when played without noticeable
tain variant samples for fuzzy testing by predicting volume differences. For IMAGEMAGICK_GIF,
variant locations and variant types. Specifically, the program is a tool in ImageMagick for process-
(i) (i)
x(i) = {x1 , . . . , xm } is m bytes input sequence, ing various image files (including JPG, PNG, GIF,
the prediction model M chooses k mutation po- etc.). It can get information about the image, ad-
sitions p = {p1 , . . . , pk } and their corresponding just the image, and process it. For SPLIT_TIFF,
mutation strategies s = {s1 , . . . , sk } to modify the it splits a TIFF file containing multiple images
original test case xk into z k . The process can be into multiple separate TIFF files, each file con-
described as: taining a frame or page from the input file. For
m
Y
TRAN_JPEG, it can rotate JPG images 90 degrees,
P (p, s|x(i) ) = P (pj , sj |x(i) , p<j , s<j ; Θ) (2) 180 degrees or 270 degrees clockwise. JPG images
j=1 can also be cropped, optimized, etc.
where p<j = (p1 , . . . , pj−1 ) and s<j = Data Construction For different programs, we
(s1 , . . . , sj−1 ). pj and sj represent the j-th mu- need to collect the data used for LLMs separately
tation position and mutation strategy respectively by fuzzing the programs with heuristic methods,
predicted by the previous context p<j and s<j se- where the baseline is denoted as AFL. Through the
quentially and the original test case x(i) . simulation of the original AFL, we can collect the
k valid mutations {(p1 , s1 ), . . . , (pk , sk )} for the
3 Fuzz-Bench
specific test case x. Then, we can construct the
We introduce 8 fuzzing datasets: NM_ELF, supervised training pair (x, p, s) comprised of the
READ_ELF, OBJDUMP_ELF, LINT_XML, input test case x, valid mutation positions p, and
MP3GAIN_MP3, IMAGEMAGICK_GIF, the corresponding strategies s. For each dataset,
SPLIT_TIFF, and TRAN_JPEG, which ac- we can obtain the corresponding instruction cor-
cept the different format inputs, including the pus Dt = {I (i) , x(i) , y (i) }N
i=1 (1 ≤ t ≤ T = 8,
t
ELF, XML, MP3, and GIF format. The program T is the number of the programs, Nt is the train-
subjected to the fuzzing test originates from the ing data size of the program t, and I (i) is the in-
FuzzBench3 and previous works4 . struction) and merge them as the whole dataset
Here, we describe the details of each dataset. D = {Dt }Tt=1 .
For LINT_XML, the program parses one or more Given the specific test case, there exist different
XML files and prints various types of output, de- valid mutation strategies to successfully fuzz the
pending upon the options selected. It is useful for program (e.g. the mutation leads to the program
detecting errors both in XML code and in the XML crash or triggers a new execution path). We can
parser itself. For READ_ELF, the program reads gather the valid mutation pairs together as the target
and displays information about the contents of sequence. i.e., valid (pi , si ) pairs of the test case.
ELF (executable and linkable Format) format files, In the following example, if its valid (pi , si ) pairs
which include executables, target files, and shared are (1, 2) and (1, 3), it denotes that the 2-th and 3-
libraries. For NM_ELF, the program displays sym- th token in the hexadecimal sequence will perform
bol table information in target files (including ex- 1-th operation to cause crash of the program. the
ecutables, target files, and shared libraries). The final expression can be described as follows:
symbol table contains symbols defined and refer-
enced in the program (e.g., variable names, func- Data Collection
tion names, etc.) and their associated attributes. Byte Input: 0x3c 0x21 0x44 0x4f 0x43
3
https://github.com/google/FuzzBench Mutation strategies: [(1, 2), (1, 3)]
4
https://github.com/fdu-sec/NestFuzz
Test Case LLM
Queue Test Case Encoder Decoder
𝑥! , …, 𝑥" 𝑦! , …, 𝑦#
Decoder-only
𝑥! , … , 𝑥" , 𝑦! , …, 𝑦#
7f 45 4c 46 01 01 01
00 00 00 00 00 00 02
Byte-level
Execute the next file Mutated Cases
Add to Queue
Execute the next file
No
7f 45 46 4c 01 01 01 Bitfilp
00 00 00 00 00 00 02 (0x46 0x4c)
Yes …
7f 45 4c 46 01 01 01 Replace
Trigger New Paths ?
Test Program 00 00 80 00 00 00 02 (0x00 with 0x80)
Figure 2: The workflow of the fuzzing test with fine-tuned LLMs F UZZ C ODER.
The queue of input sequences Q is used to store 4 Fuzzing Test via Generation Model
input test cases (test cases). When the fuzzing pro-
cess (e.g. AFL) starts, it automatically selects and 4.1 Input Encoding
mutates input data based on the response of the Our framework consists of a fuzzer and a model
target program to better explore potential program that highlights useful locations in an input file. Dur-
paths and boundary conditions. Q contains input ing runtime. the fuzzer queries the model for each
files that successfully caused the program to exe- seed file and focuses mutations on the highlighted
cute different paths during testing. These input files locations. Given an open-ended input file, we first
are considered valid because they cause program convert the input file into a sequence of bytes x(i)
execution to enter new code paths or trigger spe- in Figure 2 (hexadecimal sequence). Then, the
cific error conditions. To collect as much mutation generation model should predict the mutation po-
data as possible for each program, each program is sitions p = {p1 , . . . , pk } and the mutation strate-
fuzzed multiple times. gies s = {s1 , . . . , sk }, where the sk is the corre-
sponding mutation strategy of the position pk . To
Data Split Since the training of the model re- jointly model the mutation position and strategy,
quires a training set and a valid set, we randomly the prediction sequence y = (y1 , . . . , y2k ) can be
select 90% of the samples as the training set and described as:
10% of the data as the valid set. The number of
samples is described as: y = (p1 , s1 , . . . , pk , sk ) (3)
Benchmark Train Test Program Input Option where the model first predicts the mutation position
NM_ELF 4534 504 nm-new ELF -a @@ pk and then output the corresponding strategy sk .
READ_ELF 4167 464 readelf ELF -a @@
OBJDUMP_ELF 4009 446 objdump ELF -x -a -d @@
LINT_XML
MP3GAIN_MP3
5442
1431
605
150
xmllint
mp3gain
XML
MP3
–valid –recover @@
@@
4.2 Encoder-Decoder Framework
IMAGEMAGICK_GIT 6477 720 magick GIF identify @@
SPLIT_TIFF 4136 459 tiffsplit TIFF @@ Given the source inputs Dsrc and target predictions
TRAN_JPEG 1376 153 jpegtran JPEG @@
Dtrg , the encoder of the encoder-decoder-based
Table 1: Statistics of the different benchmarks. F UZZ C ODER first receives the original input x and
encodes it into the hidden states Henc with the
bidirectional attention mechanism.
Simulation Environment We incorporate the A
QK T
generation model into the AFL framework to sup- He = S(x, Me ) = Softmax √ ⊗ Me V
a=1 dk
port the fuzzing with LLM. The simulation environ- (4)
ment is Ubuntu 18.04.6 LTS, Intel Xeon Processor
(Skylake, IBRS), A100-PCIE-40GB, AFL-2.57b5 .
where A is the number of attention heads Then,
the decoder predicts the target tokens sequentially
5
https://github.com/google/AFL based on He .
4.3 Decoder-only Framework Task Description:
Now, you are a AFL (American Fuzzy Lop), which is a
Given the source inputs Dsrc and target predictions highly efficient and widely used fuzz testing tool designed
Dtrg , the encoder of the encoder-decoder-based for finding security vulnerabilities and bugs in software. You
are now fuzzing a program named {dataset_name}, which
F UZZ C ODER first receives the original input x and requires variable (a byte sequence) to run. I will give you a
encodes it into the hidden states Henc with the byte sequence as input sequence, and you need to mutate the
input sequence to give me a output sequence through a
bidirectional attention mechanism. mutation operation below. Finally you need to give me a
A
output which includes input sequence, mutation operation
QK T
√ and output sequence.
Hd = S(x, Md ) = Softmax ⊗ Md V
a=1 dk
Mutation Operations:
(5) {Mutation Operations 𝑂}
where A is the number of attention heads The de- Input Sequence Definition:
coder predicts the target tokens sequentially based It consists of bytes represented in hexadecimal, separated by
spaces. It is the byte sequence to be mutated. It is a variable
on He with the casual mask Md . that can cause the program to crash or trigger a new path.
Table 2: Evaluation results (EPM, ‰) of multiple models. Bitflip a/b denotes a ∗ b bits are flipped as a whole. Arith
a/b denotes the a ∗ b bits for addition and subtraction operations.
4 3.8 3.8
3.6
3.4
3.1
2.9
3 2.8
0
READ_ELF OBJ_DUMP NM_ELF LINT_XML MP3_GAIN IMAGE_MAGICK SPLIT_TIFF TRAN_JPEG
Dataset
Figure 5: Comparison between the original JPG file and the JPG file after blur test
model based on open-source code LLMs CodeL- tool to improve the effectiveness of the fuzzing test.
lama, Deepseek-Coder, and CodeQwen is trained StarCoder-2: StarCoder-2 models with 3B, 7B,
for 3 epochs with a cosine scheduler, starting at a and 15B parameters are trained on 3.3 to 4.3 tril-
learning rate of 5e-5 (3% warmup steps). We use lion tokens, supporting hundreds of programming
the AdamW (Loshchilov and Hutter, 2017) opti- languages. Code-Llama: Code-Llama is a fam-
mizer with a batch size of 1024 (max length 4K). ily of code large language models based on Llama
2, providing infilling and long context capabilities.
5.2 Methods DeepSeek-Coder: Deepseek-coder is a series of
open-source code models with sizes from 1.3B to
AFL (Original): The original AFL with the 33B, pre-trained from scratch on 2 trillion tokens.
heuristic mutation rules is used as a baseline. CodeQwen: CodeQwen with 7B parameters sup-
AFL (LSTM): We use the encoder-decoder-based ports 92 languages and 64K tokens.
LSTM network without pre-training to decide the
mutation position and strategy. AFL (Trans-
former): The encoder-decoder-based Transformer
without pre-training is incorporated into the AFL
5.3 Evaluation Metrics can trigger more complete paths more effectively,
Effective proportion of mutation (EPM): For so the higher these two metrics, the better.
each mutation of the seed sample in the queue, a Case study In Figure 5, we take the
mutation location is selected, and then the corre- JPEG_TRANS program as an example. In
sponding mutation strategy is carried out for a mu- Figure 5, the original Image will get Mutated
tation location. The effective proportion of muta- Image after several rounds of fuzzing test. We use
tions (‰) can be used to evaluate the effectiveness the big language model to guide the mutation of
of different methods. Image. For example, where Original Image was
Number of Crashes (NC): This indicator refers 0x53, it becomes 0x51. And the SSIM Score of
to the number of input samples that cause the pro- Mutated Image vs. Original Image is 0.93. The
gram to crash during fuzz testing and is used to Mutated Image is then fed into the JPEGTRAN
measure the number of malicious inputs and the program, which triggers a new code path or a
number of vulnerabilities. program crash.
8 Conclusions
In this paper, we present F UZZ C ODER, a series of
fine-tuned large language models for the fuzzing
test. First, we collect the Fuzz-Instruct dataset
based on a self-instruct strategy, which contains
multiple programs to improve the generalization
ability of LLMs on fuzzing operations. Then, to
easily evaluate the performance of existing LLMs
on fuzzing test, we also introduce the Fuzz-Bench
evaluation benchmark dataset with eight programs.
Besides, we also introduce the mixture-of-adapter
strategy to further enhance the instruction tuning
performance. Moreover, extensive experimental
results on our F UZZ C ODER demonstrate the effec-
tiveness of our F UZZ C ODER for fuzzing test.
References Software Engineering Conference and Symposium
on the Foundations of Software Engineering, pages
Josh Achiam, Steven Adler, Sandhini Agarwal, Lama 739–743.
Ahmad, Ilge Akkaya, Florencia Leoni Aleman,
Diogo Almeida, Janko Altenschmidt, Sam Altman, Jingxuan He, Mislav Balunović, Nodar Ambroladze,
Shyamal Anadkat, et al. 2023. Gpt-4 technical report. Petar Tsankov, and Martin Vechev. 2019. Learning
arXiv preprint arXiv:2303.08774. to fuzz from symbolic execution with application to
smart contracts. In Proceedings of the 2019 ACM
Jinze Bai, Shuai Bai, Yunfei Chu, Zeyu Cui, Kai Dang, SIGSAC conference on computer and communica-
Xiaodong Deng, Yang Fan, Wenbin Ge, Yu Han, Fei tions security, pages 531–548.
Huang, et al. 2023. Qwen technical report. arXiv
preprint arXiv:2309.16609. Linghan Huang, Peizhou Zhao, Huaming Chen, and
Lei Ma. 2024. Large language models based
Linzheng Chai, Jian Yang, Tao Sun, Hongcheng Guo, fuzzing techniques: A survey. arXiv preprint
Jiaheng Liu, Bing Wang, Xiannian Liang, Jiaqi Bai, arXiv:2402.00350.
Tongliang Li, Qiyao Peng, et al. 2024. xcot: Cross-
lingual instruction tuning for cross-lingual chain-of- Jun Li, Bodong Zhao, and Chao Zhang. 2018. Fuzzing:
thought reasoning. arXiv preprint arXiv:2401.07037. a survey. Cybersecurity, 1(1):1–13.
Chris Cummins, Pavlos Petoumenos, Alastair Murray, Ilya Loshchilov and Frank Hutter. 2017. Decou-
and Hugh Leather. 2018. Compiler fuzzing through pled weight decay regularization. arXiv preprint
deep learning. In Proceedings of the 27th ACM SIG- arXiv:1711.05101.
SOFT International Symposium on Software Testing
and Analysis, pages 95–105. Valentin JM Manès, HyungSeok Han, Choongwoo Han,
Sang Kil Cha, Manuel Egele, Edward J Schwartz,
Yinlin Deng, Chunqiu Steven Xia, Haoran Peng, and Maverick Woo. 2019. The art, science, and engi-
Chenyuan Yang, and Lingming Zhang. 2023. Large neering of fuzzing: A survey. IEEE Transactions on
language models are zero-shot fuzzers: Fuzzing deep- Software Engineering, 47(11):2312–2331.
learning libraries via large language models. In Pro-
Jibesh Patra and Michael Pradel. 2016. Learning to fuzz:
ceedings of the 32nd ACM SIGSOFT international
Application-independent fuzz testing with probabilis-
symposium on software testing and analysis, pages
tic, generative models of input data. TU Darmstadt,
423–435.
Department of Computer Science, Tech. Rep. TUD-
Patrice Godefroid, Hila Peleg, and Rishabh Singh. 2017. CS-2016-14664.
Learn&fuzz: Machine learning for input fuzzing. In Alec Radford, Jeffrey Wu, Rewon Child, David Luan,
2017 32nd IEEE/ACM International Conference on Dario Amodei, Ilya Sutskever, et al. 2019. Language
Automated Software Engineering (ASE), pages 50–59. models are unsupervised multitask learners.
IEEE.
Baptiste Rozière, Jonas Gehring, Fabian Gloeckle, Sten
Ian Goodfellow, Yoshua Bengio, and Aaron Courville. Sootla, Itai Gat, Xiaoqing Ellen Tan, Yossi Adi,
2016. Deep Learning. MIT Press. http://www. Jingyu Liu, Tal Remez, Jérémy Rapin, et al. 2023.
deeplearningbook.org. Code Llama: Open foundation models for code.
arXiv preprint arXiv:2308.12950.
Daya Guo, Qihao Zhu, Dejian Yang, Zhenda Xie,
Kai Dong, Wentao Zhang, Guanting Chen, Xiao Kevin Slagle. 2024. Spacebyte: Towards deleting to-
Bi, Y Wu, YK Li, et al. 2024a. Deepseek-coder: kenization from large language modeling. arXiv
When the large language model meets programming– preprint arXiv:2404.14408.
the rise of code intelligence. arXiv preprint
arXiv:2401.14196. Hugo Touvron, Thibaut Lavril, Gautier Izacard, Xavier
Martinet, Marie-Anne Lachaux, Timothée Lacroix,
Hongcheng Guo, Jian Yang, Jiaheng Liu, Liqun Yang, Baptiste Rozière, Naman Goyal, Eric Hambro, Faisal
Linzheng Chai, Jiaqi Bai, Junran Peng, Xiaorong Hu, Azhar, et al. 2023a. Llama: Open and effi-
Chao Chen, Dongfeng Zhang, et al. 2023. Owl: A cient foundation language models. arXiv preprint
large language model for it operations. arXiv preprint arXiv:2302.13971.
arXiv:2309.09298.
Hugo Touvron, Louis Martin, Kevin Stone, Peter Al-
Hongcheng Guo, Wei Zhang, Anjie Le, Jian Yang, Jia- bert, Amjad Almahairi, Yasmine Babaei, Nikolay
heng Liu, Zhoujun Li, Tieqiao Zheng, Shi Xu, Run- Bashlykov, Soumya Batra, Prajjwal Bhargava, Shruti
qiang Zang, Liangfan Zheng, et al. 2024b. Lemur: Bhosale, et al. 2023b. Llama 2: Open founda-
Log parsing with entropy sampling and chain-of- tion and fine-tuned chat models. arXiv preprint
thought merging. arXiv preprint arXiv:2402.18205. arXiv:2307.09288.
Jianmin Guo, Yu Jiang, Yue Zhao, Quan Chen, and Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob
Jiaguang Sun. 2018. Dlfuzz: Differential fuzzing Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz
testing of deep learning systems. In Proceedings Kaiser, and Illia Polosukhin. 2017. Attention is all
of the 2018 26th ACM Joint Meeting on European you need. In NIPS 2017, pages 5998–6008.
Changhan Wang, Kyunghyun Cho, and Jiatao Gu. 2020. Quanjun Zhang, Tongke Zhang, Juan Zhai, Chunrong
Neural machine translation with byte-level subwords. Fang, Bowen Yu, Weisong Sun, and Zhenyu Chen.
In The Thirty-Fourth AAAI Conference on Artificial 2023. A critical review of large language model
Intelligence, AAAI 2020, The Thirty-Second Innova- on software engineering: An example from chat-
tive Applications of Artificial Intelligence Conference, gpt and automated program repair. arXiv preprint
IAAI 2020, The Tenth AAAI Symposium on Educa- arXiv:2310.08879.
tional Advances in Artificial Intelligence, EAAI 2020,
New York, NY, USA, February 7-12, 2020, pages
9154–9160. AAAI Press.