计算机科学与探索 ›› 2017, Vol. 11 ›› Issue (8): 1214-1223.DOI: 10.3778/j.issn.1673-9418.1609021
杜晓婷1+,王 楠2
DU Xiaoting1+, WANG Nan2
摘要: 随着航空工业的发展和飞控软件复杂度的提高,对飞控软件可靠性和实时性的要求也越来越高。软件老化缺陷中存在一类缺陷,会使系统响应逐渐变慢,最终出现失效,严重影响飞控软件的可靠性和实时性,但目前没有定位这类缺陷的有效方法。针对这类缺陷的定位,提出了一种基于上下文的飞控软件老化缺陷定位方法。该方法将飞控软件的主循环建模成一棵任务树,飞控软件反复运行的主循环抽象成一个任务树序列。通过Mann-Kendall Test对任务树中心节点的时间属性进行趋势检测,找到可疑任务,并根据任务树之间的关系对可疑任务进行筛选,定位出含有缺陷的任务,则该任务所对应的函数即为缺陷所在的位置。实验表明,该方法不仅能够给出缺陷的具体位置,还能给出发生失效时的调用上下文。