一种功能相同但源码不同的代码跟踪序列的新对齐方式

    公开(公告)号:CN118689752A

    公开(公告)日:2024-09-24

    申请号:CN202410918064.3

    申请日:2024-07-10

    Abstract: 本发明提供一种功能相同但源码不同的代码跟踪序列的新对齐方式,属于动态软件分析领域,所述代码跟踪序列对齐方式包括获取代码跟踪序列、对齐尽可能多的序列对、对齐标准输入的序列对并以其为基准扩充对齐,获取代码跟踪序列使用llvm插桩工具,编写插桩程序,获取代码运行中的所有信息,对齐尽可能多的序列对通过使用尼德曼‑翁施算法获得最长的序列对,对齐标准输入的序列对并以其为基准扩充对齐,通过广度优先遍历算法尝试对齐,并使用sentence‑bert,下文简称为SBERT,一种使用了孪生网路的预训练模型模型而不是简单的变量数据改变来进行计算是否对齐,以生成对齐序列,这种方法可以消除掉错误对齐结果,并对齐部分本应对齐但没有对齐的序列对。

    一种用于分散计算的无人机集群构建方法

    公开(公告)号:CN118382072A

    公开(公告)日:2024-07-23

    申请号:CN202410793873.6

    申请日:2024-06-19

    Abstract: 本发明提供了一种用于分散计算的无人机集群构建方法,旨在提高无人机系统的计算能力。该方法通过构建核心机和节点机的集群结构,实现快速组网、任务分配和资源管理。核心机负责组网通信、任务调度和资源调配,而节点机则负责接收处理核心机分配的任务,并反馈自身状态。核心机开发板由通信芯片、控制芯片和计算核心组成,而节点机开发板则具备通信模块和计算控制模块。通过该集群构建方法,无人机系统能够处理复杂的分散计算任务,提高计算效率和任务完成质量。

    一种基于上下文代码的混合粒度代码合并冲突自动解决方法

    公开(公告)号:CN117827271A

    公开(公告)日:2024-04-05

    申请号:CN202410063369.0

    申请日:2024-03-04

    Abstract: 本发明为一种基于上下文代码的混合粒度代码冲突自动解决方法:首先,本发明关注的是分支合并时所产生的代码合并冲突的消解,对代码合并冲突块从行粒度、词粒度两种混合粒度出发去生成解决方案。接着,使用对齐算法分别针对不同粒度的代码合并冲突提取出关键的代码冲突信息。然后,根据提取到的关键代码冲突信息,先使用大型预训练代码模型把关键代码冲突信息编码为查询向量,再利用查询向量通过注意力机制从处理过的合并文件中检索得到关键的上下文代码信息。最后,基于组合双粒度代码冲突与检索到的上下文代码信息为新数据集合,通过使用序列到序列的生成式任务来微调训练大型预训练代码模型,接着输入现实世界中的代码合并冲突到模型便可以自动生成冲突解决方案。

    适用于代码仓库中的针对查询相关代码的commit查询方法

    公开(公告)号:CN117407566A

    公开(公告)日:2024-01-16

    申请号:CN202311306296.5

    申请日:2023-10-09

    Abstract: 本发明提供一种适用于代码仓库中的针对查询相关代码的commit查询方法,通过针对需要生成代码参考信息的项目,分析项目自身、依赖库和Java标准库;使用领域特定语言DSL作为commit查询语言,制定commit查询语法文本,并写成用于后续ANTLR4进行解析操作的g4文件;生成词法解析器与语法解析器;获取用户输入的查询文本,使用得到的词法解析器与语法解析器对输入的查询文本进行解析,生成相对应的抽象语法树;通过遍历抽象语法树,获取查询标志和内容,对代码仓库进行遍历,搜索符合查询标志和内容的相关匹配度最高的commit提交记录,并返回给用户;该方法能够提高搜索和编程效率,能够提升查询匹配度,能够得到与预期目标匹配度更高的结果。

    一种基于提交消息以及代码的学生作业批改方法

    公开(公告)号:CN116502620A

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

    申请号:CN202310275430.3

    申请日:2023-03-21

    Abstract: 本发明涉及计算机技术领域,公开一种基于提交消息以及代码的学生作业批改方法。对提交历史信息进行处理,分别对学生程序和参考程序提取各自的提交消息并对提交消息进行简单过滤;计算学生提交消息以及参考程序间的相似度;计算提交消息的匹配关系和相似度,将学生的每次提交消息文本求平均得出学生程序提交消息总相似度;对学生程序代码以及参考程序代码中的每个文件进行检测,计算出匹配的总行数,根据行数占比算出每个文件代码相似度,将学生的每次提交消息文本求平均得出学生程序代码总相似度;依据得到的学生提交消息总相似度以及代码总相似度建立线性模型,同时利用最小二乘法线性回归得到最终的参数从而计算出最后的学生分数。

    一种基于有向图的代码仓库代码块级别冲突排序分组方法

    公开(公告)号:CN115098109A

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

    申请号:CN202210726119.1

    申请日:2022-06-24

    Abstract: 一种基于有向图的代码仓库代码块级别冲突排序分组方法,首先提取出发生冲突的文件列表、冲突文件内部的方法名称以及冲突代码片段的信息进行保存;然后对不同分支上的冲突文件内部的所有方法构造出依赖关系图;其次对比依赖关系图中的节点,将不同分支上构造出的依赖关系图进行合并;接着遍历依赖关系图,将节点携带的文件全路径名、方法名称、方法开始和结束的行号与保存对比,将符合条件的冲突文件全路径名、方法名称按照节点序号从大到小进行保存;最后将处在同一个依赖关系图中的冲突方法分入到同一分组。本方法能够有效地针对当前代码仓库存在的代码块级别进行排序,同时对代码块级别的冲突进行有效的分组从而帮助开发人员有序的解决冲突。

    一种基于程序分析的Node.JS代码片段环境依赖性的自动推断方法

    公开(公告)号:CN114579130A

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

    申请号:CN202011374137.5

    申请日:2020-11-30

    Abstract: 本发明为一种基于程序分析的Node.JS代码片段环境依赖性的自动推断方法:首先,根据libraries.io数据集中的SourceRank构建已知npm包的知识库;其次,使用静态分析,动态分析和关联规则挖掘的组合来发现有关包依赖性的信息,并根据其互相之间的关系建模为相互依赖图,使用图形数据库存储;然后,对于给出的新的Node.JS代码片段,解析目标代码并提取所有导入资源的列表,将其映射回一组可以安装的软件包,再利用一种用于遵循安装顺序的直接依赖和传递依赖性的推理算法,查找到的依赖项进行正确排序,得到最后的返回结果。

    一种基于图神经网络的重复Pull Request检测方法

    公开(公告)号:CN114238124A

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

    申请号:CN202111566438.2

    申请日:2021-12-20

    Inventor: 张卫丰 崔博夕

    Abstract: 本发明公开了一种基于图神经网络的重复Pull Request检测方法,包括以下步骤:1)数据集的处理以及对于数据的获取,根据数据集中的Pull Request编号,通过GitHub API的调用,获取Pull Request的标题、描述、commit信息、变更文件信息、变更代码信息。对于变更文件超过50或者变更代码增加和删除超过10000行的Pull Request进行过滤。2)使用自然语言处理方法结合余弦相似度计算出标题、描述、commit信息的相似性;使用最长公共子路径算法,计算出变更文件的路径相似;计算变更代码位置相似性,通过求出两个PullRequest中变更代码的具体位置,计算出重叠变更位置的长度,除上总的重叠快的长度求出变更代码相似。3)基于大型的代码克隆数据仓库,使用增加流抽象语法树、图匹配网络以及均方误差损失来训练一个图神经网络模型,计算出变更代码的相似性。4)基于求出的标题相似性、描述相似性、commit信息相似性、变更文件路径相似性、变更代码位置相似性、变更代码相似性作为特征值,以及对应的是否重复的标签,利用机器学习中的AdaBoost算法来训练一个重复Pull Request的检测模型。

Patent Agency Ranking