paper-with-me

홈 › Papers

Data Augmentation by Fuzzing for Neural Test Generation

2024-06-12 · Yifeng He, Jicheng Wang, Yuyang Rong, Hao Chen

Testing is essential to modern software engineering for building reliable software. Given the high costs of manually creating test cases, automated test case generation, particularly methods utilizing large language models, has become increasingly popular. These neural approaches generate semantically meaningful tests that are more maintainable compared with traditional automatic testing methods like fuzzing. However, the diversity and volume of unit tests in current datasets are limited. In this paper, we introduce a novel data augmentation technique, *FuzzAug*, that introduces the benefits of fuzzing to large language models to preserve valid program semantics and provide diverse inputs. This enhances the model's ability to embed correct inputs that can explore more branches of the function under test. Our evaluations show that models trained with dataset augmented by FuzzAug increase assertion accuracy by 5%, improve compilation rate by more than 10%, and generate unit test functions with 5% more branch coverage. This technique demonstrates the potential of using dynamic software testing to improve neural test generation, offering significant enhancements in neural test generation.

📄 PDF Abstract BibTeX arXiv:2406.08665

Code (0)

등록된 구현이 없습니다.

Tasks

Code GenerationData AugmentationDiversitysoftware testingvalid

Similar Papers 제목 키워드 기반

DeepSmartFuzzer: Reward Guided Test Generation For Deep Learning

2019-11-24 · Samet Demir, Hasan Ferit Eniser, Alper Sen

Testing Deep Neural Network (DNN) models has become more important than ever with the increasing usage of DNN models in safety-critical domains such as autonomous cars. The traditional approach of testing DNNs is to crea…

Data AugmentationDeep Learning

Legion: Best-First Concolic Testing

2020-02-15 · Dongge Liu, Gidon Ernst, Toby Murray, Benjamin I. P. Rubinstein

Concolic execution and fuzzing are two complementary coverage-based testing techniques. How to achieve the best of both remains an open challenge. To address this research problem, we propose and evaluate Legion. Legion …

Decision MakingDecision Making Under UncertaintySequential Decision Making

Greybox fuzzing as a contextual bandits problem

2018-06-11 · Ketan Patil, Aditya Kanade

Greybox fuzzing is one of the most useful and effective techniques for the bug detection in large scale application programs. It uses minimal amount of instrumentation. American Fuzzy Lop (AFL) is a popular coverage base…

Multi-Armed Bandits

Learn&Fuzz: Machine Learning for Input Fuzzing

2017-01-25 · Patrice Godefroid, Hila Peleg, Rishabh Singh

Fuzzing consists of repeatedly testing an application with modified, or fuzzed, inputs with the goal of finding security vulnerabilities in input-parsing code. In this paper, we show how to automate the generation of an …

BIG-bench Machine Learning

On the Challenges of Fuzzing Techniques via Large Language Models

2024-02-01 · Linghan Huang, Peizhou Zhao, Huaming Chen, Lei Ma

In the modern era where software plays a pivotal role, software security and vulnerability analysis are essential for secure software development. Fuzzing test, as an efficient and traditional software testing method, ha…

software testingSurvey