CN112685315A - 面向c源码的自动化形式化验证工具及方法 - Google Patents
面向c源码的自动化形式化验证工具及方法 Download PDFInfo
- Publication number
- CN112685315A CN112685315A CN202110007064.4A CN202110007064A CN112685315A CN 112685315 A CN112685315 A CN 112685315A CN 202110007064 A CN202110007064 A CN 202110007064A CN 112685315 A CN112685315 A CN 112685315A
- Authority
- CN
- China
- Prior art keywords
- verification
- code
- source code
- automatic
- language
- 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.)
- Pending
Links
- 238000012795 verification Methods 0.000 title claims abstract description 166
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000006870 function Effects 0.000 claims abstract description 38
- 238000004088 simulation Methods 0.000 claims abstract description 30
- 238000001514 detection method Methods 0.000 claims abstract description 15
- 230000002452 interceptive effect Effects 0.000 claims abstract description 10
- 230000008569 process Effects 0.000 claims description 10
- 238000012546 transfer Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 3
- 230000006399 behavior Effects 0.000 claims 1
- 238000007493 shaping process Methods 0.000 claims 1
- 230000006378 damage Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了面向C源码的自动化形式化验证工具及方法,将编写好的代码功能规范插入C源码中,然后将功能规范和C源码自动转换成程序验证器可处理的中间表示,接着程序验证器将中间表示转换成中间验证语言代码,供形式化验证输入使用;采用形式化方法,可对转换的源代码进行自动化的形式化验证,以验证源代码的功能性和安全性。在各接口函数通过代码功能正确性验证的基础上,利用行为建模语言和组合验证技术构建抽象模型;然后利用模型仿真引擎和属性检测引擎模拟交互行为,验证安全属性,判断代码是否满足安全属性规范。本发明能够以自动化的形式,实现对C源码的形式化验证,其中使用的中间表示生成器可以自动化生成中间表示,程序验证器可以自动化生成中间验证语言代码,模型仿真引擎和属性检测引擎可以自动化验证安全属性,这些措施可以极大的提高C源码验证的效率,减少人工参与度。
Description
技术领域
本发明涉及C语言源代码安全技术领域,具体涉及面向C源码的自动化形式化验证工具及方法。
背景技术
形式化验证方法是使用数学的公式、定理和系统来验证一个系统的正确性。形式化验证过程可以证明一个系统不存在某个缺陷或符合某个或某些属性。软件测试无法证明系统不存在缺陷,也不能证明它符合一定的属性。系统无法被证明或测试为无缺陷,这是因为不可能形式地规定什么是“没有缺陷”。所有可以做的,就是证明一个系统没有任何可以想到的缺陷,并且满足所有的功能规范和安全属性。
C语言是一种通用的编程语言,由于具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序设计中备受青睐,应用于许多重点领域。如果C语言程序设计出现漏洞,或将产生重大损失。形式化验证方法可以很好的检验和验证C语言代码的漏洞,但传统的形式化验证方法主要依赖于手工验证,工作量大,效率较低,并且对使用形式化验证方法的程序员要求较高。
发明内容
本发明的目的在于提供一种面向C源码的自动化形式化验证工具及方法,解决上述C语言代码面临的安全问题以及传统形式化验证工作量大、验证效率低的问题。
本发明通过下述技术方案实现:
面向C源码的自动化形式化验证工具,包括:
中间表示生成器:用于将C源码和插入的功能规范转换成中间表示,并输入到程序验证器;程序验证器:用于接收中间表示,并将中间表示转换成C代码类型、语义一致的中间验证语言代码,并输入到自动化验证模块,由自动化验证模块的自动化验证器对该中间验证语言代码进行自动化的形式化验证,得出验证结果;
自动化验证模块:用于提供多种自动化验证器,可根据用户的输入参数对自动化验证进行配置;
抽象模型编译器:用于接收建模语言编写的代码,并将建模代码编译成为抽象模型;
模型仿真引擎:用于根据仿真的输入参数对抽象模型进行仿真模拟,输出仿真模拟的过程中抽象模型的各种状态和属性;
属性检测引擎:用于接收用特定语法编写的安全属性公式,并利用模型仿真引擎和生成的抽象模型模拟交互行为,验证安全属性公式定义的安全属性,得出验证结果。
本发明面向C源码的自动化形式化验证工具,将C源码和根据其功能要求编写的功能规范导入形式化验证工具的中间表示生成器,能够自动化地生成程序验证器所需的中间表示,程序验证器接收中间表示后自动转换成中间验证语言代码,然后输入到自动化验证模块进行验证,能够得出代码功能正确性的验证结果;在各接口函数通过代码功能正确性验证的基础上,利用行为建模语言编写建模代码,输入到抽象模型编译器中生成抽象模型,然后利用模型仿真引擎和属性检测引擎模拟交互行为,验证安全属性,能够判断代码是否满足安全属性规范。本发明工具能够以较高程度的自动化,对C源码进行形式化安全验证,其中使用的中间表示生成器可以自动化生成中间表示,程序验证器可以自动化生成中间验证语言代码,模型仿真引擎和属性检测引擎可以自动化验证安全属性,这些措施可以极大的提高C源码验证的效率,减少人工参与度。
面向C源码的自动化形式化验证方法,包括以下步骤:
步骤001:使用自然语言编写C源码的功能需求描述文档,C源码的功能需求描述文档包括目标C源码功能规范描述和安全属性描述;
步骤002:根据C源码函数之间的交互关系,抽象出一个有限状态机;
步骤003:借助步骤001中文档描述的目标C源码功能规范和霍尔逻辑,生成C语言描述的C源码功能规范;
步骤004:将C语言描述的C源码功能规范插入C源码中,然后进行代码功能正确性自动化形式化验证,得到功能正确性验证报告;
步骤005:在各接口函数通过功能正确性验证的基础上,借助步骤002中所得到的有限状态机,定义出状态变量和转移关系,然后用建模语言编写建模代码;
步骤006:借助步骤001中文档描述的安全属性,利用线性时序逻辑(LTL)构建安全属性公式;
步骤007:借助步骤005中得到的建模代码和步骤006中得到的安全属性公式,进行安全属性自动化形式化验证,得到安全属性验证报告。
进一步地,代码功能正确性验证的自动化形式化验证步骤包括:
步骤101:接收插入功能规范后的C源码,并将其输入到中间表示生成器,以生成中间表示;
步骤102:将步骤101中产生的中间表示导入到程序验证器中,转换成C代码类型、语义一致的中间验证语言代码,并输入到自动化验证器模块中;
步骤103:由自动化验证器根据输入参数的配置对步骤102中生成的中间验证语言代码进行验证,如果验证失败,生成验证失败报告,给出反例,说明该C源码不符合功能规范,再修改源代码,然后从步骤101开始重新对代码进行功能正确性验证;如果验证成功,则生成验证成功的结果,如果验证失败,再次重复此步骤,直到验证通过,生成正确的验证结果为止。
进一步地,安全属性验证的自动化形式化验证步骤包括:
步骤201:接收建模代码,并将其输入到抽象模型编译器,生成抽象模型;
步骤202:将步骤201中产生的抽象模型导入模拟仿真引擎中;
步骤203:将安全属性公式输入到属性检测引擎中,属性检测引擎会调用模拟仿真引擎对抽象模型进行模拟仿真,并在仿真模拟过程中验证公式定义的安全属性,如果验证失败,说明该C源码不符合安全属性的定义,再修改源代码,然后从步骤201开始重新对代码进行安全属性验证;如果验证成功,则生成验证成功的结果,如果验证失败,再次重复此步骤,直到验证通过,生成正确的验证结果为止。
进一步讲所述步骤203是:属性检测引擎接收人工编写的安全属性公式,判断该安全属性公式是否符合公式的语法要求,然后接收待检测的抽象模型,该抽象模型是由根据待检测代码的抽象状态机编写的建模代码编译而来。为提高验证效率,属性检测引擎会调用仿真模拟引擎来模拟抽象模型的交互行为,在用户设定的模拟参数下检测抽象模型的每一个状态转移路径是否满足安全属性定义,如果在检测的所有状态转移路径中安全属性的定义都被满足,则表明被验证的程序符合所期望的验证属性,会生成一个验证属性为真的验证结果;否则验证失败,说明源程序不符合用户设定的安全属性,存在安全问题。对于验证失败的情况,将重新修改C源码程序,并重新修改建模代码重新生成抽象模型,并重新验证,多次反复,直到验证通过为止。
本发明与现有技术相比,具有如下的优点和有益效果:
1、本发明面向C源码的自动化形式化验证系统,能够以较高程度的自动化,实现对C源码的形式化验证,其中使用中间表示生成器能够自动化生成程序验证器所需要的中间表示,程序验证器则能够自动生成中间验证语言供自动化验证器进行验证,属性验证引擎能够自动调用模拟仿真引擎模拟抽象模型的交互行为以自动化的检测程序的安全属性,这些措施能够极大的提高C源码形式化验证的效率,减少人工参与度;
2、本发明面向C源码的自动化形式化验证方法,能够对转换后的中间验证语言代码进行自动化的验证,证明源码的功能性是否符合预期,并且证明源代码是否存在逻辑漏洞,同时还能够利用抽象建模和安全属性检测证明源代码的实现是否符合安全属性的定义,是否存在安全问题;
3、本发明所提的验证系统和方法,不仅仅适用于C源码的验证,对于其他语言源码的验证,同样有效。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为本发明原理框图;
图2为示例C源码;
图3为示例简单有限状态机。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例
如图1所示,本发明面向C源码的自动化形式化验证工具及方法,本发明开的的面向C源码的自动化形式化验证工具,验证C源码的功能正确性以及是否存在逻辑漏洞。为了能够更容易让本领域技术人员理解,以下将用图2所示的简单C源码的形式化验证为例进行说明。其并不构成对本发明的任何限制。本领域技术人员可在本发明公开的技术内容启示下,将其应用于其他语言的形式化验证,如java、Go等。本例中以图2所示的简单C源码的形式化验证为例,结合图1,使用本发明工具对C源码的功能正确性进行形式化验证的流程进行详细阐述,主要步骤如下:
步骤S01:根据用户给出的函数功能要求,此处函数功能要求为输入参数n大于100时,输出结果为n-10,输入参数n小于100时,输出结果为91,基于霍尔逻辑用C语言描述C源码函数的功能规范,写成assert的形式,插入C源码中,并将输入参数n设置为一个验证用的特殊int值;
步骤S02:中间表示生成器接收插入功能规范后的C源码转化成中间表示;
步骤S03:将步骤S02中产生的中间表示导入到程序验证器中,生成中间验证语言规范与代码;
步骤S04:将步骤S03中产生的中间验证语言规范与代码导入到自动化验证器模块中;
步骤S05:通过函数特点设定自动化验证参数对自动化验证器进行配置,例如这段C源码包含递归调用,需要设定自动化验证的展开次数,设定好之后由自动化验证器对中间验证语言规范和代码进行自动化的验证,若在验证过程中发现不符合功能规范的执行路径,那么验证将停止,然后把此执行路径的输入参数x作为反例输出到验证报告中,同时还将输出此执行路径的函数调用情况,包括函数的输入参数以及返回值到验证报告中,给出一个验证失败的验证报告,这说明C源码对应函数不符合用户给定的函数功能要求,源码的功能性不符合预期;如果在验证过程中未发现不符合功能规范的执行路径,那么表示验证成功,给出验证成功的验证报告。
本发明开的的面向C源码的自动化形式化验证工具,验证C源码的安全属性是否被满足。为了能够更容易让本领域技术人员理解,以下将用图3所示的简单有限状态机的建模和形式化验证为例进行说明。其并不构成对本发明的任何限制。结合图1,使用本发明工具对C源码的安全属性进行形式化验证的流程进行详细阐述,主要步骤如下:
步骤P01:根据有限状态机,定义出状态变量和转移关系,并用建模代码表示,例如s_leave表示出场态、s_initass表示初装态、s_ready表示就绪态、s_run表示工作态;a_init_ass表示初装动作、a_con_ass表示配装动作、a_start表示开机动作、a_shutdown表示关机动作、a_fst_des表示一级销毁动作、a_snd_des表示二级销毁动作。再由上述解析出的状态机中存在的状态和转移动作,编写建模代码;
步骤P02:根据用户描述的安全属性,例如此处用户描述的一条安全属性为“工作态”终将可达且所需资源均已配置完成,利用线性时序逻辑(LTL)构建安全属性公式如下所示:G{n}(CtrlProtocol.a==a_snd_dex=>F{1}(CtrlProtocol.s==s_initass))
步骤P03:接收建模代码,并将其输入到抽象模型编译器,抽象模型编译器会自动编译生成抽象模型;
步骤P04:将步骤P03中产生的抽象模型导入模拟仿真引擎中;
步骤P05:将安全属性公式输入到属性检测引擎中,属性检测引擎会调用模拟仿真引擎对抽象模型进行模拟仿真,并在仿真模拟过程中验证公式定义的安全属性,若在验证过程中发现有某条路径不符合安全属性的定义,那么将会把这条路径统计下来,最后给出一个验证失败的验证报告;如果在验证过程中未发现发现有某条路径不符合安全属性的定义,那么表示验证成功,给出验证成功的验证报告。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡是在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.面向C源码的自动化形式化验证工具,其特征在于包括:
中间表示生成器:用于将C源码和插入的功能规范转换成中间表示,并输入到程序验证器;
程序验证器:用于接收中间表示,并将中间表示转换成C代码类型、语义一致的中间验证语言代码,并输入到自动化验证模块,由自动化验证模块的自动化验证器对该中间验证语言代码进行自动化的形式化验证,得出验证结果;
自动化验证模块:用于提供多种自动化验证器,可根据用户的输入参数对自动化验证进行配置;
抽象模型编译器:用于接收建模语言编写的代码,并将建模代码编译成为抽象模型;
模型仿真引擎:用于根据仿真的输入参数对抽象模型进行仿真模拟,输出仿真模拟的过程中抽象模型的各种状态和属性;
属性检测引擎:用于接收用特定语法编写的安全属性公式,并利用模型仿真引擎和生成的抽象模型模拟交互行为,验证安全属性公式定义的安全属性,得出验证结果。
2.根据权利要求1所述面向C源码的自动化形式化验证工具,其特征在于所述程序验证器包括:
高精度的内存建模:进行C源码验证时,程序验证器处理内存访问的最小粒度为字节级别,可对源码中常见的整形溢出、缓冲区溢出、类型安全等安全漏洞进行自动检测验证。
3.根据权利要求1所述面向C源码的自动化形式化验证工具,其特征在于所述抽象模型编译器包括:
交互验证:进行抽象模型建模时,可以引用C源码中的定义,实现交互验证,降低验证复杂度。
4.面向C源码的自动化形式化验证方法,其特征在于包括以下步骤:
步骤001:使用自然语言编写C源码的功能需求描述文档,C源码的功能需求描述文档包括目标C源码功能规范描述和安全属性描述;
步骤002:根据C源码函数之间的交互关系,抽象出一个有限状态机;
步骤003:借助步骤001中文档描述的目标C源码功能规范和霍尔逻辑,生成C语言描述的C源码功能规范;
步骤004:将C语言描述的C源码功能规范插入C源码中,然后进行功能正确性自动化形式化验证,得到功能正确性验证报告;
步骤005:在各接口函数通过功能正确性验证的基础上,借助步骤002中所得到的有限状态机,定义出状态变量和转移关系,然后用建模语言编写建模代码;
步骤006:借助步骤001中文档描述的安全属性,利用线性时序逻辑(LTL)构建安全属性公式;
步骤007:借助步骤005中得到的建模代码和步骤006中得到的安全属性公式,进行安全属性自动化形式化验证,得到安全属性验证报告。
5.根据权利要求4所述的面向C源码的自动化形式化验证方法,其特征在于,所述功能正确性验证的自动化形式化验证步骤包括:
步骤101:接收插入功能规范后的C源码,并将其输入到中间表示生成器,以生成中间表示;
步骤102:将步骤101中产生的中间表示导入到程序验证器中,转换成C代码类型、语义一致的中间验证语言代码,并输入到自动化验证器模块中;
步骤103:由自动化验证器根据输入参数的配置对步骤102中生成的中间验证语言代码进行验证,如果验证失败,生成验证失败报告,给出反例,说明该C源码不符合功能规范,再修改源代码,然后从步骤101开始重新对代码进行功能正确性验证;如果验证成功,则生成验证成功的结果,如果验证失败,再次重复此步骤,直到验证通过,生成正确的验证结果为止。
6.根据权利要求4所述的面向C源码的自动化形式化验证方法,其特征在于,所述安全属性验证的自动化验证步骤包括:
步骤201:接收建模代码,并将其输入到抽象模型编译器,生成抽象模型;
步骤202:将步骤201中产生的抽象模型导入模拟仿真引擎中;
步骤203:将安全属性公式输入到属性检测引擎中,属性检测引擎会调用模拟仿真引擎对抽象模型进行模拟仿真,并在仿真模拟过程中验证公式定义的安全属性,如果验证失败,说明该C源码不符合安全属性的定义,再修改源代码,然后从步骤201开始重新对代码进行安全属性验证;如果验证成功,则生成验证成功的结果,如果验证失败,再次重复此步骤,直到验证通过,生成正确的验证结果为止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110007064.4A CN112685315A (zh) | 2021-01-05 | 2021-01-05 | 面向c源码的自动化形式化验证工具及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110007064.4A CN112685315A (zh) | 2021-01-05 | 2021-01-05 | 面向c源码的自动化形式化验证工具及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112685315A true CN112685315A (zh) | 2021-04-20 |
Family
ID=75457153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110007064.4A Pending CN112685315A (zh) | 2021-01-05 | 2021-01-05 | 面向c源码的自动化形式化验证工具及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112685315A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113343629A (zh) * | 2021-06-25 | 2021-09-03 | 海光信息技术股份有限公司 | 集成电路验证方法、代码生成方法、系统、设备和介质 |
CN113805860A (zh) * | 2021-08-25 | 2021-12-17 | 北京爱芯科技有限公司 | 基于c语言的代码生成方法、装置、电子设备及存储介质 |
CN114297063A (zh) * | 2021-12-28 | 2022-04-08 | 中国科学技术大学 | 针对源代码的自动化形式化建模与验证的方法与系统 |
CN115658549A (zh) * | 2022-12-08 | 2023-01-31 | 浙江望安科技有限公司 | 一种对源代码形式化验证方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070067755A1 (en) * | 2005-04-29 | 2007-03-22 | U.S.A. as represented by the Administrator of the National Aeronautics and Space Adm | Systems, methods and apparatus for pattern matching in procedure development and verification |
CN106371887A (zh) * | 2016-11-08 | 2017-02-01 | 西安电子科技大学 | 一种msvl语言的编译系统及方法 |
CN108985073A (zh) * | 2018-07-18 | 2018-12-11 | 成都链安科技有限公司 | 一种高度自动化的智能合约形式化验证系统及方法 |
CN110347588A (zh) * | 2019-06-04 | 2019-10-18 | 北京谦川科技有限公司 | 软件验证方法、装置、计算机设备和存储介质 |
CN111679809A (zh) * | 2020-04-15 | 2020-09-18 | 杭州云象网络技术有限公司 | 一种基于Noesis逻辑的程序开发与验证方法及系统 |
-
2021
- 2021-01-05 CN CN202110007064.4A patent/CN112685315A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070067755A1 (en) * | 2005-04-29 | 2007-03-22 | U.S.A. as represented by the Administrator of the National Aeronautics and Space Adm | Systems, methods and apparatus for pattern matching in procedure development and verification |
CN106371887A (zh) * | 2016-11-08 | 2017-02-01 | 西安电子科技大学 | 一种msvl语言的编译系统及方法 |
CN108985073A (zh) * | 2018-07-18 | 2018-12-11 | 成都链安科技有限公司 | 一种高度自动化的智能合约形式化验证系统及方法 |
CN110347588A (zh) * | 2019-06-04 | 2019-10-18 | 北京谦川科技有限公司 | 软件验证方法、装置、计算机设备和存储介质 |
CN111679809A (zh) * | 2020-04-15 | 2020-09-18 | 杭州云象网络技术有限公司 | 一种基于Noesis逻辑的程序开发与验证方法及系统 |
Non-Patent Citations (6)
Title |
---|
CHEN SU: "Modeling and Verification of Component-Based Systems with Data Passing Using BIP" * |
RAKAMARIĆ Z: "SMACK: Decoupling source language details from verifier implementations" * |
张健: "基于Linux的MSVL编译器和集成开发环境的研究与实现" * |
杨萍;王生原;: "同步数据流语言可信编译器的研究进展" * |
郭文生: "Codecomb:基于符号执行的嵌入式软件测试案例自动生成与缺陷检测" * |
阚双龙: "使用事件自动机规约的C语言有界模型检测" * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113343629A (zh) * | 2021-06-25 | 2021-09-03 | 海光信息技术股份有限公司 | 集成电路验证方法、代码生成方法、系统、设备和介质 |
CN113343629B (zh) * | 2021-06-25 | 2023-02-28 | 海光信息技术股份有限公司 | 集成电路验证方法、代码生成方法、系统、设备和介质 |
CN113805860A (zh) * | 2021-08-25 | 2021-12-17 | 北京爱芯科技有限公司 | 基于c语言的代码生成方法、装置、电子设备及存储介质 |
CN114297063A (zh) * | 2021-12-28 | 2022-04-08 | 中国科学技术大学 | 针对源代码的自动化形式化建模与验证的方法与系统 |
CN115658549A (zh) * | 2022-12-08 | 2023-01-31 | 浙江望安科技有限公司 | 一种对源代码形式化验证方法 |
CN115658549B (zh) * | 2022-12-08 | 2023-03-07 | 浙江望安科技有限公司 | 一种对源代码形式化验证方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112685315A (zh) | 面向c源码的自动化形式化验证工具及方法 | |
CN109753288B (zh) | 一种适用于形式化验证的智能合约编译方法 | |
CN108509336B (zh) | 一种操作系统规范形式化验证与测试方法 | |
US6385765B1 (en) | Specification and verification for concurrent systems with graphical and textual editors | |
US20180293156A1 (en) | System and method for testing software applications in a software defined network | |
US7146605B2 (en) | Automatic abstraction of software source | |
US7895575B2 (en) | Apparatus and method for generating test driver | |
CN115952758B (zh) | 芯片验证方法、装置、电子设备及存储介质 | |
EP3693860B1 (en) | Generation of test models from behavior driven development scenarios based on behavior driven development step definitions and similarity analysis using neuro linguistic programming and machine learning mechanisms | |
Gold et al. | Generalized observational slicing for tree-represented modelling languages | |
CN101251823B (zh) | Dsp汇编语言程序验证方法及其装置 | |
CN114153422A (zh) | 一种基于形式化模型的智能合约代码设计生成方法及系统 | |
KR100777103B1 (ko) | 테스트 드라이버 생성 장치 및 방법 | |
CN115357492A (zh) | 一种用于Java软件的形式化验证方法及装置 | |
US9684744B2 (en) | Verification of system assertions in simulation | |
CN115310095A (zh) | 一种区块链智能合约混合形式化验证方法及系统 | |
CN114281709A (zh) | 一种单元测试方法、系统、电子设备及存储介质 | |
CN114153435A (zh) | 一种用于智能合约代码设计生成的eb2s系统及使用方法 | |
CN113434430A (zh) | 一种sql查询语句性能检测方法和装置 | |
CN115034165A (zh) | 一种芯片仿真验证方法、系统、设备以及存储介质 | |
Karsai et al. | On the correctness of model transformations in the development of embedded systems | |
KR20120072133A (ko) | 소프트웨어 정적 테스팅 장치 및 방법 | |
Moreira et al. | Verifying code generation tools for the B-method using tests: a case study | |
CN112764788B (zh) | 基于程序源码切片重组的软件动态更新热补丁合成方法 | |
Li et al. | Towards code generation from design models |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210420 |