论文部分内容阅读
随着计算机相关技术的飞速发展,实时系统的应用领域得到了极大的拓展。实时系统中很多动作的发生必须要满足规定的时间约束,否则可能会导致严重的损失。因此,如何保证实时系统的正确性和安全性已被广大研究人员所关注。软件测试是验证实时系统正确性和安全性的一种关键手段,其中基于模型的测试是一种常用的方法。根据实时系统的特点,时间自动机模型常用来对实时系统进行建模。本文即是对基于时间自动机的实时系统测试用例生成方法进行了研究,主要工作如下:(1)在基于区域分解的时间自动机测试用例生成方法的基础上,提出了一种改进的基于区域分解的时间自动机测试用例生成方法。该方法对生成的测试路径进行预处理,将转换发生时形成的新时间变量关系加入目标符号状态中,以缩小符号状态的时钟区域,进而减少测试用例点的选取数量。同时,在选取测试用例点时遵循所有时钟变量同步增长的规律,动态生成可执行的测试用例,减少测试用例的生成数量。(2)改进的基于区域分解的时间自动机测试用例生成方法和原方法都是采用区域等价划分方法来划分时间状态空间。针对采用区域等价划分方法导致的测试用例数目庞大问题,提出了一种基于时间抽象互模拟的时间自动机测试用例生成方法。该方法采用时间抽象互模拟来获得模拟时间自动机的状态空间,其与原时间自动机是模拟与互模拟的关系,但是时间自动机的状态空间得到了极大的约简。根据约简后的时间自动机生成测试路径,并将测试路径中冗余的延迟迁移去除,最后动态生成可执行的测试用例,进一步减少了测试用例的生成数量。(3)针对符号状态拆分算法执行效率不高的问题,提出了一种改进的符号状态拆分算法。该算法在执行拆分操作的时,根据当前迁移上的时钟约束和时钟变量重置信息,获得时钟变量间的约束,并将其加入到相应的符号状态中,缩小状态空间,减少拆分次数,从而提高执行效率。论文最后在上述方法的基础上,针对无人机飞控典型模块进行了实验,验证了本文提出方法的有效性。