CN110704068B - 基于数据库进行跨文件协同程序分析的处理方法及系统 - Google Patents

基于数据库进行跨文件协同程序分析的处理方法及系统 Download PDF

Info

Publication number
CN110704068B
CN110704068B CN201910992709.7A CN201910992709A CN110704068B CN 110704068 B CN110704068 B CN 110704068B CN 201910992709 A CN201910992709 A CN 201910992709A CN 110704068 B CN110704068 B CN 110704068B
Authority
CN
China
Prior art keywords
file
database
abstract syntax
syntax tree
analysis tool
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
Application number
CN201910992709.7A
Other languages
English (en)
Other versions
CN110704068A (zh
Inventor
李兆鹏
顾建平
何海洋
丁飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui Zhongke Guochuanggao Trusted Software Co ltd
Original Assignee
Anhui Zhongke Guochuanggao Trusted Software Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Anhui Zhongke Guochuanggao Trusted Software Co ltd filed Critical Anhui Zhongke Guochuanggao Trusted Software Co ltd
Priority to CN201910992709.7A priority Critical patent/CN110704068B/zh
Publication of CN110704068A publication Critical patent/CN110704068A/zh
Application granted granted Critical
Publication of CN110704068B publication Critical patent/CN110704068B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了基于数据库进行跨文件协同程序分析的处理方法及系统:基于抽象语法树的静态代码分析工具用于分析待分析的程序;将数据库集成到静态代码分析工具中,静态代码分析工具在分析程序的源代码文件前,先将需要关注的信息保存至数据库;再运行系统规则时,根据运行的系统规则信息,在数据中查询相应的数据模型,查找出违反系统规则的关联数据,进行告警。与现有技术相比,本发明通过一个单独的任务用来将待分析程序中所有源代码之间的关联数据存入数据库,然后再通过数据库中的数据进行整合分析,有效的实现了系统规则的检测,同时也提高了运行多个系统规则时的效率。

Description

基于数据库进行跨文件协同程序分析的处理方法及系统
技术领域
本技术涉及一种基于抽象语法树(AST)遍历的静态代码分析技术,属于编程语言领域,尤其涉及一种基于数据库进行跨文件协同程序分析的处理方法及系统。
背景技术
在基于抽象语法树遍历的静态代码分析中,静态代码分析工具框架针对每个源代码文件生成的抽象语法树(AST)进行遍历,开发者可以根据规则的需求,创建对应的节点匹配器并进行注册,静态代码分析工具在遍历语法树时,发现符合节点匹配器的节点,则会将该节点保存在内存中,并通过回调函数通知客户端。开发者在完成了节点匹配器的注册后,在回调函数中实现报警机制,将对应节点的代码位置,报警内容输出到命令行。基于以上的框架,静态代码分析工具在处理项目中的多个源代码文件时,是单个的遍历代码文件的语法树,因此,这种情况下仅能处理单个文件就能分析的规则,对于某些需要在整个系统层面分析的系统规则,静态代码分析工具的框架就无法处理了。
发明内容
本专利目的是针对上述现有技术的不足,提供一种基于数据库进行跨文件协同程序分析的处理方法及系统,编程简单、充分利用数据库存储相关数据。
本发明提供了一种基于数据库进行跨文件协同程序分析的处理方法,包括
(11)将待测文件分解成若干单个分解单元,分别将单个分解单元对应的源代码文
件在基于抽象语法树的静态代码分析工具的客户端中运行;
(12)、将数据库集成到基于抽象语法树的静态代码分析工具中,通过收集待关注的抽象语法树的节点信息的任务,存储上述单个分解单元在基于抽象语法树的静态代码分析工具中的运行数据信息,所述运行数据信息包括在上述规则中遍历抽象语法
树(AST)时需要关注的节点信息;
(13)基于步骤(12)的数据库,创建搜索规则:将收集的待测文件的分解文件代码在基于抽象语法树的静态代码分析工具中查找数据信息,根据关注节点设置,自动学习归集,实现待测文件的系统规则检测;同时标示该规则是否为系统规则;
(14)待测文件整体基于整合后的系统规则在基于抽象语法树的静态代码分析工具
中运行,进行代码检测分析;
(15)待测文件整体在基于抽象语法树的静态代码分析工具中运行,按照系统规则,将违反系统规则的代码,进行告警。
作为上述方案的进一步优化,所述系统规则包括变量唯一性,所述变量唯一性的协同处理步骤为:
(21)选择待分析程序;
(22)运行基于抽象语法树的静态代码分析工具;
(23)待分析程序在基于抽象语法树的静态代码分析工具中运行,分析待分析程序的源代码文件;
(24)将待分析程序的源代码文件中的所关注的数据信息保存到数据库中;
(25)判断待分析程序的源代码文件是否分析完成,分析未完成,返回步骤(23);
分析完成,进入步骤(26);
(26)检索更新后的数据库,从所保存的数据信息中,检索出重名的变量;
(27)将重名的变量以告警输出。
本发明给出了一个具体的系统规则形成处理实施例:在程序中的全局变量名称必须是唯一的。程序中的全局变量会分布在不同的源代码文件中,因此,需要变量完程序中所有的源代码文件,找到所有的全局变量以及非全局变量,在判断全局变量的名称是否与其他全局变量或非全局变量重名,如果重名则违反了本规则,报警。
作为上述方案的进一步优化,将数据库集成到基于抽象语法树的静态代码分析工具中,数据库与静态代码分析工具的交互设有加密处理,具体包括:通过数据库编号和经过签名的授权信息唯一确认;登陆时机器码确认;核查授权起始日期和授权终止日期,判断授权确认后的是否在授权期限内。记录数据库使用的时间点记录。
作为上述方案的进一步优化,所述规则设有级别设置、缺陷追踪和规则实现判定,级别设置,用于设置对应规则的级别,根据级别规则(强制、必要、建议)输出对应的响应;
缺陷追踪,用于追踪对应规则问题的代码位置,且标识突出对应位置;
规则实现判定,用于确定待分析程序是否存在违反对应规则的问题。
作为上述方案的进一步优化,基于数据库进行跨文件协同分析处理系统,客户端,内置基于抽象语法树的静态代码分析工具的客户端,用于运行待测文件代码;
数据库,与内置基于抽象语法树的静态代码分析工具的客户端通信连接,建立数据连接,存储在基于抽象语法树的静态代码分析工具的客户端运行的待测文件代码的数据信息;
数据整合模块,将收集的待测文件的分解文件代码的在基于抽象语法树的静态代码分析工具运行的数据信息,根据关注节点设置,自动学习归集,实现对待测文件的系统规则的检测;
数据检测分析模块,待测文件整体基于整合后的系统规则在基于抽象语法树的静态代码分析工具中运行;
数据告警模块,待测文件整体在基于抽象语法树的静态代码分析工具中运行系统规则,将违反系统规则的代码,进行告警。
作为上述方案的进一步优化,待测文件在基于抽象语法树的静态代码分析工具的客户端中运行的步骤为:
(1)、根据不同的规则需求,在基于抽象语法树的静态代码分析工具注册对应的节点匹配器;
(2)、输入待测文件的单个分解单元对应的源代码文件,生成AST树;
(3)、基于抽象语法树的静态代码分析工具对生成的AST树进行遍历;
(4)、基于抽象语法树的静态代码分析工具遍历抽象语法树(AST)时,存在符合节点匹配器的节点,自动将该节点保存在内存中,并通过回调函数通知客户端;
(5、)客户端将对应节点的代码位置,报警内容输出到命令行,实现报警。
本发明还公开了一种基于数据库进行跨文件协同分析处理装置,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-4任一所述的一种基于数据库进行跨文件协同程序分析的处理方法。
与现有技术相比,本发明的一种基于数据库进行跨文件协同程序分析的处理方法及系统,有益效果如下:
(1)通过基于抽象语法树的静态代码分析工具的框架,对于每一个源代码文件进行遍历,然后收集所有需要关注的信息,将其存入本地数据库。当所有的文件都遍历完成后,再针对数据库中收集的信息进行数据处理,并根据具体的系统规则的需求,来检测是否存在违反系统规则的情况。本发明的一种可以将多个源代码文件中的信息进行整合的技术,突破基于抽象语法树的静态代码分析工具的框架本身仅支持对于单个源代码进行分析,基于待测软件的模块和系统,可跨模块,跨系统进行代码整体检测和分析。
(2)本发明通过引入数据库,将源代码之间的关联数据存入数据库,在所有源文件都遍历完成后在处理关联数据的方案,实现了系统规则的检测。
(3)本发明通过一个单独的任务用来将所有源代码之间的关联数据存入数据库,然后再通过数据库中的数据进行整合分析,有效的实现了系统规则的检测,同时也提高了运行多个系统规则时的效率,因为运行多个系统规则,也仅需要收集一次数据。
(4)在现有基于抽象语法树的静态代码分析工具的基于抽象语法树遍历的静态代码分析的基础上,结合数据库,将系统规则的实现分解为:先通过一个关联信息收集任务,将信息收集并保存至数据库,等所有文件遍历完成后再运行对应的系统规则,系统规则的实现仅针对数据库的数据进行整合分析,并确认是否需要报警。
附图说明
图1是本发明的基于数据库进行跨文件协同分析处理系统结构示意图;
图2是本发明的优选实施例的协同处理的流程图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供了一种基于数据库进行跨文件协同程序分析的处理方法,
(11)将待测文件分解成若干单个分解单元,分别将单个分解单元对应的源代码文件在基于抽象语法树的静态代码分析工具的客户端中运行;
(12)、将数据库集成到基于抽象语法树的静态代码分析工具中,通过收集待关注的抽象语法树的节点信息的任务,存储上述单个分解单元在基于抽象语法树的静态代码分析工具中的运行数据信息,所述运行数据信息包括在上述规则中遍历抽象语法树(AST)时需要关注的节点信息;
(13)基于步骤(12)的数据库,创建搜索规则:将收集的待测文件的分解文件代码在基于抽象语法树的静态代码分析工具中查找数据信息,根据关注节点设置,自动学习归集,实现待测文件的系统规则检测;同时标示该规则是否为系统规则;
(14)待测文件整体基于整合后的系统规则在基于抽象语法树的静态代码分析工具中运行,进行代码检测分析;
(15)待测文件整体在基于抽象语法树的静态代码分析工具中运行,按照系统规则,将违反系统规则的代码,进行告警。
优化的,包括如下步骤:
(S1)先创建一个用于收集所有需要关注的抽象语法树(AST)的节点信息的任务,在该任务中将遍历抽象语法树(AST)时需要关注的节点信息保存到数据库中;
(S2)创建系统规则,区别于普通规则,系统规则的实现不是基于抽象语法树(AST)的遍历,而是基于已经收集了所有需要关注信息的数据库,在数据库中(包括了所有源代码文件的所需关注的信息)对数据进行整合和分析,判断是否违反本规则,如果违反,则报警。
(S3)实际进行程序分析时,先确认如果需要分析的规则中包含了系统规则,则先通过基于抽象语法树的静态代码分析工具运行信息收集的任务,将数据库中对应的数据收集完毕;
(S4)再通过基于抽象语法树的静态代码分析工具运行相对应的系统规则,系统规则中针对数据库中的相关信息进行整合和分析,并将违反系统规则的代码进行报警。
作为上述方案的进一步优化,所述系统规则包括变量唯一性,所述变量唯一性的协同处理步骤为:参见图2
(21)选择待分析程序;
(22)运行基于抽象语法树的静态代码分析工具;
(23)待分析程序在基于抽象语法树的静态代码分析工具中运行,分析待分析程序的源代码文件;
(24)将待分析程序的源代码文件中的所关注的数据信息保存到数据库中;
(25)判断待分析程序的源代码文件是否分析完成,分析未完成,返回步骤(23);
分析完成,进入步骤(26);
(26)检索更新后的数据库,从所保存的数据信息中,检索出重名的变量;
(27)将重名的变量以告警输出。
本发明给出了一个具体的系统规则形成处理实施例:在程序中的全局变量名称必须是唯一的。程序中的全局变量会分布在不同的源代码文件中,因此,需要变量完程序中所有的源代码文件,找到所有的全局变量以及非全局变量,在判断全局变量的名称是否与其他全局变量或非全局变量重名,如果重名则违反了本规则,报警。
通过基于抽象语法树的静态代码分析工具的框架,对于每一个源代码文件进行遍历,然后收集所有需要关注的信息(例如:变量属性、函数声明等),将其存入本地数据库。当所有的文件都遍历完成后,再针对数据库中收集的信息进行数据处理,并根据具体的系统规则的需求,来检测是否存在违反规则的情况。
作为上述方案的进一步优化,将数据库集成到基于抽象语法树的静态代码分析工具中,数据库与静态代码分析工具的交互设有加密处理,具体包括:通过数据库编号和经过签名的授权信息唯一确认;登陆时机器码确认;核查授权起始日期和授权终止日期,判断授权确认后的是否在授权期限内。记录数据库使用的时间点记录。
作为上述方案的进一步优化,所述规则设有级别设置、缺陷追踪和规则实现判定,级别设置,用于设置对应规则的级别,根据级别规则(强制、必要、建议)输出对应的响应;缺陷追踪,用于追踪对应规则问题的代码位置,且标识突出对应位置;
规则实现判定,用于确定待分析程序是否存在违反对应规则的问题。
作为上述方案的进一步优化,基于数据库进行跨文件协同分析处理系统,内置基于抽象语法树的静态代码分析工具的客户端,用于运行待测文件代码;
数据库,与内置基于抽象语法树的静态代码分析工具的客户端通信连接,建立数据连接,存储在基于抽象语法树的静态代码分析工具的客户端运行的待测文件代码的数据信息;
数据整合模块,将收集的待测文件的分解文件代码的在基于抽象语法树的静态代码分析工具运行的数据信息,根据关注节点设置,自动学习归集,实现对待测文件的系统规则的检测;
数据检测分析模块,待测文件整体基于整合后的系统规则在基于抽象语法树的静态代码分析工具中运行;
数据告警模块,待测文件整体在基于抽象语法树的静态程序分析工具中运行系统规则,将违反系统规则的代码,进行告警。
作为上述方案的进一步优化,待测文件在基于抽象语法树的静态程序分析工具的客户端中运行的步骤为:
(1)、根据不同的规则需求,在基于抽象语法树的静态代码分析工具注册对应的节点匹配器;
(2)、输入待测文件的单个分解单元对应的源代码文件,生成AST树;
(3)、基于抽象语法树的静态代码分析工具对生成的AST树进行遍历;
(4)、基于抽象语法树的静态代码分析工具遍历抽象语法树(AST)时,存在符合节点匹配器的节点,自动将该节点保存在内存中,并通过回调函数通知客户端;
(5、)客户端将对应节点的代码位置,报警内容输出到命令行,实现报警。
本发明通过引入数据库,将源代码之间的关联数据存入数据库,在所有源文件都遍历完成后在处理关联数据的方案,实现了系统规则的检测。通过一个单独的任务用来将所有源代码之间的关联数据存入数据库,然后再通过数据库中的数据进行整合分析,有效的实现了系统规则的检测,同时也提高了运行多个系统规则时的效率,因为运行多个系统规则,也仅需要收集一次数据。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (7)

1.一种基于数据库进行跨文件协同程序分析的处理方法,其特征在于,包括:
(11)将待测文件分解成若干单个分解单元,分别将单个分解单元对应的源代码文件在基于抽象语法树的静态代码分析工具的客户端中运行;
(12)、将数据库集成到基于抽象语法树的静态代码分析工具中,通过收集待关注的抽象语法树的节点信息的任务,存储上述单个分解单元在基于抽象语法树的静态代码分析工具中的运行数据信息,所述运行数据信息包括在遍历抽象语法树(AST)时需要关注的节点信息;
(13)基于步骤(12)的数据库,创建系统规则:将收集的待测文件的分解文件代码在基于抽象语法树的静态代码分析工具中查找数据信息,根据关注节点设置,自动学习归集,实现待测文件的系统规则检测;
(14)待测文件整体基于整合后的系统规则在基于抽象语法树的静态代码分析工具中运行,进行代码检测分析;
(15)待测文件整体在基于抽象语法树的静态代码分析工具中运行,按照系统规则,将违反系统规则的代码,进行告警。
2.基于权利要求1所述的一种基于数据库进行跨文件协同程序分析的处理方法,其特征在于:所述系统规则包括变量唯一性,所述变量唯一性的协同处理步骤为:
(21)选择待分析程序;
(22)运行基于抽象语法树的静态代码分析工具;
(23)待分析程序在基于抽象语法树的静态代码分析工具中运行,分析待分析程序的源代码文件;
(24)将待分析程序的源代码文件中的所关注的数据信息保存到数据库中;
(25)判断待分析程序的源代码文件是否分析完成,分析未完成,返回步骤(23);分析完成,进入步骤(26);
(26)检索更新后的数据库,从所保存的数据信息中,检索出重名的变量;
(27)将重名的变量以告警输出。
3.基于权利要求1所述的一种基于数据库进行跨文件协同程序分析的处理方法,其特征在于:将数据库集成到基于抽象语法树的静态代码分析工具中,数据库与静态代码分析工具的交互设有加密处理,具体包括:通过数据库编号和经过签名的授权信息唯一确认;登陆时机器码确认;核查授权起始日期和授权终止日期,判断授权确认后的是否在授权期限内。
4.基于权利要求1所述的一种基于数据库进行跨文件协同程序分析的处理方法,其特征在于:
所述规则设有级别设置、缺陷追踪和规则实现判定,
级别设置,用于设置对应规则的级别,根据级别规则输出对应的响应;
缺陷追踪,用于追踪对应规则问题的代码位置,且标识突出对应位置;
规则实现判定,用于确定待分析程序是否存在违反对应规则的问题。
5.基于数据库进行跨文件协同程序分析处理系统,其特征在于:
客户端,内置基于抽象语法树的静态代码分析工具,用于运行待测文件代码;
数据库,与内置基于抽象语法树的静态代码分析工具的客户端通信连接,建立数据连接,存储在基于抽象语法树的静态代码分析工具的客户端运行的待测文件代码的数据信息;
数据整合模块,将收集的待测文件的分解文件代码的基于抽象语法树的静态代码分析工具运行的数据信息,根据所关注的节点信息,自动学习归集,实现对待测文件的系统规则的检测;
数据检测分析模块,待测文件整体基于整合后的系统规则在基于抽象语法树的静态代码分析工具中运行;
数据告警模块,待测文件整体在基于抽象语法树的静态代码分析工具中运行系统规则,将违反系统规则的代码,进行告警。
6.根据权利要求5所述的基于数据库进行跨文件协同程序分析处理系统,其特征在于:
待测文件在基于抽象语法树的静态代码分析工具的客户端中运行的步骤为:
(1)、根据不同的规则需求,在基于抽象语法树的静态代码分析工具注册对应的节点匹配器;
(2)、输入待测文件的单个分解单元对应的源代码文件,生成AST树;
(3)、基于抽象语法树的静态代码分析工具对生成的AST树进行遍历;
(4)、基于抽象语法树的静态代码分析工具遍历抽象语法树(AST)时,匹配到符合节点匹配器的节点,自动将该节点保存在内存中,并通过回调函数通知客户端;
(5)、客户端将对应节点的代码位置,报警内容输出到命令行,实现报警。
7.一种基于数据库进行跨文件协同程序分析处理装置,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-4任一所述的一种基于数据库进行跨文件协同程序分析的处理方法。
CN201910992709.7A 2019-10-18 2019-10-18 基于数据库进行跨文件协同程序分析的处理方法及系统 Active CN110704068B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910992709.7A CN110704068B (zh) 2019-10-18 2019-10-18 基于数据库进行跨文件协同程序分析的处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910992709.7A CN110704068B (zh) 2019-10-18 2019-10-18 基于数据库进行跨文件协同程序分析的处理方法及系统

Publications (2)

Publication Number Publication Date
CN110704068A CN110704068A (zh) 2020-01-17
CN110704068B true CN110704068B (zh) 2023-02-17

Family

ID=69201561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910992709.7A Active CN110704068B (zh) 2019-10-18 2019-10-18 基于数据库进行跨文件协同程序分析的处理方法及系统

Country Status (1)

Country Link
CN (1) CN110704068B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102203791A (zh) * 2008-08-29 2011-09-28 Avg技术捷克有限责任公司 用于恶意软件检测的系统和方法
CN104391964A (zh) * 2014-12-01 2015-03-04 南京大学 一种将源代码存入图数据库的方法
CN108614707A (zh) * 2018-04-27 2018-10-02 深圳市腾讯网络信息技术有限公司 静态代码检查方法、装置、存储介质和计算机设备
CN109063477A (zh) * 2018-07-18 2018-12-21 成都链安科技有限公司 一种自动化的智能合约代码缺陷检测系统和方法
CN109614106A (zh) * 2018-12-21 2019-04-12 北京龙创悦动网络科技有限公司 一种c++程序编译方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9235493B2 (en) * 2012-11-30 2016-01-12 Oracle International Corporation System and method for peer-based code quality analysis reporting
CN105068925B (zh) * 2015-07-29 2017-09-01 北京理工大学 软件安全缺陷发现系统
US10116681B2 (en) * 2016-12-21 2018-10-30 Denim Group, Ltd. Method of detecting shared vulnerable code

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102203791A (zh) * 2008-08-29 2011-09-28 Avg技术捷克有限责任公司 用于恶意软件检测的系统和方法
CN104391964A (zh) * 2014-12-01 2015-03-04 南京大学 一种将源代码存入图数据库的方法
CN108614707A (zh) * 2018-04-27 2018-10-02 深圳市腾讯网络信息技术有限公司 静态代码检查方法、装置、存储介质和计算机设备
CN109063477A (zh) * 2018-07-18 2018-12-21 成都链安科技有限公司 一种自动化的智能合约代码缺陷检测系统和方法
CN109614106A (zh) * 2018-12-21 2019-04-12 北京龙创悦动网络科技有限公司 一种c++程序编译方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Static analysis for detecting taint-style vulnerabilities in web applications;Jovanovic et al.;《Journal of Computer Security》;20100816;第18卷(第5期);全文 *
改进的基于代码污染识别安全警告的算法;牛霜霞;《计算机应用与软件》;20160831;第33卷(第08期);全文 *

Also Published As

Publication number Publication date
CN110704068A (zh) 2020-01-17

Similar Documents

Publication Publication Date Title
Cysneiros et al. Integrating non-functional requirements into data modeling
KR102269286B1 (ko) 어노테이션 자동 진단 시스템
CN110059006B (zh) 代码审计方法及装置
CN108804326A (zh) 一种软件代码自动检测方法
Rebai et al. Recommending refactorings via commit message analysis
CN110704068B (zh) 基于数据库进行跨文件协同程序分析的处理方法及系统
Rajbahadur et al. Pitfalls analyzer: quality control for model-driven data science pipelines
US20100275183A1 (en) Source code auditor with a customized rules builder
CN112631925A (zh) 一种单变量原子违背缺陷的检测方法
CN112464237B (zh) 一种静态代码安全诊断方法及装置
Mahajan et al. Implementing a 3-way approach of clone detection and removal using pc detector tool
Maatuk et al. A Framework for Aspectual Requirements Validation: An Experimental Study
EP4168954A1 (en) Device, computing platform and method of analyzing log files of an industrial plant
CN114579203A (zh) 脚本文件检查方法、装置、电子设备及存储介质
Hadj-Mabrouk Case-based reasoning for safety assessment of critical software
CN117421009B (zh) 信号代码生成方法、装置、终端设备以及存储介质
Dajsuren et al. Modernizing legacy software using a System Grokking technology
Jamro SysML modeling of functional and non-functional requirements for IEC 61131-3 control systems
Kakarontzas et al. Extracting components from open source: The component adaptation environment (COPE) approach
CN115795058B (zh) 一种威胁建模方法、系统、电子设备及存储介质
CN116561756A (zh) 基于信息匹配的组件风险检测方法、装置、设备和介质
CN115495745B (zh) 一种基于风险函数的工业软件源代码静态检测方法及系统
US20230324878A1 (en) Information processing device, information processing method, and computer program product
Stephan et al. Model clone detection and its role in emergent model pattern mining
CN107273288B (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