Journal of Frontiers of Computer Science and Technology ›› 2017, Vol. 11 ›› Issue (8): 1214-1223.DOI: 10.3778/j.issn.1673-9418.1609021

Previous Articles     Next Articles

Context Based Fault Localization Method for Flight Control Software Aging Defects

DU Xiaoting1+, WANG Nan2   

  1. 1. School of Automation Science and Electrical Engineering, Beihang University, Beijing 100191, China
    2. School of Electrical and Computer Engineering, Duke University, Durham, North Carolina 27708, USA
  • Online:2017-08-01 Published:2017-08-09

基于上下文的飞控软件老化缺陷定位方法研究

杜晓婷1+,王  楠2   

  1. 1. 北京航空航天大学 自动化科学与电气工程学院,北京 100191
    2. 杜克大学 电子与计算机工程学院,北卡罗莱那 达勒姆 27708,美国

Abstract:  With the development of aviation industry and the higher complexity of flight control software, the requirements of the reliability and real-time performance become higher. This paper investigates a special type of aging   defects which will affect the reliability and real-time performance of software systems, due to the reason that it will result in the slow response on software systems. However, there is no effective method to address this type of defects for flight control software. Inspired by that, this paper proposes a context based fault localization method. First of all, the main loop of the flight control software is modelled as a task tree, then the repeated running processes of the main loop can be considered as a task tree series. By utilizing Mann-Kendall Test, the time attribute of the central node of the task tree is detected to find the suspicious task. Thereafter, according to the relationship among the task tree series, suspicious tasks are selected to locate defects. The function of suspicious task is the location of the defect. Finally, an experiment is implemented and the results show that the proposed method can not only locate the defect, but also give the call context.

Key words: flight control software, aging defect, fault localization, context, task tree

摘要: 随着航空工业的发展和飞控软件复杂度的提高,对飞控软件可靠性和实时性的要求也越来越高。软件老化缺陷中存在一类缺陷,会使系统响应逐渐变慢,最终出现失效,严重影响飞控软件的可靠性和实时性,但目前没有定位这类缺陷的有效方法。针对这类缺陷的定位,提出了一种基于上下文的飞控软件老化缺陷定位方法。该方法将飞控软件的主循环建模成一棵任务树,飞控软件反复运行的主循环抽象成一个任务树序列。通过Mann-Kendall Test对任务树中心节点的时间属性进行趋势检测,找到可疑任务,并根据任务树之间的关系对可疑任务进行筛选,定位出含有缺陷的任务,则该任务所对应的函数即为缺陷所在的位置。实验表明,该方法不仅能够给出缺陷的具体位置,还能给出发生失效时的调用上下文。

关键词: 飞控软件, 老化缺陷, 缺陷定位, 上下文, 任务树