一种基于程序分析和变异输入的跨站脚本攻击检测方法

    公开(公告)号:CN107844701A

    公开(公告)日:2018-03-27

    申请号:CN201610854841.8

    申请日:2016-09-21

    Applicant: 南京大学

    CPC classification number: G06F21/562

    Abstract: 本发明为一种基于程序分析和变异输入的跨站脚本攻击检测方法:先对爬取的网页使用htmlparser2进行解析,得到网页的DOM结构;然后通过遍历这个DOM结构找到网站中所有的可能输入点,记录这些输入点的ID;再次结合变异算子生成可能的用户输入;最后使用工具Selenium自动运行测试脚本,挖掘网站中可能存在的XSS漏洞。

    一种基于混和效应移除的即时缺陷预测方法

    公开(公告)号:CN105302724A

    公开(公告)日:2016-02-03

    申请号:CN201510755374.9

    申请日:2015-11-05

    Applicant: 南京大学

    Abstract: 本发明提供一种基于混和效应移除的即时缺陷预测方法,包括下列步骤:1)软件变更度量的收集;2)移除变更度量与变更量度量的混和效应;3)建立无监督即时缺陷预测模型;4)提交变更序列给开发人员进行审查。本发明解决了目前传统即时缺陷预测方法存在的收集数据难度大、预测能力不足的问题,不仅可以简单有效的建立即时缺陷预测模型,同时还能大幅节约审查成本,从而充分利用有限的资源,更好的控制和提高软件产品质量。

    一种基于抽象语法树节点变更抽取的Python代码变更提示方法

    公开(公告)号:CN105159715A

    公开(公告)日:2015-12-16

    申请号:CN201510555635.2

    申请日:2015-09-01

    Applicant: 南京大学

    Abstract: 本发明提供一种基于抽象语法树节点变更抽取的Python代码变更提示方法,包括下列步骤:1)获取同一软件不同版本程序的源代码;2)生成两个版本的源程序对应的抽象语法树;3)匹配抽象语法树获取变更节点,结合变更节点上下文信息标记节点变更类型;4)将变更元组聚集为事务,构造训练集;5)利用数据挖掘技术,挖掘变更元组中的关联关系;6)根据挖掘出的关联关系,提示开发人员程序中可能出现变更的位置和可能的变更类型。本发明解决了目前存在的缺乏针对Python语言的软件演化分析、无法提示可能的代码变更类型等问题,进而指导软件生命周期的管理,提高软件演化的可控性,从而能更好地控制软件产品的质量。

    基于符号执行的GUI程序测试用例扩增方法

    公开(公告)号:CN104536880A

    公开(公告)日:2015-04-22

    申请号:CN201410712797.8

    申请日:2014-11-28

    Abstract: 基于符号执行的GUI程序测试用例扩增方法,对于一个待测程序,首先使用JPF工具为待测程序创建一个“.jpf”文件,并静态分析待测程序代码,获取符号执行分析后产生的有效输入值;以控件的名字属性作为关键字在已有测试用例脚本中搜索与定位需要置入新输入值的位置,然后用有效输入值进行替换原值,生成新的测试用例,实现原测试用例集扩增。本发明作为一种GUI界面测试技术引入了符号执行技术,能够运用符号执行的方法完成对GUI程序前台界面测试用例的扩增,让GUI程序前台界面的测试更加充分,提高了GUI程序前台界面的测试效率。

    一种基于扩展有限状态机可行路径分析的测试用例自动生成方法

    公开(公告)号:CN102368226A

    公开(公告)日:2012-03-07

    申请号:CN201110306942.9

    申请日:2011-10-10

    Applicant: 南京大学

    Abstract: 一种自动化测试用例生成方法,基于扩展有限状态机可行路径分析,由于不可行路径的存在使得扩展有限状态机模型中生成测试用例仍然是一个难题,本发明通过路径可行性分析尽可能的避开不可行路径、自动化的生成测试用例和创建测试预言。特征是结合了静态分析和动态分析技术来找到一个较小的可行路径集合达到指定的路径覆盖准则,此外还给出了路径可行性评估策略,开发了可执行模型,通过运行时信息反馈和分散搜索ScatterSearch技术来自动生成测试数据和创建测试预言。静态和动态两种可行性分析技术的结合大大提高了测试用生成的效率,实际应用中可以减少测试过程的代价,提高软件测试的质量。

    基于类型推导与数据流分析的Python程序编译方法及系统

    公开(公告)号:CN116594622A

    公开(公告)日:2023-08-15

    申请号:CN202310347171.0

    申请日:2023-04-03

    Applicant: 南京大学

    Abstract: 本发明公开基于类型推导与数据流分析的Python程序编译方法及系统,属于计算机技术领域。该方法包括:对Python字节码进行控制流和数据流分析,并将所述Python字节码转换为基本块;遍历获得的所述基本块,将Python字节码转换为CPY中间代码,并使用内置方法替换Python API调用;使用类型推导算法推导出CPY中间代码中变量的类型信息,并根据类型推导结果选择静态或动态编译模式,将CPY中间代码转换为不同模式的LLVM中间代码;根据编译模式,调用LLVM链接器来链接已编译的模块或CPython库文件,以生成可执行文件。本发明用于静态编译动态类型语言程序,解决了动态类型语言程序运行效率低的问题,同时本发明采用了静态编译模式和动态编译模式,有效提升了程序的兼容性。

    一种基于深度神经网络的Python资源敏感缺陷代码检测方法

    公开(公告)号:CN107967208A

    公开(公告)日:2018-04-27

    申请号:CN201610915633.4

    申请日:2016-10-20

    Applicant: 南京大学

    Abstract: 本发明为一种基于深度神经网络的Python资源敏感缺陷代码检测方法,包括下列步骤:1)获取同一软件的历史版本的源代码和待测版本的源代码;2)利用类型推断抽取各版本的资源敏感代码模式;3)抽取资源敏感代码模式的相关特征;4)计算缺陷代码模式和安全代码模式、缺陷代码模式和待测代码模式之间的各个特征相似度,生成特征向量,并得到训练集和测试集;5)用训练集训练深度神经网络模型进行特征合并,然后对测试集中的模式对用深度神经网络模型计算相关度并排序;6)在程序开发和维护阶段,根据相关度排序结果对可能发生错误的资源对象操作进行提醒,辅助开发和维护;本发明解决了目前存在缺乏针对Python语言资源敏感代码识别和缺陷代码检测的自动化方法等问题,进而降低软件风险,提高软件质量,从而提高开发者和维护者开发和维护软件的效率。

    用于检测Web服务组合中BPEL流程数据竞争的方法

    公开(公告)号:CN104572445B

    公开(公告)日:2017-10-27

    申请号:CN201410787154.X

    申请日:2014-12-17

    Applicant: 南京大学

    Abstract: 本发明为一种Web服务组合中BPEL流程数据竞争的检测方法:首先基于BPEL设计规则构造BPEL活动间的先后序关系集,并通过BPEL执行引擎插桩收集BEPL流程的执行轨迹;然后分析轨迹中对变量读写操作的活动是否满足先后序约束条件,从而判断是否存在数据竞争;最后再通过预测性分析方法检测隐藏的数据竞争,完成数据竞争的检测。本发明能有效降低数据竞争的误报率,召回率显著提升;并且能够提升检测效率,只需收集少量的运行轨迹,大大降低了人工成本。

    基于静态分析和动态运行的Web应用JavaScript代码原子性违反检测

    公开(公告)号:CN105095092A

    公开(公告)日:2015-11-25

    申请号:CN201510626506.8

    申请日:2015-09-25

    Applicant: 南京大学

    Abstract: 本发明为一种基于静态分析和动态运行的原子性违反检测方法:先通过静态分析JS代码,获取JS中涉及到异步调用的函数和方法,保证代码上的覆盖;跨语言平台的动态插桩记录机制,在异步调用函数中设置探测点,不仅能得到JS程序中的元素,还能记录HTML代码中的元素,提高检测潜在原子性违反的准确率;根据Web应用请求到回应整个过程中涉及的相关元素,设计原子性违反判定规则,从而能够开展有效的原子性违反检测。

Patent Agency Ranking