Abstract
Aviation control software has become the core control decision-making unit of the aviation system. The Boolean conditional expressions are the main parts of the branch and loop control logic of aviation control software. This paper studies the fault classification and repair method of conditional expression of aviation control software. 1) a two-level Boolean conditional expression fault classification method is proposed; 2) based on the design of mutation operator, repair solution and stop condition of mutation repair, an automatic repair method of conditional expression is proposed; 3) a repair assistant tool for conditional expression is designed and implemented, and 155 fault expressions are repaired. The results show that 55.5% of fault expressions can achieve accurate repair, 44.5% of fault expressions can generate multiple correct versions after a repair, and some versions have operation redundancy, so it is necessary to select the optimal version manually.
Highlights
The Boolean conditional expressions are the main parts of the branch and loop control logic of aviation control software
This paper studies the fault classification and repair method of conditional expression of aviation control software. 1) a two⁃level Boolean conditional expression fault classification method is proposed; 2) based on the design of muta⁃ tion operator, repair solution and stop condition of mutation repair, an automatic repair method of conditional ex⁃ pression is proposed; 3) a repair assistant tool for conditional expression is designed and implemented, and 155 fault expressions are repaired
The results show that 55.5% of fault expressions can achieve accurate repair, 44.5% of fault expressions can generate multiple correct versions after a repair, and some versions have operation redun⁃ dancy, so it is necessary to select the optimal version manually
Summary
于 C 语言条件表达式抽象故障分类如下: 1) 操作符引用故障,即 operator reference fault ( ORF) 。 此类故障是指在表达式中误把 ∧ 替换为 故障程序 int foo,bar,foobar, barfoo; ∥initial the variables if 故障程序 int foo,bar,foobar,barfoo; ∥initial the variables if( foo‖! Bar && ( foobar && barfoo) ) { printf
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have