-
公开(公告)号:CN103294594B
公开(公告)日:2016-01-06
申请号:CN201310165634.8
申请日:2013-05-08
Applicant: 南京大学
IPC: G06F11/36
CPC classification number: G06F11/3608
Abstract: 本发明给出一种基于测试的静态分析误报消除方法,能够增强软件静态分析技术的可用性,降低人工确认和检查静态分析报告的时间和人力成本。利用测试技术来在运行时收集程序信息,与静态分析报告中涉及的目标路径和目标缺陷相互印证,确认缺陷或消除误报。本发明首先读取以基于可扩展标记语言的元数据交换格式保存的静态分析报告文件,从中解析出目标缺陷的信息;对每一条特定缺陷的静态分析警报,采用混合执行的思想对程序进行持续的具体执行、符号执行以及约束求解,在这一过程中根据不同缺陷的特征建模,收集运行时信息;使用上一步获取的运行时信息确认是否发生该缺陷,或判断该静态分析警报是一个误报;迭代直到所有静态分析警报被处理完毕。
-
公开(公告)号:CN103279631A
公开(公告)日:2013-09-04
申请号:CN201310264462.X
申请日:2013-06-27
Applicant: 南京大学
IPC: G06F17/50
Abstract: 本发明提供了一种设计模式制导的爪哇代码评审方法,用户首先要提供待评审的爪哇(Java)程序的源代码及其设计时信息,对设计时信息中的类图进行分析,提取出设计模式信息,生成设计模式的各个参与角色的对应关系,根据该信息,利用预定义的规则模板,将规则模板实例化为一组应该在代码上满足的约束规则,读入这些规则对待评审的Java源代码的抽象语法树进行分析,判断其实现是否满足了设计时的约束,对于那些不满足约束的情况给出提示。本发明能够自动的对代码进行评审,减少整个评审过程中人工检查代码的工作量,提高代码的评审效率。
-
公开(公告)号:CN103249110A
公开(公告)日:2013-08-14
申请号:CN201310168440.3
申请日:2013-05-08
Applicant: 南京大学
Abstract: 本发明给出一种基于动态树的无线传感网目标跟踪方法,该方法采用动态树优化基于无线传感网的目标跟踪中的网络自组织过程,包括构建初始树、动态树的扩展与裁剪、动态树的重构等过程,选取距离目标真实位置最近的节点作为根节点来构造动态树,保证目标跟踪任务始终由网络中最接近目标的节点来承担。本发明能够有效降低无线传感网在目标跟踪过程中的节点能耗,保证目标跟踪的高精确程度,保障基于无线传感网的目标跟踪稳定运行。
-
公开(公告)号:CN103246770A
公开(公告)日:2013-08-14
申请号:CN201310168258.8
申请日:2013-05-08
Applicant: 南京大学
CPC classification number: G06F8/35 , G06F11/3604 , G06F11/3668 , G06F17/5009
Abstract: 本发明是一种基于活动图模型的系统行为仿真方法,首先读取并解析待仿真的统一建模语言活动图模型,从中抽取出重要的模型元素信息并在内存中构建一个完整的模型映射;然后对读入的统一建模语言活动图模型进行解析,分别从统一建模语言活动图模型中解析出各种模型元素;再结合采用混合执行的思想对其进行持续的具体执行、符号执行以及约束求解,在达到节点覆盖度阈值的情况下结束该过程;最后使用上一步收集到的仿真用例对统一建模语言活动图模型进行仿真执行。实现了用于统一建模语言活动图模型仿真执行的仿真用例自动生成、统一建模语言活动图模型的仿真执行环境构建、统一建模语言活动图模型仿真用例的节点覆盖度信息统计以及仿真执行结果反馈。
-
公开(公告)号:CN113094021B
公开(公告)日:2023-10-17
申请号:CN202110438904.2
申请日:2021-04-22
Applicant: 南京大学
Abstract: 本发明提出了一种经验库制导的浮点程序优化加速方法。该方法基于浮点成因相似性原理,即若两个浮点数值程序的计算过程相似,它们误差累积的原因也往往是类似的,因而可以使用类似的程序转换规则对其重写,从而降低程序的累积误差。基于此,加速策略将浮点数值程序的符号结构特征以及优化其累积误差所用到的程序转换规则提取出来,作为优化经验保存于经验库中。待优化其他程序时,首先在经验库中匹配待优化程序的符号结构特征,寻找相似程序的优化经验,并利用这些经验来指导并加速优化过程。优化经验中保存的程序转换规则会被优先用于重写待优化程序,避免了对整个规则库进行遍历。这个过程减少了优化所需的时间开销,提高了浮点优化的可用性。
-
公开(公告)号:CN115543439A
公开(公告)日:2022-12-30
申请号:CN202211256469.2
申请日:2022-10-14
Applicant: 南京大学
Abstract: 本发明公开一种基于指令级数据流分析的新指令扩展方法,包括以下步骤:首先基于静态分析构建指令级数据流图;接着基于指令约束条件对指令级数据流图进行划分得到子图集合;然后基于子图等价关系的定义对子图集合进行等价类划分,并基于指令序列特征和频次筛选出符合特征的高频子图;最后基于抽象指令序列,描述每一个高频子图对应的新指令语义。之后可以根据抽象指令序列来实现新指令并通过在代码生成时使用新指令,达到性能优化的效果。本方法使得用户仅需要提供指令约束条件和指令序列特征等少量信息,就可以自动发掘程序中可优化的指令片段,从而有效降低人工成本,提高指令挖掘的准确性和效率。
-
公开(公告)号:CN112817787A
公开(公告)日:2021-05-18
申请号:CN202110119762.3
申请日:2021-01-28
Applicant: 南京大学
Abstract: 本发明提出中断嵌入式系统数据竞争的自动检测方法,该方法第一步对被检测代码进行静态分析,基于程序值流以及潜在并发关系分析,识别针对共享资源的潜在并发访问关系,并据此报告潜在数据竞争警报;第二步,针对第一步静态分析报告的数据竞争警报,基于制导符号执行探索数据竞争相关程序路径,排除约束矛盾的路径,基于可解约束生成能触发数据竞争的测试用例,报告可行的数据竞争;最后,针对第二步报告的可行数据竞争及其测试用例,基于仿真平台构建被检测代码所需的硬软件运行时支撑,根据执行测试用例触发的数据竞争,从而报告确认的数据竞争。上述方法也可以检测多线程程序的数据竞争缺陷。
-
公开(公告)号:CN112800425A
公开(公告)日:2021-05-14
申请号:CN202110145882.0
申请日:2021-02-03
Applicant: 南京大学
Abstract: 本发明公开了一种基于图计算的代码分析的方法和装置。该方法首相将程序代码转换成无函数调用节点的全局流程控制图,每个节点的代码语句转换成数据流向信息;然后对全局流程控制图划分分区,每个分区为子控制流程图,分区后初始化每个分区的待分析节点集,然后以分区为单元采用整体同步并行计算的方式对分区进行分析,分区分析时对每个节点调用用户所实现分析的接口通过循环迭代直到用户所实现分析的接口输出稳定时,从待分析节点集中删除节点,直到所有的各个分区的待分析节点集中的节点被清空。分区同步并行计算时以分区为单位进行磁盘数据调度。本发明可在单机上实现大规模系统软件代码的数据流和上下文敏感分析。
-
公开(公告)号:CN112559367A
公开(公告)日:2021-03-26
申请号:CN202011538231.X
申请日:2020-12-23
Applicant: 南京大学
Abstract: 本发明公开一种基于系统调用依赖图的内核模糊测试用例生成方法,首先根据系统调用接口初始化图的节点和边;其次将系统调用接口按照模板转换成系统调用描述,并对系统调用描述进行“参数‑返回值”依赖分析完善依赖图上各边的权重值;然后选定内核资源对象,通过对内核源码进行静态分析,识别每个系统调用对不同内核资源对象的使用情况,对于使用同一种内核资源对象的两个系统调用将在依赖图上赋予权重。最后用系统调用依赖图指导内核模糊测试用例的生成和变异,当需要在测试用例中增加、删除或替换某个系统调用时,根据依赖图上的权重挑选系统调用进行操作,从而产生更有可能合法的系统调用序列进行模糊测试,提高内核模糊测试工具的效率。
-
公开(公告)号:CN108829438B
公开(公告)日:2020-04-07
申请号:CN201810727406.8
申请日:2018-07-05
Applicant: 南京大学
Abstract: 本发明基于深度学习与程序合成的C/C++程序缺陷自动修复方法,输入带有缺陷的C/C++程序、错误定位信息、程序需要满足的规约以及满足相同规约正确程序集,通过学习正确程序中的书写结构,建立一个正确书写结构模型;根据错误定位信息,将错误点之前的代码结构作为模型的输入,预测错误点的书写结构,扩展成修复候选项集,并组织成选择表达式的形式;使用程序合成方法,将带有选择表达式的程序和该程序需要满足的规约转化为逻辑表达式,使用约束求解器,在设定的时间内进行求解;根据每个选择表达式的选项,输出最终的C/C++代码,得到修复后程序。本方法在多项式的时间复杂度内修复C/C++程序常见缺陷,保证修复后程序正确性。
-
-
-
-
-
-
-
-
-