It will be of important practical significance to the automatic fault localization of software for improving the efficiency of debugging software and cost savings .Current researches pay more attention to the single task -sequential execution programs, but less to real-time software .Interactive logical fault is a kind of real-time software fault ,which is hard to locate and ubiquitous, because of the strong relation among this kind of fault and real-time software concurrency and time-source-order constraints ,it is different from sequential program .For the automatic localization of this kind fault is a new question in the field of fault localization .This issue is based on knowledge-understanding-analysis model which is developed from manual debugging ,via fully acquiring static and dynamic information which is associated with fault .Firstly building a kind of two layers “general-special” information of fault reasoning .Then based on the “knowledge + behavior” architecture of fault reasoning ,building a kind of fault reasoning of self-directed learning by knowledge-driven ,building a kind of fuzzy reasoning system based on behavior and their core process ,and giving relevant reasoning methods and methods of proof .This issue is a good complement in the field of automatic fault localization .It is of important practical significance to build and develop automatic fault localization research.
软件错误的自动化定位对于提高软件调试效率、节约成本具有十分重要的现实意义。现有错误定位研究多针对“单任务-顺序”程序,很少涉及实时软件。交互逻辑错误是实时软件中一类普遍存在且较难定位的错误,该类错误与实时软件的并发性、“时间-资源-次序”等约束具有较强的关联,其错误特征与顺序程序中的功能错误具有显著的区别,针对这类错误的自动化定位是该研究领域内一个崭新的、亟待解决的问题。课题以人工排除错误时形成的“知识-理解-分析”模式为基础,通过充分获取错误关联的静态和动态信息,首先构建出“普适-具体”双层错误推理知识体系,然后基于“知识+行为”的错误推理架构,分别建立了知识驱动下自学习错误推理和基于行为的模糊推理两种推理方式及核心过程,并提出了相应的推理方法,最后设计了实验过程。课题对软件错误自动化定位研究领域是一个很好的补充,对于引导和发展实时软件错误自动化定位方向具有重要的现实意义。
实时并发软件错误分析、定位与测试技术是软件错误定位领域一个重要分支。如何对并发软件中的交互错误进行表示、分析、定位、验证具有极大的挑战和现实意义。课题针对上述问题,分别从并发软件和错误的形式化表述入手,针对并发软件几类典型交互错误进行特征分析,分别构建了两套错误推理定位体系,即基于状态机模型的错误分析与推理和基于集合理论的交互错误推理。并提出和改进了多种自动化方法来解决可疑错误集合的缩减与确认。.基于状态机的并发错误推理体系:针对一般的基于状态机的错误诊断方法多基于单个错误的假设和两种错误模型,提出了转换未执行错误和转换多余错误两种新的错误模型,并将假设和错误模型应用到单个状态机模型、通信状态机模型以及嵌入式通信状态机模型三种模型上,提出在三种模型下的错误诊断方法,进一步构建了三种模型下的错误判定算法。实例分析了算法的正确性和效率,结果表明,该方法能准确地诊断出错误位置和错误信息。.基于集合理论的交互错误推理体系:并发程序中三种典型错误,即数据竞争、原子性违背以及顺序违背均可以转化为代码块顺序约束表达逻辑。已有研究没有很好解决这种由代码块顺序约束违背引起交互错误的定位问题。基于集合论和集合运算思想,提出了基于有限测试用例进行可疑错误关系集合帅选算法,并进一步提出了集合变换算法生成用例来缩小可疑集合直至定位错误。经过实例验证和大量数据观测,所提出的多种算法可以有效定位多进程代码块顺序约束违背错误。.可疑错误集合的缩减与确认的自动化方法:在有限的测试结果前提下,提出了测试用例生成算法和测试脚本建模与自动生成算法,其中测试脚本生成算法与rhapsody和多种工具的测试脚本建模与自动生成算法进行了比较,本文提出算法在可靠性、可扩展和性能上更优。为了支持实时多任务嵌入式软件的错误用例模拟与结果观测,优化设计了虚拟仿真实验平台,并与当前工具和方法进行了综合比较分析,本文提出的标准体系更有优势。
{{i.achievement_title}}
数据更新时间:2023-05-31
基于SSVEP 直接脑控机器人方向和速度研究
多空间交互协同过滤推荐
下调SNHG16对胃癌细胞HGC-27细胞周期的影响
BDS-2/BDS-3实时卫星钟差的性能分析
大足鼠耳蝠嘴巴张角辐射声场的数值研究
面向理解的软件错误定位方法:状态转移概率推理建模
基于启发式选择变异和软件行为特征挖掘的软件错误定位方法
基于进化优化的大型软件演化中的错误定位
基于模型检查的软件错误定位技术研究