论文:2020,Vol:38,Issue(4):862-872
引用本文:
谢文光, 李琪, 汪克念, 马春燕, 张涛, 张国群. 航空控制软件条件表达式故障分类及修复方法[J]. 西北工业大学学报
XIE Wenguang, LI Qi, WANG Kenian, MA Chunyan, ZHANG Tao, ZHANG Guoqun. Conditional Expression Fault Classification and Repair Method of Aviation Control Software[J]. Northwestern polytechnical university

航空控制软件条件表达式故障分类及修复方法
谢文光1,2, 李琪3, 汪克念1,2, 马春燕3, 张涛3, 张国群4
1. 民航航空器适航审定技术重点实验室, 天津 300300;
2. 中国民航大学 适航学院, 天津 300300;
3. 西北工业大学 软件学院, 陕西 西安 710072;
4. 上海机电工程研究所, 上海 201109
摘要:
航空控制软件已成为航空系统的核心控制决策单元。布尔条件表达式是构成航空控制软件循环和分支逻辑代码的主要成分,研究了航空控制软件条件表达式故障分类及修复方法。①提出了一种2层次布尔条件表达式故障分类方法;②在设计变异算子、修复方案和变异修复停止条件的基础上,提出了一种条件表达式自动化修复方法;③设计和实现了面向条件表达式各类故障的修复辅助工具,对航空控制软件中155个故障表达式进行故障修复实验,结果表明,55.5%的故障表达式可以精确修复,44.5%的故障表达式修复后产生多个正确版本,部分版本存在运算冗余,尚需人工介入选择最优修复版本。
关键词:    条件表达式故障    故障修复    航空控制软件   
Conditional Expression Fault Classification and Repair Method of Aviation Control Software
XIE Wenguang1,2, LI Qi3, WANG Kenian1,2, MA Chunyan3, ZHANG Tao3, ZHANG Guoqun4
1. Key Laboratory of Civil Aircraft Airworthiness Technology, Tianjin 300300, China;
2. College of Airworthiness, Civil Aviation University of China, Tianjin 300300, China;
3. School of Software, Northwestern Polytechnical University, Xi'an 710072, China;
4. Shanghai Mechanical & Electrical Engineering Research Institute, Shanghai 201109, China
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.
Key words:    conditional expression fault    fault repair    aviation control software    fault classification   
收稿日期: 2019-10-28     修回日期:
DOI: 10.1051/jnwpu/20203840862
基金项目: 航空科学基金(20182667009,20185853038,20175553028)资助
通讯作者:     Email:
作者简介: 谢文光(1984-),中国民航大学助理研究员、硕士,主要从事嵌入式计算机软件、计算机控制及机载软件适航审定研究。
相关功能
PDF(1560KB) Free
打印本文
把本文推荐给朋友
作者相关文章
谢文光  在本刊中的所有文章
李琪  在本刊中的所有文章
汪克念  在本刊中的所有文章
马春燕  在本刊中的所有文章
张涛  在本刊中的所有文章
张国群  在本刊中的所有文章

参考文献:
[1] GAZZOLA L, MARIANI L, MICUCCI D. Automatic Software Repair:a Survey[C]//2018 IEEE/ACM 40th International Conference on Software Engineering, Gothenburg, 2018
[2] KOU R, HIGO Y, KUSUMOTO S. A Capable Crossover Technique on Automatic Program Repair[C]//Proc Int Workshop Empirical Softw Eng Practice, 2016
[3] JI T, CHEN L, MAO X, et al. Automated Program Repair by Using Similar Code Containing Fix Ingredients[C]//Proc Annu Comput Softw Appl Conf, 2016
[4] ARCURI A. Evolutionary Repair of Faulty Software[J]. Appl Soft Comput, 2011, 11(4):3494-3514
[5] DEMARCO F, XUAN J, BERRE D L, et al. Automatic Repair of Buggy if Conditions and Missing Preconditions with Smt[C]//Proc Int Workshop Constraints Softw Testing Verification Anal, 2014:30-39
[6] MECHTAEV S, YI J, ROYCHOUDHURY A. Angelix:Scalablemultiline Program Patch Synthesis Via Symbolic Analysis[C]//Proc Int Conf Softw Eng, 2016:691-701
[7] NGUYEN H, QI D, ROYCHOUDHURY A, et al. Semfix:Program Repair Via Semantic Analysis[C]//Proc Int Conf Softw Eng, 2013:772-781
[8] MECHTAEV S, YI J, ROYCHOUDHURY A. Directfix:Looking for Simple Program Repairs[C]//Proc Int Conf Softw Eng, 2015:448-458
[9] 何加浪,张琨,孟锦, 等. 基于不变量的程序修复进行扩展模型. 计算机应用研究, 2010, 27(12):139-141, 146 HE Jialang, ZHANG Kun, MENG Jin, et al. Invariants Based Program Repair Evolutionary Extended Model[J]. Application Research of Computers, 2010, 27(12):139-141, 146(in Chinese)
[10] 王雪华. 基于变异测试的错误修正系统的设计与实现[D]. 哈尔滨:哈尔滨工业大学,2016 WANG Xuehua, Design and Implementation of Fault Fixing System Based on Mutation Testing[D]. Harbin:Harbin Institute of Technology, 2016(in Chinese)
[11] 迟洋. 基于变异分析的软件错误定位方法研究[D]. 哈尔滨:哈尔滨工业大学, 2016 CHI Yang. Research on Mutation-Based Software Fault Location[D]. Harbin:Harbin Institute of Technology, 2016(in Chinese)
[12] 王旭明,于凤全,朱晓飞, 等. 基于Simulink/Stateflow的某型战机燃油系统功能仿真[J]. 兵工自动化, 2018, 37(4):47-52 WANG Xuming, YU Fengquan, ZHU Xiaofei, et al. Functional Simulation of a Battle Plane Fuel System Based on Simulink/Stateflow[J]. Military Automation, 2018, 37(4):47-52(in Chinese)
[13] DONG J, JIAO J, XIA H, et al. Safety Simulation and Analysis for Complex Systems Concurrency Based on Petri Net and Stateflow Model[C]//2019 Annual Reliability and Maintainability Symposium(RAMS), Orlando, FL, USA, 2019:1-7
[14] KAPOOR K, BOWEN J P. Test Conditions for Fault Classes in Boolean Specifications[J]. ACM Trans on Software Engineering and Methodology, 2007, 16(3):10
[15] SAE Avionics Systems Division Embedded Computing Systems Committee. Architecture Analysis and Design Language(AADL) Annex D:Behavior Model Annex[S]. AS5506TM/3 Annex D, 2017