-
公开(公告)号:CN115904998A
公开(公告)日:2023-04-04
申请号:CN202211587201.7
申请日:2022-12-09
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明是一种基于发生序关系规则的Node.js应用程序数据竞争检测方法,属于计算机软件技术领域,能够解决当前难以检测Node.js应用中数据竞争的问题。本发明提出了针对Node.js应用的发生序关系(Happens‑Before关系,简称HB关系)规则,将其分为用于不同步骤的三类,并提出了HB关系匹配规则和资源特性匹配规则;首先,本发明利用动态程序分析对被测应用程序进行插桩并收集分析运行数据,提取资源访问情况及事件处理函数间的异步调用HB关系,构建异步调用树;其次,本发明在异步调用树上应用树可达性检测算法检测候选数据竞争;再次,本发明利用HB关系匹配规则和资源特性匹配规则判断候选数据竞争是否为误报;最后,本发明在被测应用退出后输出数据竞争检测报告。
-
公开(公告)号:CN110750297B
公开(公告)日:2021-08-20
申请号:CN201910970630.4
申请日:2019-10-11
Applicant: 南京大学
Abstract: 本发明为一种基于程序分析和文本分析的Python代码参考信息生成方法:首先,对Python代码中的函数调用场景进行分类并提取项目中函数定义和注释作为函数的参考信息;其次,对于函数调用场景中函数来源(模块Module,类Class)可以确定的情况,使用静态分析工具生成函数调用图,建立函数调用和函数参考信息的一一映射关系;然后,考虑同名函数的情况,为了确定调用函数的Class实例的类型,使用基于文本分析技术的类型推导,给出推导的类型并根据类型建立函数调用和函数参考信息的一一映射关系;接着,针对类型无法推导的情况,基于协同过滤算法,为Class实例的函数调用推荐同名函数中对应的函数参考信息。
-
公开(公告)号:CN112433754A
公开(公告)日:2021-03-02
申请号:CN202110045380.0
申请日:2021-01-13
Applicant: 南京大学
Abstract: 本发明为一种基于程序分析的Java函数注释自动生成方法:首先收集大量GitHub上开源项目,基于程序分析技术对Java函数信息及调用关系进行提取,形成训练数据集;随后基于深度学习领域循环神经网络技术训练出一个函数到注释的翻译模型,能自动为函数生成注释,效果明显;有效解决了当前项目中现有函数注释的稀缺性、不规范性、不一致性等问题,提高了代码可读性和可维护性。
-
公开(公告)号:CN111694570A
公开(公告)日:2020-09-22
申请号:CN201910195658.5
申请日:2019-03-13
Applicant: 南京大学
Abstract: 本发明为一种基于静态程序分析与自然语言处理方法的JavaScript函数参数不匹配检测方法。首先为JavaScript项目中每个文件构造抽象语法树AST,遍历AST树并提取整个项目的定义函数和构造函数的程序相关信息;扫描分析整个项目的JavaScript文件,分别得到定义函数和调用函数的具体位置并构造项目的函数调用图;根据提取的注释信息,通过自然语言处理方法并结合概率推断参数的类型;根据提取的信息,分别对参数个数、参数命名、参数类型的不一致性进行检测,并给出项目中JavaScript函数参数不匹配的检测报告。
-
公开(公告)号:CN110502897A
公开(公告)日:2019-11-26
申请号:CN201810485760.4
申请日:2018-05-16
Applicant: 南京大学
IPC: G06F21/56
Abstract: 本发明为一种基于混合分析的网页恶意JavaScript代码识别和反混淆方法:首先收集相关网页源码,对于源码中的恶意JS文件及内嵌在HTML文档中的恶意JS代码进行提取处理;接着,在语法分析阶段构建抽象语法树,将节点表示成常规JS对象进行程序分析和特征提取;接着,对JS代码进行插桩,对于想要监控的运行时基本操作进行覆写,动态监控JS执行时状态和信息,提取执行轨迹和运行时动态特征信息;接着,将动静态特征改写为特征向量,基于随机森林算法模型,训练出一个恶意JS代码识别模型;接着,基于动态插桩方法,通过对内存覆写相关操作进行监控和记录,对于混淆恶意JS代码进行有效的反混淆。
-
公开(公告)号:CN105183655B
公开(公告)日:2017-12-12
申请号:CN201510626507.2
申请日:2015-09-25
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明方法是基于安卓开发框架和其多线程模型,插桩安卓应用程序并动态运行提取单个执行轨迹,再使用预测性分析方法对执行轨迹进行分析,构造其活动间的发生序关系(Happens‑Before)并预测生成多个执行轨迹,在此基础上结合变量松弛和路径松弛对执行轨迹中的所有活动进行约束编码,最终放入约束求解器中进行求解来完成数据竞争的检测。本发明能有效降低数据竞争的误报率,扩展性好,效率高,只需收集单个运行轨迹,大大降低了人工成本。
-
公开(公告)号:CN103678618B
公开(公告)日:2017-01-25
申请号:CN201310695891.2
申请日:2013-12-17
Applicant: 南京大学
IPC: G06F17/30
Abstract: 一种基于社交网络平台的Web服务推荐方法,将Web服务分成不同的服务类,在社交网络中获取用户的基本信息,取一部分用户作为训练用户,得到用户感兴趣的服务类,并据此建立用户-服务类矩阵,然后根据用户-服务类矩阵对用户进行聚类,得到不同的用户兴趣类,对于社交网络中需要进行Web服务推荐的新用户,根据用户兴趣类进行推荐。本发明首先对Web服务进行主题提取,通过将Web服务映射为Web服务类,实现对用户-服务矩阵进行降维,然后通过从社交网络中提取用户的基本信息和兴趣标签,充分利用标签信息和语义信息来解决词语同义问题,再结合通过分析已有用户的历史访问记录得到的聚类结果,对新用户进行Web服务推荐。
-
公开(公告)号:CN104156313A
公开(公告)日:2014-11-19
申请号:CN201410396502.0
申请日:2014-08-12
Applicant: 南京大学
IPC: G06F11/36
Abstract: 一种Web服务测试用例自动生成方法,基于文档解析及约束求解自动生成测试用例,包括Web服务文档解析、Web服务约束条件提取和Web服务测试用例自动化生成三部分,自动化生成SOAP消息表示的测试用例,即为Web服务的测试用例。本发明在Web服务测试用例的自动生成过程中,通过提取WSDL、BPEL文档中的约束条件,并运用约束求解方法,根据这些约束条件自动化生成测试用例,从而减少测试用例的冗余度,提高覆盖率,提高Web服务测试的效率。
-
公开(公告)号:CN102420827A
公开(公告)日:2012-04-18
申请号:CN201110414440.8
申请日:2011-12-13
Applicant: 南京大学
Abstract: 面向智能移动平台的Web服务推送方法,Web服务推送通过数据交换管程、服务代理和SOAP推送协议三个部分实现,数据交换管程运行在智能移动平台上,作为智能移动平台上应用程序的数据收发媒介和管理者;服务代理运行在服务器上,将Web应用封装成Web服务,并以数据推送方式向数据管程提供更新;SOAP推送协议作为数据交换管程和服务代理之间的通信协议。本发明提供了一种融合了服务代理、数据交换管程以及SOAP推送协议的技术,能够面向智能移动平台进行Web服务的主动推送。
-
公开(公告)号:CN111737131A
公开(公告)日:2020-10-02
申请号:CN202010576945.3
申请日:2020-06-23
Applicant: 南京大学
Abstract: 本发明为一种基于概率对齐的代码错误定位方法。其特征是通过LLVM工具对源代码进行优化,提取出程序的符号信息并跟踪执行流程,再根据提取的信息对程序实例进行分类存储,构建代码结构和符号执行流,之后对代码实例进行序列对齐,并在此基础上进行概率对齐,最后根据两个程序的关键实例和对齐结果切片,并进行二次对齐,关注应该匹配但没有匹配的实例,从而实现错误定位。
-
-
-
-
-
-
-
-
-