-
公开(公告)号:CN115826988A
公开(公告)日:2023-03-21
申请号:CN202211587140.4
申请日:2022-12-09
Applicant: 南京大学
Abstract: 本发明的主要工作是提出一种基于数据流分析和注意力机制的Java方法注释即时自动更新方法:首先,通过代码差异分析模块识别新旧代码之间的变更内容并表示成编辑序列;其次,通过语法分析模块分析语法节点的变化信息;然后,通过数据流分析模块对Java方法进行数据流依赖分析,得到变量节点间的数据流依赖关系;接着,使用代码文本编码神经网络模块将代码编辑序列转换为向量中间表示,使用代码结构编码神经网络将新代码抽象语法树转换为向量中间表示,使用自然语言编码神经网络模块将Java方法对应的旧注释编码为向量中间表示;最后,融合代码变更序列、代码结构、代码旧注释三方面的中间表示,通过注意力导向的解码模块生成对旧注释的操作序列。
-
公开(公告)号:CN110598841A
公开(公告)日:2019-12-20
申请号:CN201810626283.9
申请日:2018-06-13
Applicant: 南京大学
Abstract: 本发明面向智能手机使用者,提出基于多输入卷积神经网络(Multi-Input Convolutional Neural Network)诊断花卉疾病。方法是训练多个多输入卷积神经网络模型,利用手机方便携带、易操作的特性,由用户拍摄同一花卉的不同角度图片,或录制一段视频,作为网络的输入,花卉模型预测花卉种类,疾病分类模型预测疾病种类,根据结果从数据库中返回疾病详情和治疗方案。本发明操作简单,不增加时间开销,能够有效提高识别准确率。
-
公开(公告)号: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流程的执行轨迹;然后分析轨迹中对变量读写操作的活动是否满足先后序约束条件,从而判断是否存在数据竞争;最后再通过预测性分析方法检测隐藏的数据竞争,完成数据竞争的检测。本发明能有效降低数据竞争的误报率,召回率显著提升;并且能够提升检测效率,只需收集少量的运行轨迹,大大降低了人工成本。
-
公开(公告)号:CN102521130B
公开(公告)日:2014-12-24
申请号:CN201110413498.0
申请日:2011-12-13
Applicant: 南京大学
IPC: G06F11/36
Abstract: 一种基于聚类不变式分析的错误定位方法,基于程序执行的不变式分析技术,收集程序执行过程中的语句频谱信息进行聚类,对各个类簇分别计算与变量相关的不变式;之后进行新的程序执行,根据新的执行所具有的程序频谱将其划分至某个聚类中,比较新的执行与所在聚类中已有的不变式,如果新的执行违反了已有的不变式,则认为该次执行为一次错误执行;最后根据上述信息进行错误定位。本发明根据已有执行的程序频谱进行聚类,将程序执行空间划分为多个部分,再将新的执行与所属聚类的不变式进行对比分析,节省了验证程序执行正确与否的人力,同时得到了更细粒度的与不同程序执行空间相对应的不变式,有利于程序员进行错误定位。
-
公开(公告)号:CN112433754B
公开(公告)日:2022-05-31
申请号:CN202110045380.0
申请日:2021-01-13
Applicant: 南京大学
Abstract: 本发明为一种基于程序分析的Java函数注释自动生成方法:首先收集大量GitHub上开源项目,基于程序分析技术对Java函数信息及调用关系进行提取,形成训练数据集;随后基于深度学习领域循环神经网络技术训练出一个函数到注释的翻译模型,能自动为函数生成注释,效果明显;有效解决了当前项目中现有函数注释的稀缺性、不规范性、不一致性等问题,提高了代码可读性和可维护性。
-
公开(公告)号:CN111694726B
公开(公告)日:2022-04-05
申请号:CN201910210830.X
申请日:2019-03-15
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明为一种基于类型标注的Python程序类型推导方法:首先对Python程序进行类型推导;然后对同样一部分源代码进行标注等级分析,使用ranking算法对变量进行标注价值排序;接着通过ranking算法推荐进行类型标注;最后通过增加这些类型标注再次进行类型推导,并多次迭代上述过程,类型推导‑>ranking排序‑>类型标注‑>类型推导‑>...;最后产生的所有静态类型信息可以被用来优化Python的解释运行以及帮助开发者理解Python源代码程序。
-
公开(公告)号:CN114254097A
公开(公告)日:2022-03-29
申请号:CN202010957757.5
申请日:2020-09-11
Applicant: 南京大学
IPC: G06F16/335 , G06F16/35 , G06F40/216 , G06K9/62
Abstract: 本发明为一种基于上下文分析的Python API实时推荐方法。其特征是首先提取Python代码上下文中调用点;接着对每个调用点进行类型推断,若推断成功,使用推断类型可调用方法作为API候选集,否则从标准库API、第三方库API以及当前上下文定义API这三方面生成;接着从五方面约束提取仅含真阳性的数据流序列:赋值操作、循环结构、属性访问/调用、容器访问以及函数参数传递;然后通过上下文分析收集三方面特征,即数据流序列、token相似度和共现规则,将特征编码为特征向量;接着对特征向量进行标记,将所有标记后向量放入随机森林模型训练;最后基于训练好的推荐模型,将推荐结果按照概率得分进行排序并呈现给开发者。
-
-
-
-
-
-
-
-
-