CN109814928B - 基于下推系统的gpu并行ctl模型检查系统 - Google Patents
基于下推系统的gpu并行ctl模型检查系统 Download PDFInfo
- Publication number
- CN109814928B CN109814928B CN201910054918.7A CN201910054918A CN109814928B CN 109814928 B CN109814928 B CN 109814928B CN 201910054918 A CN201910054918 A CN 201910054918A CN 109814928 B CN109814928 B CN 109814928B
- Authority
- CN
- China
- Prior art keywords
- push
- down system
- ctl
- program
- parallel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Devices For Executing Special Programs (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于下推系统的GPU并行CTL模型检查系统,包括:程序解析建模模块,用于将待验证的串行目标程序解析为下推系统;下推系统赋值模块,用于根据预设的CTL公式及下推系统,生成可交替布奇下推系统;并行CTL模型检查模块,用于采用图形处理器GPU并行技术,通过可交替自动机并行求解可交替布奇下推系统中所有被接收的下推系统格局;根据所有下推系统格局,验证串行目标程序是否满足CTL公式。本发明自动将串行目标程序构建成下推系统,对CTL公式和下推系统叉乘得到可交替布奇下推系统,利用GPU并行技术动态分配计算任务求解所有可被自动机接收的格局,能高效地对下推系统进行CTL模型检查,可用于函数的调用过程分析及变量定义的时序性质分析。
Description
技术领域
本发明主要涉及软件技术领域,尤其涉及一种基于下推系统的GPU并行CTL模型检查系统。
背景技术
软件安全的可靠性、安全性一直是工业界关注的焦点。尤其在航空航天、工业控制及轨道交通领域,软件漏洞可能导致国家及个人的安全受到伤害。传统的测试方法并不能保证系统的所有可能行为的可靠性。模型检查是一种形式化方法,通过将程序转变成一个形式化描述,并用图论算法验证软件。模型检查需要一个模型描述程序,下推系统是一种天然的串行程序形式化模型。
下推系统是一种带有栈元素的有限迁移系统。因为下推系统带栈的特性,其可以精确地模拟程序的串行执行过程和函数调用过程。在实际应用中,下推系统及其扩展模型通常用于程序的分析和验证。CTL(Computation Tree Logic,计算树逻辑)是一种分支时间逻辑,它可以描述软件性质,常被用于软件和硬件开发过程中的形式化验证。基于下推系统的模型检查系统一直是业界讨论的热点,近年来有人提出一种基于符号执行的下推系统的CTL模型检查系统。这一方法将基于下推系统的模型检查的问题转换为对可交替布奇下推系统的空集分析问题。第一次将基于下推自动机的CTL模型检查系统的算法时间复杂度从指数时间降至多项式时间。虽然该方法比现存所发布的其他同类型CTL模型检查算法都要高效,但是当验证程序变得复杂,程序代码量增加时,该方法仍需消耗大量时间,效率有待进一步提高。
发明内容
为解决以上问题,本发明提出了一种基于下推系统的GPU并行CTL模型检查系统,自动将串行的JAVA程序或C语言程序构建成下推系统,对CTL公式和下推系统进行叉乘,生成可交替布奇下推系统,利用GPU并行技术动态分配计算任务以适应单指令多数据流架构,求解所有可被自动机接收的格局。
具体的,本发明提出了一种基于下推系统的GPU并行CTL模型检查系统,包括:
程序解析建模模块,用于将待验证的串行目标程序解析为下推系统;
下推系统赋值模块,用于根据预设的CTL公式及所述下推系统,生成可交替布奇下推系统;
并行CTL模型检查模块,用于采用图形处理器GPU并行技术,通过可交替自动机并行求解所述可交替布奇下推系统中所有被接收的下推系统格局;根据所有所述下推系统格局,验证所述串行目标程序是否满足所述CTL公式。
优选地,所述程序解析建模模块,用于获取待验证的串行目标程序的入口函数及所述入口函数的传递参数;根据所述入口函数及所述传递参数,解析所述串行目标程序,得到所述串行目标程序对应的下推系统。
优选地,所述下推系统赋值模块,用于根据预设的CTL公式对所述下推系统进行标准赋值和正则赋值;对所述CTL公式及赋值后的所述下推系统进行叉乘,得到所述串行目标程序对应的可交替布奇下推系统。
优选地,所述并行CTL模型检查模块,用于将可交替自动机划分为多个独立的子自动机;通过GPU线程及多个所述子自动机,并行求解所述可交替布奇下推系统中所有被自动机接收的下推系统格局。
优选地,所述下推系统包括程序控制点、栈元素、程序原子性质及迁移规则,所述程序解析建模模块,还用于确定每个所述迁移规则对应的格局编码;根据所述格局编码,将所述下推系统包括的迁移规则存储在索引表中。
优选地,所述程序解析建模模块,还用于将格局编码相同的迁移规则存储在索引表中的同一个表项中;将所述表项中存储的迁移规则的数目确定为所述表项对应的边界值;在所述索引表中,记录所述表项对应的边界值。
优选地,所述并行CTL模型检查模块,用于将多个所述子自动机动态分配给多个GPU计算单元;从所述索引表中获取迁移规则,通过GPU计算单元中运行的子自动机对获取的所述迁移规则进行表示,得到被所述子自动机接收的下推系统格局。
优选地,所述并行CTL模型检查模块,还用于通过父线程依据获取的迁移规则的数量开启子线程,进行负载均衡。
进一步地,所述系统还包括:
验证结果输出模块,用于显示对所述串行目标程序进行CTL公式验证的验证结果,以及显示所述所有被接收的下推系统格局。
进一步地,所述验证结果输出模块,还用于输出最终的可交替多自动机,并将输出的所述可交替多自动机存储在文本格式文件中。
与现有的模型检查技术相比,本发明所述的基于下推系统的GPU并行CTL模型检查系统,具有如下有益效果:
本发明自动将串行的JAVA程序或C语言程序构建成下推系统,对CTL公式和下推系统进行叉乘,生成可交替布奇下推系统,利用GPU并行技术动态分配计算任务以适应单指令多数据流架构,求解所有可被自动机接收的格局。本发明可以高效地对下推系统进行空集分析和CTL模型检查,可以用于检查函数的调用过程分析及变量定义的时序性质分析。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
附图1示出了本发明实施例提供的一种基于下推系统的GPU并行CTL模型检查系统的结构示意图。
附图2示出了本发明实施例提供的一种基于下推系统的GPU并行CTL模型检查工具的模块示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参见图1,本发明实施例提供了一种基于下推系统的GPU(Graphics ProcessingUnit,图形处理器)并行CTL模型检查系统,该系统具体包括以下步骤:
程序解析建模模块100,用于将待验证的串行目标程序解析为下推系统;
下推系统赋值模块200,用于根据预设的CTL公式及下推系统,生成可交替布奇下推系统;
并行CTL模型检查模块300,用于采用图形处理器GPU并行技术,通过可交替自动机并行求解可交替布奇下推系统中所有被接收的下推系统格局;根据所有下推系统格局,验证串行目标程序是否满足CTL公式。
上述串行目标程序需是C语言或JAVA语言编写的串行程序。
具体地,程序解析建模模块100获取待验证的串行目标程序的入口函数及入口函数的传递参数;根据入口函数及传递参数,解析串行目标程序,得到串行目标程序对应的下推系统。本发明实施例中,程序解析建模模块100还根据串行目标程序给出下推系统的默认的赋值属性,下推系统可以模拟函数的调用过程,其默认赋值属性包含行号、变量名、函数名等。
其中,上述串行目标程序的入口函数及入口函数的传递参数可以由用户在系统的输入框中进行输入,此外用户还需在系统的输入框中输入串行目标程序的程序地址。系统获取到该程序地址之后,程序解析建模模块100能够根据该程序地址获取到该串行目标程序,然后依据用户输入的入口函数及入口函数的传递参数对该串行目标程序进行解析,从而将该串行目标程序解析成一个下推系统。
在本发明实施例中,下推系统包括程序控制点、栈元素、程序原子性质及迁移规则。对于下推系统中的每一个程序控制点和栈元素都赋值了初始值,包括程序控制点的名字、栈的名字、所有针对本地变量的使用、所有变量的定义、对变量即定义又使用。上述初始值由字符use、def、usedef、变量名、方法名构成。
其中,程序原子性质能够体现串行目标程序中的函数之间的调用关系,迁移规则为下推系统中一个格局转变为另一个格局的规则。格局可以用一个二元组来表示,该二元组包括程序控制点击栈顶元素。上述入口函数主要用于确定下推系统的初始格局。
在本发明实施例中,程序解析建模模块100将串行目标程序解析为下推系统之后,还需将下推系统包括的迁移规则存储在索引表中。即确定每个迁移规则对应的格局编码;根据格局编码,将下推系统包括的迁移规则存储在索引表中。具体地,程序解析建模模块100将格局编码相同的迁移规则存储在索引表中的同一个表项中;将表项中存储的迁移规则的数目确定为表项对应的边界值;在索引表中,记录表项对应的边界值。
在本发明实施例中,预设的CTL公式是由用户定义,并在终端的输入框中输入的。例如,CTL公式可以为AG(def(x)->EF use(x)),表示变量x在定义后一定会使用。
具体地,下推系统赋值模块200根据预设的CTL公式对下推系统进行标准赋值和正则赋值;对CTL公式及赋值后的下推系统进行叉乘,得到串行目标程序对应的可交替布奇下推系统。
下推系统赋值模块200在对下推系统进行标准赋值时,若一个格局满足一个程序原子性质只取决于格局中的控制点而不取决于栈元素,则确定该格局为标准赋值的格局。在对下推系统进行正则赋值中,满足一个程序原子性质的格局集合是一个正则格局集合。
在本发明实施例中,并行CTL模型检查模块300将可交替布奇下推系统用可交替多自动机表示,使用GPU并行技术,并行求解所有可被自动机接收的下推系统格局。
具体地,并行CTL模型检查模块300将可交替自动机划分为多个独立的子自动机;通过GPU线程及多个子自动机,并行求解可交替布奇下推系统中所有被自动机接收的下推系统格局。
具体地,并行CTL模型检查模块300将多个子自动机动态分配给多个GPU计算单元;从索引表中获取迁移规则,通过GPU计算单元中运行的子自动机对获取的迁移规则进行表示,得到被子自动机接收的下推系统格局。
并行CTL模型检查模块300在从索引表中获取迁移规则时,根据表项的边界值一次性读取表项中存储的所有迁移规则。并通过父线程根据迁移规则的数量开启子线程,进行负载均衡。每个线程能够处理的迁移规则的数量存在上限值。若获取的迁移规则的数量大于该上限值,则通过父线程开启子线程进行负载均衡。具体地,并行CTL模型检查模块300通过父线程计算获取的迁移规则的数量与上述上限值之间的比值,并对该比值进行向上取整,开启向上取整得到的整数个子线程,通过开启的这多个子线程并行处理获取的所有迁移规则,得到所有能够被自动机接收的下推系统格局。本发明实施例可以根据线程的工作负载动态的启动和关闭子线程,从而达到负载均衡的效果。
并行CTL模型检查模块300遍历所有能够被自动机接收的下推系统格局可知串行目标程序是否满足预设的CTL公式。
在本发明实施例中,该系统还包括验证结果输出模块。并行CTL模型检查模块获得对串行目标程序的CTL验证结果之后,验证结果输出模块显示对串行目标程序进行CTL公式验证的验证结果,以及显示所有被自动机接收的下推系统格局,方便用户直观了解模型检查结果。进一步地,验证结果输出模块还输出最终的可交替多自动机,并将输出的所述可交替多自动机存储在文本格式文件中。
本发明实施例提供的系统除可以对串行目标程序进行CTL模型检查外,还支持基于可交替布奇下推系统的并行空集分析。具体地,并行CTL模型检查模块自动获取用户输入的可交替布奇下推系统,将该可交替布奇下推系统用可交替多自动机表示,使用GPU并行技术,并行求解所有可被自动机接收的下推系统格局,依据所有可被自动机接收的下推系统格局进行空集分析。
为了便于进一步的理解本发明实施例提供的系统,下面结合附图进行简要说明。如图2所示,本发明公开一种基于下推系统的GPU并行CTL模型检查工具,该工具包括:程序解析建模模块,用于将串行目标程序(JAVA程序或C语言程序)解析成一个下推系统,并根据程序给出默认的赋值属性;下推系统赋值模块,根据CTL公式对下推系统进行标准赋值和正则赋值,对下推系统和CTL公式叉乘得到可交替布奇下推系统;并行CTL模型检查模块,将可交替布奇下推系统传输给初始可交替自动机,对初始可交替自动机进行划分,得到多个子自动机,通过多个子自动机,使用GPU并行技术,并行求解所有可被自动机接收的下推系统格局,遍历所有可被自动机接收的下推系统格局可知程序是否满足CTL公式;验证结果输出模块,对下推系统的模型检查结果显示输出,并输出最终的可交替多自动机。
下面结合具体实例具体讲述本发明所提供的基于下推系统的GPU并行CTL模型检查系统。具体以应用本发明的基于下推系统的GPU并行CTL模型检查系统对Antlr的模型检查为例。
Antlr是指可以根据输入自动生成语法树并可视化的显示出来的开源语法分析器。它是基于LL(*)算法实现的语法解析器生成器,用Java语言编写,使用自上而下的递归下降LL剖析器方法。它为包括Java,C++,C#在内的语言提供了一个通过语法描述来自动构造自定义语言的识别器,编译器和解释器的框架。
在本实例中验证某个变量的定义调用顺序。具体操作步骤如下:
步骤A,首先确定CTL公式,如CTL公式AG(def(x)->EF use(x))表示变量x在定义后一定会使用。
步骤B,在终端输入框输入被验证目标程序的程序地址、被验证目标程序的主函数入口、上述CTL公式。
步骤C,程序解析建模模块将被验证目标程序建模成下推系统。根据目标源代码,程序被建模成一个下推系统,其包括程序控制点、栈元素、程序原子性质和迁移规则。
如一个函数的调用可以看做程序栈中压入新的栈元素,函数调用结束时弹出程序栈的栈顶元素。并给出下推系统的性质并给出默认赋值。
步骤D,将下推系统输入下推系统赋值模块,根据CTL公式对下推系统进行标准赋值,对下推系统和CTL公式进行叉乘得到可交替布奇下推系统;
步骤E,将可交替布奇下推系统用一个可交替多自动机表示,初始自动机接收所有格局。将自动机的划分为若干个不相关的子自动机,并行地在GPU线程中计算。线程根据并行索引表中表项的边界值判断线程负载,负载过大时启动子线程分担任务,实现负载均衡。
步骤F,完成自动机的前驱搜索后,GPU任务返回CPU。判断自动机是否到达不动点。如果已到达不动点,计算结束。若没有到达不动点,任务返回GPU进行下一次循环迭代。
步骤G,在终端显示窗口,对下推系统的模型检查结果显示输出,并输出最终的可交替多自动机,输出的结果文件以文本形式存放。
在本发明实施例中,可以自动地将串行的JAVA程序或C语言程序构建成一个下推系统,针对代码行号、变量名及函数名给出基本属性赋值。根据程序系统的设计需求,人工提取出需要安全验证的性质,将其表示为CTL公式。工具自动对CTL公式和下推系统进行叉乘操作,生成可交替的布奇下推系统,利用GPU并行技术动态分配计算任务以适应单指令多数据流架构,求解所有可以被可交替的布奇下推系统接收的格局。采用本发明可以高效地对下推系统进行空集分析和CTL模型检查,可以用于检查函数的调用过程分析及变量定义的时序性质分析。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的系统、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一根或多根,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的系统解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的步骤进行自适应性地改变并且把它们设置在与该实施例不同的一根或多根设备中。可以把实施例中的步骤或步骤或组件组合成一个步骤或步骤或组件,以及此外可以把它们分成多个步骤或子步骤或子组件。除了这样的特征和/或过程或者步骤中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何系统或者设备的所有过程或步骤进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件步骤实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的虚拟机的创建装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的系统的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的步骤权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (8)
1.一种基于下推系统的GPU并行CTL模型检查系统,其特征在于,包括:
程序解析建模模块,用于将待验证的串行目标程序解析为下推系统,所述下推系统包括程序控制点、栈元素、程序原子性质及迁移规则;确定每个所述迁移规则对应的格局编码;根据所述格局编码,将所述下推系统包括的迁移规则存储在索引表中;
下推系统赋值模块,用于根据预设的CTL公式及所述下推系统,生成可交替布奇下推系统;
并行CTL模型检查模块,用于采用图形处理器GPU并行技术,通过可交替自动机并行求解所述可交替布奇下推系统中所有被接收的下推系统格局;根据所有所述下推系统格局,验证所述串行目标程序是否满足所述CTL公式;所述并行CTL模型检查模块,用于将可交替自动机划分为多个独立的子自动机;通过GPU线程及多个所述子自动机,并行求解所述可交替布奇下推系统中所有被自动机接收的下推系统格局。
2.根据权利要求1所述的系统,其特征在于,所述程序解析建模模块,用于获取待验证的串行目标程序的入口函数及所述入口函数的传递参数;根据所述入口函数及所述传递参数,解析所述串行目标程序,得到所述串行目标程序对应的下推系统。
3.根据权利要求1所述的系统,其特征在于,所述下推系统赋值模块,用于根据预设的CTL公式对所述下推系统进行标准赋值和正则赋值;对所述CTL公式及赋值后的所述下推系统进行叉乘,得到所述串行目标程序对应的可交替布奇下推系统。
4.根据权利要求1所述的系统,其特征在于,所述程序解析建模模块,还用于将格局编码相同的迁移规则存储在索引表中的同一个表项中;将所述表项中存储的迁移规则的数目确定为所述表项对应的边界值;在所述索引表中,记录所述表项对应的边界值。
5.根据权利要求1所述的系统,其特征在于,所述并行CTL模型检查模块,用于将多个所述子自动机动态分配给多个GPU计算单元;从所述索引表中获取迁移规则,通过GPU计算单元中运行的子自动机对获取的所述迁移规则进行表示,得到被所述子自动机接收的下推系统格局。
6.根据权利要求5所述的系统,其特征在于,所述并行CTL模型检查模块,还用于通过父线程依据获取的迁移规则的数量开启子线程,进行负载均衡。
7.根据权利要求1-6任一项所述的系统,其特征在于,所述系统还包括:
验证结果输出模块,用于显示对所述串行目标程序进行CTL公式验证的验证结果,以及显示所述所有被接收的下推系统格局。
8.根据权利要求7所述的系统,其特征在于,所述验证结果输出模块,还用于输出最终的可交替多自动机,并将输出的所述可交替多自动机存储在文本格式文件中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910054918.7A CN109814928B (zh) | 2019-01-21 | 2019-01-21 | 基于下推系统的gpu并行ctl模型检查系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910054918.7A CN109814928B (zh) | 2019-01-21 | 2019-01-21 | 基于下推系统的gpu并行ctl模型检查系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109814928A CN109814928A (zh) | 2019-05-28 |
CN109814928B true CN109814928B (zh) | 2021-01-29 |
Family
ID=66604629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910054918.7A Active CN109814928B (zh) | 2019-01-21 | 2019-01-21 | 基于下推系统的gpu并行ctl模型检查系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109814928B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109739773B (zh) * | 2019-01-21 | 2021-01-29 | 华东师范大学 | 基于下推系统的gpu并行ctl模型检查方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8136098B2 (en) * | 2006-07-12 | 2012-03-13 | Nec Laboratories America, Inc. | Using pushdown systems for the static analysis of multi-threaded programs |
CN102929781A (zh) * | 2012-11-12 | 2013-02-13 | 桂林电子科技大学 | 基于上下文定界的队列通信并发递归程序验证方法 |
CN104267936A (zh) * | 2014-09-16 | 2015-01-07 | 桂林电子科技大学 | 基于树语义的异步动态下推网络可达性分析方法 |
CN106940659A (zh) * | 2017-03-09 | 2017-07-11 | 华东师范大学 | 基于加权下推系统的中断验证方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8266600B2 (en) * | 2005-03-28 | 2012-09-11 | Nec Laboratories America, Inc. | Model checking of multi threaded software |
CN101695079A (zh) * | 2009-09-30 | 2010-04-14 | 北京航空航天大学 | 一种正确性可保证的自动服务组合方法及系统 |
US8296735B2 (en) * | 2010-02-19 | 2012-10-23 | National Ict Australia Limited | Inter-procedural analysis of computer programs |
CN107016524A (zh) * | 2015-12-18 | 2017-08-04 | Sap欧洲公司 | 受控参考进程可扩展性框架 |
CN106446341A (zh) * | 2016-08-29 | 2017-02-22 | 华东师范大学 | 一种基于进程代数的实时协议分析及验证系统 |
CN109739773B (zh) * | 2019-01-21 | 2021-01-29 | 华东师范大学 | 基于下推系统的gpu并行ctl模型检查方法 |
-
2019
- 2019-01-21 CN CN201910054918.7A patent/CN109814928B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8136098B2 (en) * | 2006-07-12 | 2012-03-13 | Nec Laboratories America, Inc. | Using pushdown systems for the static analysis of multi-threaded programs |
CN102929781A (zh) * | 2012-11-12 | 2013-02-13 | 桂林电子科技大学 | 基于上下文定界的队列通信并发递归程序验证方法 |
CN104267936A (zh) * | 2014-09-16 | 2015-01-07 | 桂林电子科技大学 | 基于树语义的异步动态下推网络可达性分析方法 |
CN106940659A (zh) * | 2017-03-09 | 2017-07-11 | 华东师范大学 | 基于加权下推系统的中断验证方法 |
Non-Patent Citations (1)
Title |
---|
Model checking CTL Properties of Pushdown;Igor Walukiewicz;《Conference on Foundations of Software Technology & Theoretical Computer Science》;20001213;1-15 * |
Also Published As
Publication number | Publication date |
---|---|
CN109814928A (zh) | 2019-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10157045B2 (en) | Systems and methods for automatically generating code for deep learning systems | |
EP3695310A1 (en) | Blackbox matching engine | |
EP3631618A1 (en) | Automated dependency analyzer for heterogeneously programmed data processing system | |
US20080301080A1 (en) | Method for rule compliance situation checking and related checking system | |
US9552348B2 (en) | System and method for operating a computer application with spreadsheet functionality | |
US20120151496A1 (en) | Language for task-based parallel programing | |
CN108845839A (zh) | 应用页面加载方法、装置及计算机可读存储介质 | |
CN108984416A (zh) | 一种评估Maven环境中依赖冲突危险级别的方法 | |
US10325022B1 (en) | Automated expression parallelization | |
US8516457B2 (en) | Method, system and program storage device that provide for automatic programming language grammar partitioning | |
CN109814928B (zh) | 基于下推系统的gpu并行ctl模型检查系统 | |
CN109739773B (zh) | 基于下推系统的gpu并行ctl模型检查方法 | |
WO2024153104A1 (zh) | 差阶逻辑表达式的编译方法、装置、电子设备和存储介质 | |
CN111400716A (zh) | 一种基于操作系统的安全机制验证方法 | |
CN112114817B (zh) | 基于cobol语言的数据字典字段信息获取方法及装置 | |
CN116560666B (zh) | 基于多层级代码生成的ai前端统一计算方法、装置及介质 | |
CN110019207A (zh) | 数据处理方法和装置以及脚本显示方法和装置 | |
CN115392443B (zh) | 类脑计算机操作系统的脉冲神经网络应用表示方法及装置 | |
Bakhirkin et al. | Finding recurrent sets with backward analysis and trace partitioning | |
Winkler et al. | Out of control: Reducing probabilistic models by control-state elimination | |
US8700378B1 (en) | Symbolic expression propagation to support generating reconfiguration code | |
Tretter et al. | Executing dataflow actors as Kahn processes | |
CN113704618B (zh) | 基于深度学习模型的数据处理方法、装置、设备及介质 | |
WO2024140412A1 (zh) | 排序算子的编译方法和装置 | |
CN115017334A (zh) | 基于用户故事的原型图生成方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210806 Address after: Room 801, no.6, Lane 600, Yunling West Road, Putuo District, Shanghai 200062 Patentee after: SHANGHAI FORMAL TECH INFORMATION TECHNOLOGY Co.,Ltd. Address before: 200062 No. 3663, Putuo District, Shanghai, Zhongshan North Road Patentee before: EAST CHINA NORMAL University Patentee before: SHANGHAI FORMAL TECH INFORMATION TECHNOLOGY Co.,Ltd. |