C Source Code Generation from IR towards Making Bug Samples to Fluctuate for Machine Learning
In recent years, machine learning (ML) techniques have become popular for detecting software bugs. However, a common challenge in ML-based bug detection arises from the unequal distribution of correct and incorrect training data. Specifically, there is a scarcity of incorrect data (containing bugs) compared to the abundance of correct data, negatively impacting ML model performance. To address this issue, researchers suggest artificially injecting bugs into correct samples. In addition to the equal distribution of samples, the diversity of training data significantly affects ML performance. Our work focuses on generating various incorrect samples stemming from a single root cause (bug). Specifically, we plan to inject bugs into LLVM IR codes and translate them into source codes written in high-level programming languages. For diversity, we use probabilistic language models in the translator. In this paper, we present an IR-to-C translator using seq2seq and explore the resulting diversity of generated samples.
Authors
- Mamoru Ohara
- Chisato Murakami (ORCID: https://orcid.org/0000-0002-3517-1657)
- Yuto Sugawa
Institutions
- Nihon University (JP)
- Tokyo Metropolitan Industrial Technology Research Institute (JP)
Publication Details
- Published
- 2024-10-28
- DOI
- https://doi.org/10.1109/issrew63542.2024.00098
- Primary Topic
- Fuzzy Logic and Control Systems
- Type
- article
- Field-Weighted Citation Impact
- 0.00