CN103914381A - 生成时序安全属性类缺陷模式相关的函数摘要信息的方法 - Google Patents
生成时序安全属性类缺陷模式相关的函数摘要信息的方法 Download PDFInfo
- Publication number
- CN103914381A CN103914381A CN201410115283.4A CN201410115283A CN103914381A CN 103914381 A CN103914381 A CN 103914381A CN 201410115283 A CN201410115283 A CN 201410115283A CN 103914381 A CN103914381 A CN 103914381A
- Authority
- CN
- China
- Prior art keywords
- function
- summary info
- function summary
- state
- security attribute
- 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.)
- Granted
Links
- 230000007547 defect Effects 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000002123 temporal effect Effects 0.000 title abstract 6
- 230000006870 function Effects 0.000 claims abstract description 129
- 238000005206 flow analysis Methods 0.000 claims description 14
- 230000007704 transition Effects 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000003068 static effect Effects 0.000 abstract description 16
- 238000001514 detection method Methods 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及一种生成时序安全属性类缺陷模式相关的函数摘要信息的方法,包括:判定被测程序中时序安全属性类的缺陷模式,并生成时序安全属性类缺陷模式的描述文件;根据所述描述文件获取所述时序安全属性类缺陷模式的有限自动状态机;根据所述有限自动状态机为所述被测程序中的函数生成函数摘要信息。本发明根据描述时序安全属性类缺陷模式的有限自动状态机为被测程序中的函数生成函数摘要信息,通过所述函数摘要信息进行软件静态测试,从而提高软件静态缺陷的检测效率。
Description
技术领域
本发明涉及软件静态测试技术领域,尤其涉及一种生成时序安全属性类缺陷模式相关的函数摘要信息的方法。
背景技术
静态代码缺陷分析技术通过对代码进行静态分析来推测程序运行时的表现行为,从而发现代码中可能存在的缺陷。这类技术主要包括抽象解释、定理证明、模型检测、符号执行和基于缺陷模式的代码检查等。
基于模式匹配的代码缺陷查找方法主要包括如下两大步骤:首先,对已有代码中出现过的缺陷进行总结并提炼出“缺陷模式知识”;然后,采用静态分析的方法对受检代码进行“缺陷模式匹配”以确定受检代码是否包含相应缺陷,并把匹配结果以缺陷检测报告的形式呈现给用户。
在对现有的若干基于模式匹配的代码缺陷静态分析工具研究之后,我们发现:在对C程序代码进行静态代码缺陷分析的过程中,特别是检测时序安全属性类缺陷模式时,往往要处理复杂的函数调用关系。传统的做法类似函数内联,在函数调用点处将被调用函数一层一层地展开进行分析,但是这会严重地影响分析效率。
发明内容
(一)要解决的技术问题
本发明所要解决的技术问题是:如何生成时序安全属性类缺陷模式相关的函数摘要信息,提高静态缺陷检测的分析效率。
(二)技术方案
本发明提出了一种生成时序安全属性类缺陷模式相关的函数摘要信息的方法,包括以下步骤:
判定被测程序中时序安全属性类的缺陷模式,并生成时序安全属性类缺陷模式的描述文件;
根据所述描述文件获取所述时序安全属性类缺陷模式的有限自动状态机;
根据所述有限自动状态机为所述被测程序中的函数生成函数摘要信息。
优选地,所述根据所述有限自动状态机为所述被测程序中的函数生成函数摘要信息之后,还包括:
在所述被测程序的函数调用点实例化与所述函数对应的函数摘要信息。
优选地,所述根据所述有限自动状态机为所述被测程序中的函数生成函数摘要信息具体为:
根据所述有限自动状态机,采用后向数据流分析法为所述被测程序中的函数生成对应的函数摘要信息。
优选地,所述采用后向数据流分析法为所述被测程序中的函数生成对应的函数摘要信息具体包括:
生成所述被测程序的函数控制流图;
逆向遍历所述函数控制流图中的节点;
合并当前节点的后继节点传递来的数据流值;
更新合并后的数据流值;
对更新后的数据流值进行逻辑表达式化简,并根据预设规则删除无效的数据流值。
优选地,所述在所述被测程序的函数调用点实例化与所述函数对应的函数摘要信息具体包括:
将所述函数摘要信息中的型参变量替换为函数调用点处的实参变量;
判断所述实参变量是否满足所述函数摘要信息中的约束条件;
如果满足所述约束条件,则获取所述函数摘要信息所关注的内存对象;并根据所述约束条件实现所述内存对象的状态迁移;如果不满足所述约束条件,则判定所述函数摘要信息在所述函数调用点不合法,结束本次操作。
优选地,所述获取所述函数摘要信息所关注的内存对象具体包括:
获取所述实参变量对应的指向信息;
根据所述指向信息获取所述实参变量指向的内存对象;
根据函数摘要信息内所有实参变量指向的内存对象,获取所述函数摘要信息所关注的内存对象。
(三)有益效果
本发明公开生成时序安全属性类缺陷模式相关的函数摘要信息的方法,根据描述时序安全属性类缺陷模式的有限自动状态机为被测程序中的函数生成函数摘要信息,通过所述函数摘要信息进行软件静态测试,从而提高软件静态缺陷的检测效率。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1是本发明生成时序安全属性类缺陷模式相关的函数摘要信息的方法流程图;
图2是本发明中采用后向数据流分析法为被测程序中的函数生成对应的函数摘要信息的流程图;
图3是本发明中在被测程序的函数调用点实例化与函数对应的函数摘要信息的流程图;
图4是本发明中获取函数摘要信息所关注的内存对象的流程图。
具体实施方式
下面将结合附图对本发明的实施例进行详细描述。
本发明提出了一种生成时序安全属性类缺陷模式相关的函数摘要信息的方法,如图1所示,包括以下步骤:
S101判定被测程序中时序安全属性类的缺陷模式,并生成时序安全属性类缺陷模式的描述文件;
S102根据所述描述文件获取所述时序安全属性类缺陷模式的有限自动状态机;
S103根据所述有限自动状态机为所述被测程序中的函数生成函数摘要信息。
优选地,所述根据所述有限自动状态机为所述被测程序中的函数生成函数摘要信息之后,还包括:
在所述被测程序的函数调用点实例化与所述函数对应的函数摘要信息。
本发明使用一种描述时序安全类缺陷模式的语言——SDDL-Typestate(Static Defect Description Language for Typestate)定义时序安全属性类的缺陷模式;依据SDDL-Typestate给出的描述时序安全属性类缺陷模式的有限自动状态机,使用后向的数据流分析方法,为被测代码中的每一个函数生成摘要信息;静态检测时序安全属性类缺陷时,在函数调用点实例化函数摘要信息,从而完成对摘要信息关注的内存对象的状态迁移。
SDDL-Typestate是基于XML进行设计的,具有比较好的结构化特征,其通过关键字和标签对XML文档赋予特定的语义信息来描述时序安全属性类的缺陷模式,即定义描述时序安全属性类缺陷模式的有限自动状态机FSM(Finite State Machine)。
XML Schema文件用于约束SDDL-Typestate的结构及内容,具体如下面的Schema文件所示:
其中,<Defect>标签是SDDL-Typestate缺陷描述文件的根标签。每一个<Defect>标签都包含一个<Description>子标签和多个<State>子标签。
<Description>标签包含五个子标签<Name>、<Time>、<Category>、<Language>和<Example>,分别用于描述缺陷模式的名称、创立时间、类属、目标语言和示例代码;
<State>标签都定义了有限自动状态机(FSM)中的一个状态,以及可能发生在这个状态上的各种状态迁移。<State>标签包含三个子标签<Number>、<Status>和<Transition>。
<Number>标签用来给当前定义的状态都赋予了一个唯一的标号。这样一来就可以根据标号开区分不同的状态了;
<Status>标签用来表明当前定义的状态是初始状态(init)、中间状态(intermediate),还是错误状态(error);
<Transition>标签用来说明当前定义的状态上可能发生的状态迁移。它又包含两个子标签<To>和<Op>,其中前者用来指明要迁移到的状态,而后者用来表示何种操作会引起状态迁移,这种操作一般是调用库函数。
任取有限自动状态机FSM中的任一非初始的状态设为函数之行结束后的状态,然后逆向遍历函数的控制流图,进行后向的数据流分析,以求出相应的函数摘要信息。后向数据流分析的数据流值形如<Must,Not,Formula,State>,而计算得到的函数摘要信息形如<Must,Not,Formula,State1→State2>;
在后向的数据流分析过程中,当遍历到函数控制流图中的某一节点时,需要首先要合并由其后继节点传递来的数据流值;
在后向的数据流分析过程中,当遍历到函数控制流图中的某一节点、完成数据流值的合并后,需要接着更新合并后的数据流值;
在后向的数据流分析过程中,当遍历到函数控制流图中的某一节点、完成数据流值的更新后,需要进一步化简更新后的数据流值,并排除其中无效的数据流值。
Must和Not是两个特定类型的(与缺陷模式相关的)指针变量的集合。它们一起用来表示标识当前摘要信息所考察的内存对象,其中Must集合中的指针变量一定指向该内存对象,而Not集合中的指针变量一定不指向该内存对象;
Formula用于表示摘要信息成立的约束条件,其构成遵守如下的文法规则:
Formula::=Formula+Term|Term;
Term::=CoefficientConjunct|Conjunct;
Conjunct::=ConjunctPredicate|Predicate;
Predicate::=Expression Op Expression|TRUE|FALSE;
Op::==|≠;
需要说明的是符号“+”和符号“”分别用来表示逻辑或和逻辑与;
State1是FSM中的任一状态,而State2特别要求是FSM中的任一非初始的状态。函数摘要信息的含义是当约束条件Formula成立时,调用函数会使得由Must和Not标识的内存对象的状态由State1迁移至State2。而数据流值中的State表示(在函数执行结束后内存对象的状态为State2的条件下)函数控制流图上某一节点处内存对象所处的状态。
Formula表达式中的系数Coefficient的取值是“1”、“0”和“1/2”,其中“1”和“0”分别表示TRUE和FALSE,而“1/2”用以说明一种非确定的可能。这三个值一起构成了Kleene的三值逻辑结构。
对于任意两个符号状态{must1,not1,formula1,state1}和{must2,not2,formula2,state2},若满足如下条件:
state1=state2;
must1 must2;
not1 not2;
则合并这两个符号状态,得到合并后的符号状态为{must1,not1,(1/2)(formula1+formula2),state1}。
在赋值语句“p:=q;”处对数据流值{must,not,formula,state}的更新;
在库函数调用语句“f(p);”处对数据流值{must,not,formula,state}的更新。特别地,库函数f是会引起状态迁移的某种操作;
在一般函数调用语“g(p,q,…);”处对数据流值{must,not,formula,state}的更新。特别地,函数g包含摘要信息{mustg,notg,formulag,stateg1→stateg2};
在if-head处对数据流值{must,not,formula,state}的更新。
若p∈must,则用q替代p在must中的所有出现,于是更新后的符号状态为{must[q/p],not,formula,state};
若x∈must且x和p间存在可能内存别名关系,则一方面假设p和x满足必然内存别名关系,用q替代x在must中的所有出现,同时将formula更新为formula(&x=&p);另一方面假设p和x间不存在内存别名关系,保持must不变,同时将formula更新为formula(&x≠&p)。于是,得到更新后的符号状态为{must[q/x],not,formula(&x=&p),state}和{must,not,formula(&x≠&p),state}。
若p∈must,则将state更新为δ(state,f),得到更新后的符号状态为{must,not,formula,δ(state,f)}。其中δ(state,f)表示state因为操作f而迁移到的状态;
若p∈Not,则符号状态不会被更新;
若pmust∪Not且x∈must满足x和p间存在可能值别名关系,则一方面假设p和x满足必然值别名关系,将state更新为δ(state,f);另一方面假设p和x间不存在值别名关系,生成新的符号状态{{p},must,true,final},同时更新原符号状态为{must,not∪{p},formula,state}。于是,得到更新后的符号状态为{must∪{p},not,formula,δ(state,f)}、{must,not∪{p},formula,state}和{{p},must,true,δ(final,f)}。其中final表示当前假设的函数之行结束后所处的状态;
若pmust∪Not且x∈must满足x和p间存在可能值别名关系,则除去原有符号状态外,生成新的符号状态{{p},true,δ(final,f)}。
用函数调用点处的实参变量替换摘要信息{mustg,notg,formulag,stateg1→stateg2}中对应的形参变量,若满足如下条件:
·state=stateg1;
·must∩notg=
·mustg∩not=
·must∩mustg≠并设A:=must∩mustg;
则,更新后的符号状态为{must∪mustg,not∪notg,formulaformulag,stateg2}和{must,not∪{mustg-A},formula,state}。此外若stateg2=final,那么除以上两个更新后的符号状态外,还会新生成符号状态{mustg,not∪{must-A},formulag,stateg1};
用函数调用点处的实参变量替换摘要信息{mustg,notg,formulag,stateg1→stateg2}中对应的形参变量,若满足如下条件:
·state=stateg1;
·must∩notg=
·mustg∩not=
·x∈must和y∈mustg且x和y间存在可能值别名关系
则,更新后的符号状态为{must∪mustg,not∪notg,formulaformulag,stateg2}和{must,not∪mustg,formula,state}。此外,如果stateg2=final,那么除以上两个更新后的符号状态外,还会新生成符号状态{mustg,not∪must,formulag,stateg1}。
将formula更新为(1/2)formula,得到更新后的符号状态为{must,not,(1/2)formula,state}。这里的系数(coefficient)乘以1/2用以说明更新后的符号状态只是表示部分而非全部执行路径上的信息。
待对逻辑表达式化简完成后,如果符号状态满足下列条件之一,则称该符号状态无效:
must∩not≠
state=
formula=false;
无效的符号状态会被删除无效的符号状态。
设函数的一条摘要信息{must,not,formula,state1→state2},则静态检测时序安全属性类缺陷时,在函数调用点实例化函数摘要信息,从而完成对摘要信息关注的内存对象的状态迁移,具体如下的步骤:
C1将摘要信息中的型参变量替换为函数调用点处的实参变量。设替换后的must域等于{p,q}、not域等于{r};
C2判断实参变量是否满足摘要信息中的formula约束表达式:若满足,则继续步骤C3;否则跳转到步骤C6;
C3取得变量p、q和r对应的指向信息(指向分析得到的指向集)pt(p)、pt(q)和pt(r),每一个变量的指向集都表示该变量(可能)指向哪些内存对象。由集合“(pt(p)∩pt(q))-pt(r)”求得摘要信息所关注的内存对象;
C4判断摘要信息所关注的内存对象在调用点处的状态是否等于State1:若是,则继续步骤C5;否则跳转到步骤C6;
C5摘要信息所关注的内存对象的状态会迁移到State2;
C6结束。
优选地,所述根据所述有限自动状态机为所述被测程序中的函数生成函数摘要信息具体为:
根据所述有限自动状态机,采用后向数据流分析法为所述被测程序中的函数生成对应的函数摘要信息。
其中,采用后向数据流分析法为所述被测程序中的函数生成对应的函数摘要信息,如图2所示,具体包括:
S201,生成所述被测程序的函数控制流图;
S202逆向遍历所述函数控制流图中的节点;
S203合并当前节点的后继节点传递来的数据流值;
S204更新合并后的数据流值;
S205对更新后的数据流值进行逻辑表达式化简,并根据预设规则删除无效的数据流值。
后向数据流分析方法逆向遍历函数的控制流图(Control FlowGraph,CFG),在控制流图上的每一个节点处,首先合并后继节点传递来的数据流值,接着更新、化简这些数据流值,最后排除掉无效的数据流值。
其中,在所述被测程序的函数调用点实例化与所述函数对应的函数摘要信息,如图3所示,具体包括:
S301将所述函数摘要信息中的型参变量替换为函数调用点处的实参变量;
S302判断所述实参变量是否满足所述函数摘要信息中的约束条件;
如果满足所述约束条件,则执行步骤S303;
S303获取所述函数摘要信息所关注的内存对象;
S304根据所述约束条件实现所述内存对象的状态迁移,转步骤S305;
如果不满足所述约束条件,判定所述函数摘要信息在所述函数调用点不合法,则直接执行步骤S305;
S305结束本次操作。
其中,获取所述函数摘要信息所关注的内存对象,如图4所示,具体包括:
S401获取所述实参变量对应的指向信息;
S402根据所述指向信息获取所述实参变量指向的内存对象;
S403根据函数摘要信息内所有实参变量指向的内存对象,获取所述函数摘要信息所关注的内存对象。
本发明公开的生成时序安全属性类缺陷模式相关的函数摘要信息的方法,根据描述时序安全属性类缺陷模式的有限自动状态机为被测程序中的函数生成函数摘要信息,通过所述函数摘要信息进行软件静态测试,从而提高软件静态缺陷的检测效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的流程并不一定是实施本发明所必须的。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.生成时序安全属性类缺陷模式相关的函数摘要信息的方法,其特征在于,包括以下步骤:
判定被测程序中时序安全属性类的缺陷模式,并生成时序安全属性类缺陷模式的描述文件;
根据所述描述文件获取所述时序安全属性类缺陷模式的有限自动状态机;
根据所述有限自动状态机为所述被测程序中的函数生成函数摘要信息。
2.根据权利要求1所述的方法,其特征在于,所述根据所述有限自动状态机为所述被测程序中的函数生成函数摘要信息之后,还包括:
在所述被测程序的函数调用点实例化与所述函数对应的函数摘要信息。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述有限自动状态机为所述被测程序中的函数生成函数摘要信息具体为:
根据所述有限自动状态机,采用后向数据流分析法为所述被测程序中的函数生成对应的函数摘要信息。
4.根据权利要求3所述的方法,其特征在于,所述采用后向数据流分析法为所述被测程序中的函数生成对应的函数摘要信息具体包括:
生成所述被测程序的函数控制流图;
逆向遍历所述函数控制流图中的节点;
合并当前节点的后继节点传递来的数据流值;
更新合并后的数据流值;
对更新后的数据流值进行逻辑表达式化简,并根据预设规则删除无效的数据流值。
5.根据权利要求2所述的方法,其特征在于,所述在所述被测程序的函数调用点实例化与所述函数对应的函数摘要信息具体包括:
将所述函数摘要信息中的型参变量替换为函数调用点处的实参变量;
判断所述实参变量是否满足所述函数摘要信息中的约束条件;
如果满足所述约束条件,则获取所述函数摘要信息所关注的内存对象;并根据所述约束条件实现所述内存对象的状态迁移;如果不满足所述约束条件,则判定所述函数摘要信息在所述函数调用点不合法,结束本次操作。
6.根据权利要求5所述的方法,其特征在于,所述获取所述函数摘要信息所关注的内存对象具体包括:
获取所述实参变量对应的指向信息;
根据所述指向信息获取所述实参变量指向的内存对象;
根据函数摘要信息内所有实参变量指向的内存对象,获取所述函数摘要信息所关注的内存对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410115283.4A CN103914381B (zh) | 2014-03-25 | 2014-03-25 | 生成时序安全属性类缺陷模式相关的函数摘要信息的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410115283.4A CN103914381B (zh) | 2014-03-25 | 2014-03-25 | 生成时序安全属性类缺陷模式相关的函数摘要信息的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103914381A true CN103914381A (zh) | 2014-07-09 |
CN103914381B CN103914381B (zh) | 2017-06-13 |
Family
ID=51040083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410115283.4A Expired - Fee Related CN103914381B (zh) | 2014-03-25 | 2014-03-25 | 生成时序安全属性类缺陷模式相关的函数摘要信息的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103914381B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109426722A (zh) * | 2017-09-01 | 2019-03-05 | 深圳市源伞新科技有限公司 | Sql注入缺陷检测方法、***、设备及存储介质 |
CN112711450A (zh) * | 2020-12-29 | 2021-04-27 | 西安精密机械研究所 | 采用函数指针索引实现软件复杂有限状态机状态迁移的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090119649A1 (en) * | 2007-11-02 | 2009-05-07 | Klocwork Corp. | Static analysis defect detection in the presence of virtual function calls |
CN102073587A (zh) * | 2010-12-27 | 2011-05-25 | 北京邮电大学 | 一种程序中不可达路径的静态检测方法 |
-
2014
- 2014-03-25 CN CN201410115283.4A patent/CN103914381B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090119649A1 (en) * | 2007-11-02 | 2009-05-07 | Klocwork Corp. | Static analysis defect detection in the presence of virtual function calls |
CN102073587A (zh) * | 2010-12-27 | 2011-05-25 | 北京邮电大学 | 一种程序中不可达路径的静态检测方法 |
Non-Patent Citations (1)
Title |
---|
向文韬: "DTS中路径敏感的摘要技术研究与实现", 《中国优秀硕士学位论文全文数据库》, 15 November 2013 (2013-11-15), pages 17 - 38 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109426722A (zh) * | 2017-09-01 | 2019-03-05 | 深圳市源伞新科技有限公司 | Sql注入缺陷检测方法、***、设备及存储介质 |
CN109426722B (zh) * | 2017-09-01 | 2021-06-29 | 深圳市源伞新科技有限公司 | Sql注入缺陷检测方法、***、设备及存储介质 |
CN112711450A (zh) * | 2020-12-29 | 2021-04-27 | 西安精密机械研究所 | 采用函数指针索引实现软件复杂有限状态机状态迁移的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103914381B (zh) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10901709B2 (en) | Partitioning based migration of systems to container and microservice based platforms | |
Shippey et al. | Automatically identifying code features for software defect prediction: Using AST N-grams | |
Robillard et al. | Automated API property inference techniques | |
Fokaefs et al. | Identification and application of extract class refactorings in object-oriented systems | |
Beschastnikh et al. | Leveraging existing instrumentation to automatically infer invariant-constrained models | |
KR101732764B1 (ko) | 코드 클론 검출을 이용하는 지능형 코드 디퍼런싱을 수행하는 방법 및 시스템 | |
CN109426723A (zh) | 使用释放后内存的检测方法、***、设备及存储介质 | |
US8452754B2 (en) | Static analysis framework for database applications | |
Nguyen et al. | Topic-based defect prediction (nier track) | |
CN109117164B (zh) | 基于关键元素差异性分析的微服务更新方法及*** | |
KR20060045568A (ko) | 프로그램 계측 동안의 프로브 최적화 방법 및 시스템 | |
CN105868116A (zh) | 基于语义变异算子的测试用例生成和优化方法 | |
Walkinshaw et al. | Automated comparison of state-based software models in terms of their language and structure | |
Havelund et al. | Efficient runtime verification of first-order temporal properties | |
Liu et al. | Word level feature discovery to enhance quality of assertion mining | |
US20230236830A1 (en) | Detecting duplicated code patterns in visual programming language code instances | |
Kirner et al. | Using measurements as a complement to static worst-case execution time analysis | |
WO2009156198A1 (en) | Method and system for generating of a control flow graph for representing a program code | |
Czibula et al. | An aggregated coupling measure for the analysis of object-oriented software systems | |
De Sanctis et al. | A model-driven approach to catch performance antipatterns in ADL specifications | |
Zhang et al. | Predicting change consistency in a clone group | |
Singh et al. | Detecting design patterns: a hybrid approach based on graph matching and static analysis | |
Ding et al. | Detection of infeasible paths: Approaches and challenges | |
CN103914381A (zh) | 生成时序安全属性类缺陷模式相关的函数摘要信息的方法 | |
Heckel et al. | Towards test coverage criteria for visual contracts |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170613 |
|
CF01 | Termination of patent right due to non-payment of annual fee |