买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】基于线程循环调度顺序化的中断驱动程序模型检测方法_大连理工大学;北京轩宇信息技术有限公司_202210402661.1 

申请/专利权人:大连理工大学;北京轩宇信息技术有限公司

申请日:2022-04-18

公开(公告)日:2024-03-22

公开(公告)号:CN115033472B

主分类号:G06F11/36

分类号:G06F11/36;G06F9/48

优先权:

专利状态码:有效-授权

法律状态:2024.03.22#授权;2022.09.30#实质审查的生效;2022.09.09#公开

摘要:本发明公开了一种基于线程循环调度顺序化的中断驱动程序模型检测方法,属于软件模型检测领域。首先收集输入的中断驱动程序的中断相关信息,如软件中包含的中断类型、数量、优先级等。初步的源到源的转化处理将中断驱动程序转化为标准多线程程序,然后使用关键步骤线程循环调度顺序化处理实现对随机中断、周期中断和事件触发中断的顺序化。最后,选择检测性质,将顺序化程序输入给限界模型检测工具,得到检测结果。该方法的程序顺序化过程实现对三种类型中断的顺序化处理,并支持中断的多级嵌套、中断去能使能的自动分析。该方法可用于真实的航天嵌入式软件的缺陷检测,如数组越界、除零错等,具有较强的实用性。

主权项:1.一种基于线程循环调度顺序化的中断驱动程序模型检测方法,其特征在于,包括如下步骤:1用户选择输入待检测的中断驱动程序;2对中断驱动程序自动解析包含的中断类型,并由用户输入中断相关信息和指定顺序化参数值;3根据收集的中断相关信息,计算需要创建的线程数;4根据计算出的需要创建的线程数和用户提供的触发事件触发中断的事件,使用源到源的转化方法将中断驱动程序转化成标准多线程程序;5使用线程循环调度顺序化处理将得到的标准多线程程序转化成基于线程循环调度顺序化的顺序化程序;6选择检测的程序性质;7将顺序化程序输入给限界模型检测工具:根据选择的检测的程序性质和参数设置,使用限界模型检测工具对得到的顺序化程序进行检测;8输出结果:当输入的中断驱动型嵌入式软件中存在软件缺陷时,输出结果UNSAFE和缺陷的反例路径;反之,当软件中不存在缺陷时,输出结果SAFE;步骤2中,具体过程包括:2-1使用语法分析器解析出中断驱动程序中包含的中断和中断的数量;2-2用户对解析出的中断填写中断相关信息,所述的中断相关信息包括中断类型S、中断优先级P、随机中断的时间约束C、周期中断的周期Tpi和触发事件触发中断的事件Event;2-3用户指定顺序化参数值,所述顺序化参数值指的是为生成顺序化程序需要的参数unwind和参数round设定数值,所述的参数unwind用于转化顺序化程序时设置中断驱动程序中循环的展开次数,所述的参数round用于转化顺序化程序时设置得到的顺序化程序中主函数中循环调度线程的次数;步骤3中,具体过程包括:3-1对于中断驱动程序中的每个随机中断,在顺序化程序中对应创建的中断线程数量至少等于参数round的值,中断线程表示与对应中断相同函数体的线程;3-2对于中断驱动程序中的每个周期中断,在顺序化程序中对应创建的周期中断线程数量的计算公式为: 其中,Cpi表示需要创建的周期中断的数量,Tw表示对中断驱动程序主任务中所有函数内联和所有循环展开后主任务中包含的总代码行数,U表示参数unwind的值,Tpi表示周期中断的周期;3-3对于中断驱动程序中的每个事件触发中断,在顺序化程序中对应创建的事件触发中断线程数量至少等于参数round的值;步骤4中,具体包括:4-1使用源到源的转化方法将中断驱动程序中的主任务部分作为标准多线程程序中的一个线程,所述的源到源的转化方法指按照标准多线程程序模式对输入的中断驱动程序进行修改;4-2根据计算的需要创建的线程数量,在标准多线程程序中添加相应的中断线程创建函数;步骤5中,具体过程包括:5-1使用源到源的转化处理,将步骤4中得到的标准多线程程序转化为对应的顺序化程序;所述的源到源的转化处理采用模型检测工具Lazy-CSeq中的转化方法;所述的顺序化程序是不包含优先级信息的;5-2执行三种类型中断处理过程:将步骤5-1中输出的顺序化程序作为输入,按照中断不同类型的执行语义和优先级的二级嵌套关系为顺序化程序中的各线程修改并添加相应的线程创建函数和约束条件,输出包含优先级信息的顺序化程序;所述的线程创建函数是工具Lazy-CSeq中具有的用于创建无优先级信息的线程的函数,根据中断的类型对该函数插入代码中的位置进行修改,实现模拟三种类型中断的不同触发方式;所述约束条件保证不同优先级线程满足二级嵌套执行条件;5-3执行中断去能使能处理:识别中断屏蔽函数,为步骤5-2输出的顺序化程序中的对应中断线程添加中断屏蔽约束条件,得到基于线程循环调度顺序化的顺序化程序;所述的中断屏蔽约束条件保证当程序语句中执行到对应中断的屏蔽函数时,对应的中断线程不能被执行;步骤6中,选择想要检测的中断驱动型嵌入式软件中的软件缺陷性质,包括数组越界、除零错和用户自定义断言。

全文数据:

权利要求:

百度查询: 大连理工大学;北京轩宇信息技术有限公司 基于线程循环调度顺序化的中断驱动程序模型检测方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。