
Design and implementation of fault injection based on abstract syntax tree of C Program
Author(s) -
Hao Yu,
Huiquan Gong,
Yawen Wang
Publication year - 2020
Publication title -
iop conference series. materials science and engineering
Language(s) - English
Resource type - Journals
eISSN - 1757-899X
pISSN - 1757-8981
DOI - 10.1088/1757-899x/715/1/012034
Subject(s) - fault injection , computer science , fault tree analysis , fault (geology) , fault coverage , parsing , syntax , workload , fault model , programming language , abstract syntax tree , inefficiency , reliability engineering , operating system , artificial intelligence , engineering , software , electronic circuit , electrical engineering , seismology , economics , microeconomics , geology
Mutation testing is a fault-based technique to evaluate test quality by injecting bugs in programs under test. Traditional manual fault injection has many disadvantages such as inefficiency, large workload, low compilation success rate and so on. To improve the efficiency of fault injection, this paper aims to develop an automatic tool that supports fault injection for programs written in C. This paper first introduces the types of mutation operators and injection rules. Then, it proposes a framework, which mainly includes four modules: parser, fault location extraction, fault generation and data model. Finally, experiments show that our tool not only aids to produce a large number of program faults but also provides syntax-correct mutant programs, which would be further used in mutation testing.