在航天系统的软件中,中断引发的数据竞争和死锁等并发错误问题十分突出。中断引发的并发错误可以分为以下7种模式:
1.单变量访问序模式
2.多个关联变量访问一致性被破坏
3.多字节变量访问原子性被破坏
4.与硬件并行访问冲突
5.重复加锁解锁
6.volatile修饰符误用
7.共用寄存器组
目前主流的检测工具应对中断引发的并发错误问题面临没有有效检测工具,且现有检测工具的检测效率低等问题,产生原因主要是:
1、数据竞争和死锁等并发错误问题的一直以难以触发、难以调试、难以检测等特点著称。中断响应程序的并发执行机制决定了它也面临着并发错误同样的困扰;
2、支持中断的并发模型与通用的线程并发不同,增加了嵌套和优先级等属性,进一步增加了并发模型的复杂度和并发错误的检测难度。
中科天齐一直关注支持中断的数据竞争和死锁问题,开发完成了适合航天器应用的并发错误检测工具。
工具扩展并实现已有的并发错误检测方法,增加对中断的支持以及自定义的同步源语支持,从而可以有效发现核心程序中的深层并发错误。
中科天齐的并发错误专测工具,能够实现:
对单变量访问序模式支持的检测
多字节变量访问原子性被破坏问题的检测
重复加锁解锁问题的检测
对于潜在的并发错误,能够提供详细的调用上下文信息辅助诊断错误的触发过程。
▲ 工具的工作流程图
▲ 中断引发的数据竞争问题示例
如果您遇到了中断引发的并发错误问题
欢迎前来联系我们免费获取工具
希望能帮您解决此类问题
联系热线:400-636-0101
北京中科天齐信息技术有限公司由中科院研究员李炼博士创立,以自主研究成果中科天齐软件源代码安全缺陷检测平台为主打产品,团队凭借多年在程序分析领域的技术积累,致力打造安全漏洞治理领域新生态的高新技术企业。