BPP: Targeted Bug Injection for Machine Learning and Education
A tool for generating random C programs with specific bugs, useful for training machine learning models and educational purposes in software bug detection.
Technology No. CW-22-26
BPP automatically creates random C programs that are guaranteed to have bugs of a specific "interestingness" level. The primary purpose of this code is to train learning machines to identify bugs in programs more efficiently. Educators may also use it to teach students to examine software. The target customers are those who want to train their learning machines to identify bugs of a specific complexity and those who wish to teach students to use tools to examine software that has bugs. The key feature of this code is the ability to define different aspects of the randomly generated programs from the command line and the guarantee that the developed programs will contain bugs of similar complexity. The results of using this code include automatically creating large training sets of buggy C programs, where each program is guaranteed to have a bug of similar complexity. To the developer's knowledge, there are no alternative solutions for this purpose.
GitHub repository: https://github.com/IdahoLabResearch/Buggy-Program-Program
GitHub repository: https://github.com/IdahoLabResearch/Buggy-Program-Program