一种面向中断驱动程序的原子性违反缺陷检测方法及装置制造方法及图纸

技术编号:39930114 阅读:16 留言:0更新日期:2024-01-08 21:45
本发明专利技术公开了一种面向中断驱动程序的原子性违反缺陷检测方法及装置,该方法包括:确定中断驱动程序对应的所有节点中的中断节点,以及每个中断节点对应的中断驱动程序中的会受影响的中断服务例程;根据中断驱动程序生成可达树,得到所有节点中各个节点的原始状态;根据可达树的路径走向确定待处理的中断节点,针对每个待处理的中断节点的原始状态对应的程序语句对中断驱动程序中的共享变量的访问情况、以及会受影响的中断服务例程对共享变量的访问情况,确定原始状态是否存在对应的中断触发状态,并当存在时,生成中断触发状态的后继状态流,并记录对每个共享变量的访问信息,根据记录的访问信息和不可序列化的交织模式,检测原子性违反缺陷。

【技术实现步骤摘要】

本专利技术属于计算机,具体涉及一种面向中断驱动程序的原子性违反缺陷检测方法及装置


技术介绍

1、中断驱动程序通常使用中断服务例程进行编程,以与硬件交互并及时响应外部刺激。这类软件广泛应用于安全关键领域,如汽车电子和航空航天。然而,由于中断服务例程可以在任何时候非决定性地抢占正常执行,软件开发人员很难完全理解中断驱动的程序。中断服务例程的不确定交错执行被认为是一种并发错误,可能导致严重的安全问题,如逻辑缺陷甚至系统崩溃。尽管中断驱动程序通常在应用程序之前进行测试,但与中断服务例程相关的并发错误仍然是最具挑战性的软件漏洞之一。

2、作为中断驱动程序中的一种危险并发错误,如果一个或多个中断服务例程试图抢占理想情况下预期为原子的指令序列,就会发生原子性违反。事实上,在中断驱动程序中,原子指令序列可能会被优先级更高的中断服务例程破坏。例如,对于在主任务或中断服务例程中对同一变量进行两次连续读取访问的原子序列(主任务或一个中断服务例程被视为任务),变量可以由两次读取访问之间具有更高优先级的另一个中断服务例程写入。也就是说,这个序列的原子假设被打破了,这导本文档来自技高网...

【技术保护点】

1.一种面向中断驱动程序的原子性违反缺陷检测方法,其特征在于,包括:

2.根据权利要求1的面向中断驱动程序的原子性违反缺陷检测方法,其特征在于,所述确定中断驱动程序对应的所有节点中的中断节点,以及每个中断节点对应的所述中断驱动程序中的会受影响的中断服务例程,包括:

3.根据权利要求2的面向中断驱动程序的原子性违反缺陷检测方法,其特征在于,所述根据所述中断驱动程序生成初始可达树,得到所有节点中各个节点的原始状态,包括:

4.根据权利要求1的面向中断驱动程序的原子性违反缺陷检测方法,其特征在于,所述根据所述初始可达树的路径走向确定当前待处理的中断节点,针对...

【技术特征摘要】

1.一种面向中断驱动程序的原子性违反缺陷检测方法,其特征在于,包括:

2.根据权利要求1的面向中断驱动程序的原子性违反缺陷检测方法,其特征在于,所述确定中断驱动程序对应的所有节点中的中断节点,以及每个中断节点对应的所述中断驱动程序中的会受影响的中断服务例程,包括:

3.根据权利要求2的面向中断驱动程序的原子性违反缺陷检测方法,其特征在于,所述根据所述中断驱动程序生成初始可达树,得到所有节点中各个节点的原始状态,包括:

4.根据权利要求1的面向中断驱动程序的原子性违反缺陷检测方法,其特征在于,所述根据所述初始可达树的路径走向确定当前待处理的中断节点,针对每个当前待处理的中断节点的每个原始状态s对应的程序语句对所述中断驱动程序中的共享变量的访问情况、以及所述会受影响的中断服务例程对所述共享变量的访问情况,确定所述原始状态s是否存在对应的中断触发状态sst,包括:

5.根据权利要求4的面向中断驱动程序的原子性违反缺陷检测方法,其特征在于,所述当所述原始状态s存在对应的中断触发状态sst时,生成所述中断触发状态sst的...

【专利技术属性】
技术研发人员:于斌刘元哲邢恒睿王宇兴林滕劼李鸿杨铠铭陆旭田聪王小兵赵亮
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1