一种基于上下文感知的代码搜索方法

    公开(公告)号:CN113761162B

    公开(公告)日:2023-12-05

    申请号:CN202110946910.9

    申请日:2021-08-18

    Applicant: 浙江大学

    Abstract: 本发明公开了一种基于上下文感知的代码搜索方法,该方法自适应地解析代码库与自然语言查询的上下文信息,准确匹配两者之间的语义信息,从而获得高效准确的代码搜索结果。首先解析Java文件集合,构建分布式代码库索引并训练自然语言模型N‑Gram,统计代码库中单词及其频率;然后从代码库中解析代码的组成要素,解析自然语言查询中单词的重要属性;最后利用分布式索引和N‑Gram模型从代码库中筛选出候选Java方法,并根据基于上下文匹配的优化算法对候选方法进行重排序。相较于现有方法,本发明不仅可以免去如深度学习模型的大量训练时间,保持在源代码集合扩充中搜索结果的稳定,同时保持很高的搜索准确度。

    一种基于程序依赖图预测的代码预训练模型训练方法

    公开(公告)号:CN116643759A

    公开(公告)日:2023-08-25

    申请号:CN202310688989.9

    申请日:2023-06-12

    Applicant: 浙江大学

    Abstract: 本发明公开了一种基于程序依赖图预测的代码预训练模型训练方法,该方法通过在预训练阶段预测代码的程序依赖图,帮助预训练模型感知并捕获代码的语义结构特征,以提升对代码语义结构敏感的下游任务的性能。该方法首先利用静态程序分析工具提取代码的程序依赖图并据此构建预训练监督信息,然后使用神经网络编码器将代码编码为实值特征向量序列,并基于该特征向量序列预测代码的程序依赖图,最后根据预测结果与实际程序依赖图的差异来更新模型的权重。预训练的模型可直接被用于程序依赖分析,依赖GPU等并行处理器对海量代码快速进行程序依赖分析,也可在微调后用于对代码语义结构敏感的下游任务,如漏洞分析相关任务等。

    一种自动协同进化生产代码和测试用例的方法

    公开(公告)号:CN116627796A

    公开(公告)日:2023-08-22

    申请号:CN202310349571.5

    申请日:2023-04-04

    Applicant: 浙江大学

    Abstract: 本发明公开了一种自动协同进化生产代码和测试用例的方法,该方法将编辑代码序列、原始代码、变更代码和测试用例作为代码变更信息,对代码变更信息进行预处理,得到分类模型的输入序列;输入序列输入到分类模型,得到扩充后代码变更信息的分类模型多维空间向量表示并送入分类器,得到测试样例是否需要更新;自动更新测试样例,通过生成模型中的编码器,得到输入序列的生成模型多维空间向量表示并输入到生成模型中的解码器,得到概率分布,通过编码器‑解码器包含的词典将概率分布还原为生成的测试用例。本发明实现了一种既可以识别过时的测试用例又可以自动更新过时的测试用例的生产‑测试用例协同进化方法。

    一种针对自动生成的失败单元测试用例的优先级排序方法

    公开(公告)号:CN116467206A

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

    申请号:CN202310438756.3

    申请日:2023-04-13

    Applicant: 浙江大学

    Abstract: 本发明公开了一种针对自动生成的失败单元测试用例的优先级排序方法,该方法通过收集并执行自动生成的单元测试用例,收集失败的单元测试用例及其执行结果和焦点方法,接着基于测试用例的源代码、焦点方法的文档和源代码以及测试用例的执行结果为每个失败测试用例构建多维度特征,然后基于构建的多维度特征和异常检测算法预测每个测试用例的异常程度,最后基于异常程度对测试用例进行排序,优先将异常程度高的测试用例推荐给开发者。本发明首次提出解决自动生成的失败单元测试用例的优先级排序问题的方法,能够帮助开发者利用有限的时间和精力发现更多的软件缺陷,有助于提升软件开发效率和软件质量。

    一种可监控预警的多源数据实时采集方法及系统

    公开(公告)号:CN115033457A

    公开(公告)日:2022-09-09

    申请号:CN202210712183.4

    申请日:2022-06-22

    Abstract: 本发明涉及一种可监控预警的多源数据实时采集方法及系统,涉及数据处理技术领域,首先利用定制化脚本采集器实时采集主流平台数据;利用Kafka和Redis对主流平台数据进行缓存;利用Flink实时数据流引擎对缓存数据进行清洗;然后获取预警策略;根据清洗数据利用ARIMA模型预测出预设时间范围内的数据;最后将预测数据与预警策略进行比较,发送预警信息。本发明采用了定制化脚本采集器,实现多源数据的高性能实时采集,利用了主流消息队列组件Kafka和实时流处理引擎Flink的全联通,保证链路数据的一致性,还实现了预警策略与ARIMA模型的结合,从而避免触发阈值时机器宕机造成无法弥补的损失。

    跨项目编程任务上下文预测方法
    26.
    发明公开

    公开(公告)号:CN114115893A

    公开(公告)日:2022-03-01

    申请号:CN202111371079.5

    申请日:2021-11-18

    Applicant: 浙江大学

    Abstract: 本发明公开了一种跨项目编程任务上下文预测方法,包括:从跨项目中收集交互历史开发数据;进行过滤等数据清洗工作,划分工作阶段并解析代码元素;通过识别代码仓库与分析时间信息,将工作阶段与编程数据融合;挖掘代码元素结构关系并构建代码上下文模型;为代码元素分配抽象角色,将代码上下文模型抽象化;挖掘抽象模型的拓扑逻辑模式,并按项目特征分类;选取特征接近的特定的分类拓扑逻辑模式库,通过代码上下文模型预测算法,经过扩展、相近模式库选择、子图挖掘、模式匹配、归并、置信度计算等步骤,为目标项目的初始编程任务预测代码上下文,解决因目标项目历史数据稀缺而导致的难预测问题,并向开发者提供建议与推荐。

    代码克隆检测方法、装置以及电子设备

    公开(公告)号:CN111124487B

    公开(公告)日:2022-01-21

    申请号:CN201811295180.5

    申请日:2018-11-01

    Applicant: 浙江大学

    Abstract: 本申请公开了一种代码克隆检测方法,包括:获取至少两个版本的源代码组成的源代码集;将所述至少两个版本的源代码分别转换为对应的代码特征向量;将所述至少两个版本的源代码对应的代码特征向量输入集成分类模型进行克隆检测,获得克隆检测结果。所述代码克隆检测方法,通过提取源代码各自的特征信息将其转换为代码特征向量,在代码特征向量的基础上利用集成分类模型实现克隆检测,从而降低了源代码的特征损失,在此基础上实现的代码克隆检测更加精准,同时也更具有效性。

    基于IT技术问答网站的计算机技术领域发展趋势分析方法

    公开(公告)号:CN113220855A

    公开(公告)日:2021-08-06

    申请号:CN202110585021.4

    申请日:2021-05-27

    Applicant: 浙江大学

    Abstract: 本发明公开了一种基于IT技术问答网站的计算机技术领域发展趋势分析方法,包括:识别技术领域关键字;以关键字为初始输入,识别IT技术问答网站上与该技术领域相关的标签,基于标签提取并过滤该技术领域的相关帖子;按照领域内的不同技术平台划分数据集;从该技术领域的多项代表性技术平台中,提取该技术领域的参考架构;在每一个子数据集上采用LDA主题模型对数据集进行聚类,其中以梯度式搜索方法确定最佳主题数量;将主题与参考架构进行映射,确定主题名称;设置评估指标,分析该技术领域内不同主题、不同层次的知识的发展趋势。本发明以IT技术问答网站中某技术领域知识的帖子为数据集,分析该技术领域知识的发展趋势。

    一种新零售实时数据追踪、反馈方法和系统

    公开(公告)号:CN112435074A

    公开(公告)日:2021-03-02

    申请号:CN202011429635.5

    申请日:2020-12-07

    Applicant: 浙江大学

    Abstract: 本发明涉及一种新零售实时数据追踪、反馈方法和系统,通过数据采集模块采集电商平台中店铺的数据,并将采集到的数据中的时序数据发送给时序数据库,时序数据库从时间纬度对时序数据存储,可视化模块时序数据进行图表可视化展现,实时反馈给用户,报警模块对时序数据匹配相应的预警策略,并将告警信息和预警信息反馈给联系人,及时告知用户特殊状况的发生,实现了时序数据库对新零售实时数据的采集、追踪到反馈的全面利用,提高了对海量新零售数据的有效存储和及时处理能力,从而能够更好地发掘新零售实时数据的价值以及便于商家及时获得店铺的信息情况。

    一种基于深度学习的软件代码行级缺陷检测方法

    公开(公告)号:CN110825642B

    公开(公告)日:2021-01-01

    申请号:CN201911092161.7

    申请日:2019-11-11

    Applicant: 浙江大学

    Abstract: 本发明公开了一种基于深度学习的软件代码行级缺陷检测方法,属于软件代码缺陷检测领域,该方法具体包括:(1)master分支中基于类的ATS提取,(2)ATS集合预处理,(3)LSTM模型训练,(4)开发分支ATS集合提取与检测,(5)ATS异常概率排序。该方法的模型代码处理粒度可达代码行级别,可对代码片段做缺陷检测,能够有效捕捉代码中相关Token的前后关联,可利用已有其他代码仓库中的相关代码信息。

Patent Agency Ranking