-
公开(公告)号:CN118153064A
公开(公告)日:2024-06-07
申请号:CN202410424638.1
申请日:2024-04-09
Applicant: 北京邮电大学
Abstract: 本发明涉及软件安全技术领域,能够解决Java软件开发过程中使用第三方和开源组件带来的安全问题。本发明旨在通过软件成分分析技术,提取Java软件包含的开源组件信息,进而对项目开源组件的漏洞信息进行分析。根据项目开源组件的不同引入方式,采取不同的组件识别策略:对于使用依赖构建工具管理项目开源组件的Java项目,分析项目的依赖文件提取和识别项目包含的开源组件信息;对于通过外部引入开源组件的Java项目,分析项目的代码特征,根据类级特征和方法级特征的相似性,给出项目依赖的第三方和开源组件信息。根据识别出的组件信息,结合构建的组件‑漏洞知识图谱,给出项目依赖第三方库和开源组件的漏洞信息。
-
公开(公告)号:CN113791757A
公开(公告)日:2021-12-14
申请号:CN202110796925.1
申请日:2021-07-14
Applicant: 北京邮电大学
IPC: G06F8/10 , G06F40/205 , G06F40/30 , G06K9/62
Abstract: 本发明提供一种软件需求和代码映射方法及系统,方法包括:基于需求文档,根据需求文档语义特征提取模型,确定需求文本语义向量;基于源代码文本,根据源代码特征提取模型,确定源代码特征向量;其中,所述源代码特征向量包括:源代码文本语义信息和源代码功能语义信息;基于所述需求文本语义向量和所述源代码特征向量的相似度,确定所述软件需求和代码的映射关系。能够有效建立起从软件的需求到代码间的映射,利用此映射,提高相关的软件活动效率和质量。
-
公开(公告)号:CN108664391B
公开(公告)日:2021-03-23
申请号:CN201810204976.9
申请日:2018-03-13
Applicant: 北京邮电大学
IPC: G06F11/36
Abstract: 本发明提供一种面向程序状态的故障分类方法、变异测试方法及设备。所述方法包括:基于待测源程序的语法对应的变异算子,为所述待测源程序的每条语句构造故障节点集和状态变异点集;基于所述故障节点集、所述状态变异点集、所述每条语句的状态变异之间的触发关系和传播关系,构造所述待测源程序的变异流图;根据所述变异流图的直接后向支配关系,构造故障类支配树,以对所述待测源程序进行故障分类。本发明从一般性的故障测试原理出发,对故障程序进行分类排序,同时支持多种类型的变异算子,具有较好的可扩展性,进而减少测试次数、优化故障集、简化故障分析成本,可以提升变异测试效率。
-
公开(公告)号:CN105224455B
公开(公告)日:2018-01-09
申请号:CN201510628462.2
申请日:2015-09-28
Applicant: 北京邮电大学
IPC: G06F11/36
Abstract: 本发明公开了一种自动生成字符串类型测试用例的方法,首先,使用一个字符数组和一个长度属性作为字符串类型的数据模型,定义了三个原子函数,使用三个原子函数的组合表示C语言标准库中的字符串函数,然后,利用符号执行技术得到一条程序路径的约束提取过程中,对于字符串和字符串函数进行约束提取,得到包含原子函数表示的字符串约束;最后,针对源程序的执行路径,对每条路径的字符串约束进行约束求解,约束求解过程中,根据原子函数的参数的确定值,对于原子函数进行解释得到字符串的结构和取值,直到得到满足路径所有约束的测试用例。优点在于,应用于处理各种字符串函数,减少人工测试耗费的代价,提高软件测试的自动化程度。
-
公开(公告)号:CN106020913A
公开(公告)日:2016-10-12
申请号:CN201610390646.4
申请日:2016-06-06
Applicant: 北京邮电大学
IPC: G06F9/445
CPC classification number: G06F8/65
Abstract: 本发明实施例公开了一种缺陷检测工具更新方法及装置,方法包括:根据待测试工程中异常出现的位置和时机,将异常划分为至少一种异常类型;针对每一种异常类型的异常,确定所述异常类型对应的异常解决方案;根据每一种异常解决方案,更新所述缺陷检测工具中的语言分析器,其中所述语言分析器至少包括词法分析器和语法分析器。应用本发明实施例,能规避缺陷检测工具因待检测工程的开发环境及编译器的多样性带来的非预期语法和/或词法的影响而产生的异常,使得后续分析工作顺利进行。
-
公开(公告)号:CN103593291B
公开(公告)日:2016-03-09
申请号:CN201310581759.9
申请日:2013-11-18
Applicant: 北京邮电大学
IPC: G06F11/36
Abstract: 本发明公开了一种用于包括多个函数测试模块的单元测试方法及装置,为解决现有的单元测试中无法实现函数调用语句中函数错误的测试而设计。所述方法包括构建测试模块,所述测试模块包括两个以上有调用关系的函数;根据测试模块内程序的逻辑关系及函数间的调用关系形成若干条函数间路径;为每一条所述函数间路径选择测试用例进行测试。所述方法及装置在单元测试阶段即可及时的发现函数调用中的错误,避免了将函数调用的错误延迟到集成测试中,进而及时的对软件中函数调用的错误进行修正,达到了降低测试成本的目的。
-
公开(公告)号:CN104035864A
公开(公告)日:2014-09-10
申请号:CN201310693444.3
申请日:2013-12-17
Applicant: 北京邮电大学
IPC: G06F11/36
Abstract: 本发明公开了一种基于矛盾片段模式的路径生成方法,包括:A、从控制流图中选择本次路径生成的起点作为当前点,然后执行步骤B;B、选择后继点,然后执行步骤C;C、如果成功选到后继点,则执行步骤G;否则执行步骤D;D、查看是否还有前一个点,有则执行步骤E;否则执行步骤F;E、将前一个点设为当前点,然后执行步骤B;F、由于已经回退到起点,所以生成路径失败;G、查看后继点是否是路径的终点,是则成功生成路径;否则执行步骤H;H、将后一个点设置为当前点,然后执行步骤B。采用本发明方法,能够在路径生成过程中快速检测当前路径片段已经是不可达路径,从而大大提高判定不可达路径的效率。
-
公开(公告)号:CN103914301A
公开(公告)日:2014-07-09
申请号:CN201410119795.8
申请日:2014-03-27
Applicant: 北京邮电大学
IPC: G06F9/44
Abstract: 本发明涉及一种复杂符号运算的等价变换方法,包括:S1:定义简单运算和复杂运算,其中,简单运算为+、-、×,复杂运算为除去简单运算以外的所有其他运算;S2:依据预设变换原则进行变换及处理。本发明能处理符号表达式中的复杂运算,由于复杂的运算在逻辑上可以转化为简单运算,因此,提出等价变换的方法,将复杂运算转化为逻辑等价的简单运算。即只要能处理简单运算,就能处理复杂运算,从而大大降低了符号表达式的处理难度,然后进一步进行简单符号运算的处理方法,具有处理的简易型。本发明还提出了一种复杂符号运算的等价变换装置。
-
公开(公告)号:CN103593291A
公开(公告)日:2014-02-19
申请号:CN201310581759.9
申请日:2013-11-18
Applicant: 北京邮电大学
IPC: G06F11/36
Abstract: 本发明公开了一种用于包括多个函数测试模块的单元测试方法及装置,为解决现有的单元测试中无法实现函数调用语句中函数错误的测试而设计。所述方法包括构建测试模块,所述测试模块包括两个以上有调用关系的函数;根据测试模块内程序的逻辑关系及函数间的调用关系形成若干条函数间路径;为每一条所述函数间路径选择测试用例进行测试。所述方法及装置在单元测试阶段即可及时的发现函数调用中的错误,避免了将函数调用的错误延迟到集成测试中,进而及时的对软件中函数调用的错误进行修正,达到了降低测试成本的目的。
-
公开(公告)号:CN102073588B
公开(公告)日:2013-11-20
申请号:CN201010622570.6
申请日:2010-12-28
Applicant: 北京邮电大学
IPC: G06F11/36
Abstract: 本发明提供一种基于代码静态分析的多线程死锁检测方法及系统,该方法包括:对待测软件源程序进行词法、语法及语义分析,生成抽象语法树和控制流图;通过遍历抽象语法树,生成程序的指向分析图,对程序中的线程类进行分析,生成线程类并发特征集合;通过对控制流图的遍历,对程序进行可达分析,生成线程并发特征集并进行分析,生成占有请求特征集和锁图并进行分析,检测潜在的死锁,找到锁对象的门锁集合,删除不同线程锁对象存在相同门锁情况的死锁,更新潜在死锁集合;通过并发与逃逸分析,删除不可能的死锁情况,得到最终的死锁集合。应用本发明的方法及系统能够有效检测两个或多个线程产生死锁的情况,提高测试精度和自动化程度。
-
-
-
-
-
-
-
-
-