-
公开(公告)号:CN117112271A
公开(公告)日:2023-11-24
申请号:CN202210506390.4
申请日:2022-05-11
Applicant: 南京大学
IPC: G06F11/07 , G06N20/00 , G06F16/903 , G06F16/33 , G06F16/332 , G06N5/01
Abstract: 本发明提供了一种面向软件开发的、基于机器学习模型的StackOverflow问答更新情况的预测方法,包含下列步骤:1)首先使用SOTorrent数据集获取引用了StackOverflow问答的GitHub项目,并通过版本控制软件git中的gitclone命令获取这些项目的源程序代码;2)对项目的源程序代码进行正则表达式匹配,提取被引用的StackOverflow问答的ID;3)利用StackOverflow的API获取这些问答的信息并提取度量;4)根据问答的编辑记录为每个样例打标记,并使用机器学习算法生成预测模型;5)对开发者新引用的StackOverflow问答进行预测,根据预测结果提示开发者关注需要进一步编辑的答案的更新情况。本发明解决了目前软件代码缺乏与StackOverflow问答的共同更新的问题,进而帮助开发者修复缺陷,提高软件的鲁棒性,从而能更好地控制软件产品的质量。
-
公开(公告)号:CN107967208A
公开(公告)日:2018-04-27
申请号:CN201610915633.4
申请日:2016-10-20
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明为一种基于深度神经网络的Python资源敏感缺陷代码检测方法,包括下列步骤:1)获取同一软件的历史版本的源代码和待测版本的源代码;2)利用类型推断抽取各版本的资源敏感代码模式;3)抽取资源敏感代码模式的相关特征;4)计算缺陷代码模式和安全代码模式、缺陷代码模式和待测代码模式之间的各个特征相似度,生成特征向量,并得到训练集和测试集;5)用训练集训练深度神经网络模型进行特征合并,然后对测试集中的模式对用深度神经网络模型计算相关度并排序;6)在程序开发和维护阶段,根据相关度排序结果对可能发生错误的资源对象操作进行提醒,辅助开发和维护;本发明解决了目前存在缺乏针对Python语言资源敏感代码识别和缺陷代码检测的自动化方法等问题,进而降低软件风险,提高软件质量,从而提高开发者和维护者开发和维护软件的效率。
-
公开(公告)号:CN104572445B
公开(公告)日:2017-10-27
申请号:CN201410787154.X
申请日:2014-12-17
Applicant: 南京大学
Abstract: 本发明为一种Web服务组合中BPEL流程数据竞争的检测方法:首先基于BPEL设计规则构造BPEL活动间的先后序关系集,并通过BPEL执行引擎插桩收集BEPL流程的执行轨迹;然后分析轨迹中对变量读写操作的活动是否满足先后序约束条件,从而判断是否存在数据竞争;最后再通过预测性分析方法检测隐藏的数据竞争,完成数据竞争的检测。本发明能有效降低数据竞争的误报率,召回率显著提升;并且能够提升检测效率,只需收集少量的运行轨迹,大大降低了人工成本。
-
公开(公告)号:CN105095092A
公开(公告)日:2015-11-25
申请号:CN201510626506.8
申请日:2015-09-25
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明为一种基于静态分析和动态运行的原子性违反检测方法:先通过静态分析JS代码,获取JS中涉及到异步调用的函数和方法,保证代码上的覆盖;跨语言平台的动态插桩记录机制,在异步调用函数中设置探测点,不仅能得到JS程序中的元素,还能记录HTML代码中的元素,提高检测潜在原子性违反的准确率;根据Web应用请求到回应整个过程中涉及的相关元素,设计原子性违反判定规则,从而能够开展有效的原子性违反检测。
-
公开(公告)号:CN104750499A
公开(公告)日:2015-07-01
申请号:CN201510196988.8
申请日:2015-04-21
Applicant: 南京大学
IPC: G06F9/44
Abstract: 本发明为一种基于约束求解和描述逻辑的Web服务组合方法:首先基于领域知识库的目标任务分解,设计各细粒度任务的优化目标,并提取任务接口的约束条件,然后通过约束求解得到细粒度任务的组合,再运用描述逻辑检测组合的有效性、合理性,避免流程冲突,得到合适的组合Web服务。本发明能有效性地组合Web服务,准确率显著提升;并且能够检测服务组合的逻辑正确性,使服务组合更加合理有效。
-
公开(公告)号:CN104572445A
公开(公告)日:2015-04-29
申请号:CN201410787154.X
申请日:2014-12-17
Applicant: 南京大学
Abstract: 本发明为一种Web服务组合中BPEL流程数据竞争的检测方法:首先基于BPEL设计规则构造BPEL活动间的先后序关系集,并通过BPEL执行引擎插桩收集BEPL流程的执行轨迹;然后分析轨迹中对变量读写操作的活动是否满足先后序约束条件,从而判断是否存在数据竞争;最后再通过预测性分析方法检测隐藏的数据竞争,完成数据竞争的检测。本发明能有效降低数据竞争的误报率,召回率显著提升;并且能够提升检测效率,只需收集少量的运行轨迹,大大降低了人工成本。
-
公开(公告)号:CN117093467A
公开(公告)日:2023-11-21
申请号:CN202210506389.1
申请日:2022-05-11
Applicant: 南京大学
Abstract: 本发明提出了一种基于阈值感知技术的实时软件缺陷预测方法。方法包括下列步骤:1)从软件托管平台上获取目标软件项目的所有历史提交信息和代码更改;2)根据历史提交信息和代码更改抽取各种维度的度量;3)从历史提交信息中汇总修复类型提交,并通过SZZ算法向前回溯找出引入缺陷的提交并制定标签;4)汇总度量和标签生成基于提交粒度的缺陷数据集;5)使用阈值感知技术对缺陷数据集进行训练并保存模型;6)对于新产生的代码提交,抽取度量并经由模型预测。本发明为软件缺陷预测提供了一种自动化生成数据集,实时预测的方法,通过阈值感知技术减少了不平衡数据集的影响,最后的预测结果可帮助开发者更早地发现潜在的缺陷,提高软件质量。
-
公开(公告)号:CN113076133B
公开(公告)日:2023-09-26
申请号:CN202110449761.5
申请日:2021-04-25
Applicant: 南京大学
IPC: G06F8/73 , G06F16/33 , G06F40/289
Abstract: 本发明公开基于深度学习的Java程序内部注释的生成方法及系统,所述方法包括如下步骤:获取Stars数排名靠前的项目,提取出对应的内部注释和方法语句列表;得到: 对;选择Verb‑dobj形式的注释;得到和目标代码段相关联的代码上下文;对注释、目标代码以及上下文进行预处理,得到: 组成的三元组数据集;对构建的数据集随机划分成训练集、验证集和测试集,同时构建编码器解码器网络;划分中的训练集用于模型训练,并且通过在验证集上进行评估,得到在验证集上效果最好的模型作为目标模型;用获得的目标模型对测试集中的数据进行预测,生成预测的注释。
-
公开(公告)号:CN116662558A
公开(公告)日:2023-08-29
申请号:CN202210159362.X
申请日:2022-02-21
Applicant: 南京大学
IPC: G06F16/36 , G06F40/295 , G06F40/30
Abstract: 本发明提供一种实体关系导向的语言模型测试方法,包括以下流程:1)获取用于生成测试用例的单词;2)根据模式和步骤1获取的单词生成测试用例作为模型输入序列;3)将步骤2中获取的输入序列输入模型,获取输出序列;4)对输出结果进行命名实体识别;5)筛选步骤4中获取的关系,并对关系两两进行关系抽取;6)根据关系抽取结果构造查询语句,查询该关系是否存在于知识图谱中;7)根据查询结果生成测试报告,反馈给测试人员。该测试方法可以有效弥补现阶段语言模型相关测试工具的匮乏问题,既能从语义的角度分析输出结果,又能脱离测试集,使得测试人员能够在没有测试集的情况下完成测试流程。同时无需将测试流程带入具体任务,而且测试流程可以自动化完成。本发明可以为开发者调试和修复语言模型提供指导,从而更好地提升语言模型质量,对今后语言模型测试方法的研究具有借鉴意义。
-
公开(公告)号:CN110502667A
公开(公告)日:2019-11-26
申请号:CN201810485857.5
申请日:2018-05-16
Applicant: 南京大学
Abstract: 本发明提出了一种基于DOM框架的ODX文档的解析和生成技术,主要分为三个模块:XML Schema解析模块,ODX文档解析模块和ODX文档生成模块。XML Schema解析模块将ODX文档的XML Schema规则分成了基本数据类型规则、复杂数据类型规则、结构类型规则、约束类型规则和扩展类型规则,并根据各种类规则设计了符合ODX文档格式的Java类映射规则,使得ODX文档中的每一个类都可以标准化生成对应的Java类映射;ODX文档解析模块首先利用反射机制,循环提取待解析类继承的所有类成员信息,接下来通过DOM框架,获取根节点的所有属性和元素信息放入待解析队列中。最后把待解析队列中的属性或元素的值映射到目标类对应的成员变量中:对于基本数据类型进行直接赋值,对于成员对象进行递归赋值,对于数组变量循环每个数组成员并根据各数组成员的实际类型选择直接赋值或进行递归操作;ODX文档生成模块与解析模块类似,首先循环提取待解析类继承的所有类成员信息,作为待生成队列。接下来对待生成队列的每个成员通过其是否经过解析或修改,判断该成员变量是否应该输出,最后根据不同的数据类型递归的完成ODX文档生成操作:对于基本数据类型进行直接生成,对于成员对象进行递归生成,对于数组变量循环每个数组成员并根据各数组成员的实际类型选择直接生成或进行递归操作。
-
-
-
-
-
-
-
-
-