一种经验库制导的浮点程序优化加速方法

    公开(公告)号:CN113094021B

    公开(公告)日:2023-10-17

    申请号:CN202110438904.2

    申请日:2021-04-22

    Applicant: 南京大学

    Abstract: 本发明提出了一种经验库制导的浮点程序优化加速方法。该方法基于浮点成因相似性原理,即若两个浮点数值程序的计算过程相似,它们误差累积的原因也往往是类似的,因而可以使用类似的程序转换规则对其重写,从而降低程序的累积误差。基于此,加速策略将浮点数值程序的符号结构特征以及优化其累积误差所用到的程序转换规则提取出来,作为优化经验保存于经验库中。待优化其他程序时,首先在经验库中匹配待优化程序的符号结构特征,寻找相似程序的优化经验,并利用这些经验来指导并加速优化过程。优化经验中保存的程序转换规则会被优先用于重写待优化程序,避免了对整个规则库进行遍历。这个过程减少了优化所需的时间开销,提高了浮点优化的可用性。

    一种基于异常状态的攻击检测方法、装置、介质及机器

    公开(公告)号:CN116389122A

    公开(公告)日:2023-07-04

    申请号:CN202310371707.2

    申请日:2023-04-10

    Applicant: 南京大学

    Abstract: 本发明公开了一种基于异常状态的攻击检测方法、装置、介质及机器。本发明的攻击检测方法如下:首先从网上抓取攻击缺陷描述文本,然后对攻击缺陷描述文本进行解析后得到攻击状态迁移信息的集合,监测机器执行操作系统和应用程序的行为时,并根据行为结果是否与状态迁移信息集合中的攻击状态信息一致判断机器是否出现异常状态,当出现异常状态时发出异常状态的预警。本发明通过监测攻击状态之间的迁移判断是否存在攻击的判断准确度很高,基本不会产生误报问题。此外,本发明可以实时跟踪和下载当前的攻击行为、攻击手段以及所利用的软件漏洞会缺陷,使得机器攻击模型图样本保持最新,从而能够使得机器能够及时应对新的攻击手段。

    一种基于强化学习的Android应用自动测试方法及系统

    公开(公告)号:CN111008154B

    公开(公告)日:2021-09-28

    申请号:CN201911402274.2

    申请日:2019-12-31

    Applicant: 南京大学

    Abstract: 本发明公开一种基于强化学习的Android应用自动测试方法及系统,在测试过程中,自动测试工具自动运行Android APK,获取当前界面控件布局情况并推测出可执行交互事件,采用Q‑learning算法,交互事件第一次被探索到时会有一个初始价值,自动测试工具依据交互事件价值选择并执行交互事件。每次执行交互事件后都会产生一个奖赏对交互事件的价值进行更新。奖赏给定主要以新状态与过往状态的差异为判定标准。本发明引入神经网络对状态进行比较,可以判定两状态是否处在同一功能场景。基于该神经网络判定结果给定的奖赏,可以引导自动测试工具优先对Android应用中的各个场景进行探索,以此提升测试效率,同时发现更多代码中存在的缺陷。

    一种基于图计算的代码分析的方法和装置

    公开(公告)号:CN112800425A

    公开(公告)日:2021-05-14

    申请号:CN202110145882.0

    申请日:2021-02-03

    Applicant: 南京大学

    Abstract: 本发明公开了一种基于图计算的代码分析的方法和装置。该方法首相将程序代码转换成无函数调用节点的全局流程控制图,每个节点的代码语句转换成数据流向信息;然后对全局流程控制图划分分区,每个分区为子控制流程图,分区后初始化每个分区的待分析节点集,然后以分区为单元采用整体同步并行计算的方式对分区进行分析,分区分析时对每个节点调用用户所实现分析的接口通过循环迭代直到用户所实现分析的接口输出稳定时,从待分析节点集中删除节点,直到所有的各个分区的待分析节点集中的节点被清空。分区同步并行计算时以分区为单位进行磁盘数据调度。本发明可在单机上实现大规模系统软件代码的数据流和上下文敏感分析。

    一种基于共享不可行路径池的代码并行验证方法和装置

    公开(公告)号:CN111444112A

    公开(公告)日:2020-07-24

    申请号:CN202010344638.2

    申请日:2020-04-27

    Applicant: 南京大学

    Abstract: 本发明公开了一种基于共享不可行路径池的代码并行验证方法和装置。该方法分为初始化过程、找出潜在路径过程和对潜在路径分析过程。在初始化过程中,输入的源程序和验证目标被构建成相应的SAT约束编码G。然后通过对不可行路径池中路径和SAT约束编码G的SAT求解,得到其SAT解对应的路径作为潜在路径存入并行任务池。再以多线程并行方式对并行任务池各个潜在路径进行SMT求解,若SMT无解,则抽取不可满足的最小集合X对应的不可行程序路径片段加入至不可行路径池。由此通过迭代,最终得到验证目标是否可达。为提高验证效率,本发明还增加了对不可行路径剪枝步骤。相比于现有技术,本发明大大提高代码验证效率。

    一种基于深度学习与程序合成的C/C++程序缺陷自动修复方法

    公开(公告)号:CN108829438B

    公开(公告)日:2020-04-07

    申请号:CN201810727406.8

    申请日:2018-07-05

    Applicant: 南京大学

    Abstract: 本发明基于深度学习与程序合成的C/C++程序缺陷自动修复方法,输入带有缺陷的C/C++程序、错误定位信息、程序需要满足的规约以及满足相同规约正确程序集,通过学习正确程序中的书写结构,建立一个正确书写结构模型;根据错误定位信息,将错误点之前的代码结构作为模型的输入,预测错误点的书写结构,扩展成修复候选项集,并组织成选择表达式的形式;使用程序合成方法,将带有选择表达式的程序和该程序需要满足的规约转化为逻辑表达式,使用约束求解器,在设定的时间内进行求解;根据每个选择表达式的选项,输出最终的C/C++代码,得到修复后程序。本方法在多项式的时间复杂度内修复C/C++程序常见缺陷,保证修复后程序正确性。

    一种智能家居物联网系统验证与修复的方法和装置

    公开(公告)号:CN106055318B

    公开(公告)日:2019-04-12

    申请号:CN201610343482.X

    申请日:2016-05-23

    Applicant: 南京大学

    Abstract: 本发明公开了一种智能家居物联网系统验证与修复的方法和装置。本发明通过智能家居设备描述信息和IFTTT规则构建混成自动机模型,然后通过对混成自动机模型的路径分析,找出可能到达系统不安全的路径,然后将这些可达路径编码成SMT约束进行求解,如果存在可达路径对应的SMT约束可解,则根据可解的SMT约束对IFTTT规则This部分中实数型条件值进行修正。修正的方法是通过将可解的SMT约束中的对应的IFTTT规则This部分中实数型条件值参数化后并将整个SMT约束取反,然后消去量词后进行求解,将可解值替换This部分中实数型条件值。

    一种基于机器学习的C程序内存泄漏智能化检测方法

    公开(公告)号:CN108804332A

    公开(公告)日:2018-11-13

    申请号:CN201810613423.9

    申请日:2018-06-14

    Applicant: 南京大学

    CPC classification number: G06F11/366

    Abstract: 本发明公开一种基于机器学习的C程序内存泄漏智能化检测方法,分为三个阶段:模型构建阶段,根据已有的内存泄漏构建两个数据集,分别从两个数据中提取内存泄漏特征,将内存泄漏特征输入机器学习的分类器进行训练,交叉验证,修改分类器类型及参数,选取分类准确率最高的作为分类器模型来检测内存泄漏。程序分析与特征获取阶段,对源程序进行预分析,获取所有的内存分配点o,然后进行指针分析,构建从o开始的VFG(ValueFlowGraph),提取VFG中每条路径对应的内存泄漏特征。缺陷检测与报告阶段,将程序分析与特征获取阶段的内存泄漏特征输入到模型构建阶段的分类器模型中进行检测,判断从o开始的路径中是否存在内存泄漏,得到内存泄漏报告。

    基于机器学习的自适应网络爬虫方法

    公开(公告)号:CN105512285B

    公开(公告)日:2018-11-06

    申请号:CN201510892012.4

    申请日:2015-12-07

    Applicant: 南京大学

    Abstract: 本发明是一种基于机器学习的自适应网络爬虫方法,由于目前的网络爬虫程序的编写需要软件开发人员通过查询繁琐的页面代码并研究规则,没有自适应的程序自动引导爬虫进行工作。同时,在电子商务领域也并没有这种触及。因此要解决的技术问题是通过机器学习技术对大量数据进行挖掘,从而定位到某一未知网页上与该内容相关的信息。使用机器学习与数据挖掘方法来解决这一问题,主要的技术步骤为:获取数据、特征提取、异构数据归一化、训练数据构建、自适应训练、学习方法验证以及自适应模式生成,用于对所爬取网站的页面代码提取位置特征并进行自适应训练,对电子商务领域的自适应网络爬虫的研究起到了一定的作用。

    缓冲区溢出漏洞自动修复方法

    公开(公告)号:CN105809039B

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

    申请号:CN201610122116.1

    申请日:2016-03-04

    Applicant: 南京大学

    Abstract: 本发明是种缓冲区溢出漏洞自动修复方法,基于缓冲区溢出模型,自动修复程序中已知的缓冲区溢出漏洞。首先读取并解析已经通过确认过的缓冲区溢出信息文件,该文件包含缓冲区溢出漏洞的源文件名、溢出漏洞代码所在的行号、溢出漏洞代码所使用的API,根据缓冲区溢出漏洞的位置信息得到缓冲区溢出漏洞修复的位置,根据缓冲区溢出漏洞代码所使用的API,以及缓冲区溢出模型得到相应的缓冲区溢出漏洞修复策略;定位到缓冲区溢出漏洞代码的位置,提取函数调用的参数信息;根据提取出的函数调用的参数信息和使用的API,构造出修复代码插桩到源代码中完成修复。

Patent Agency Ranking