【技术实现步骤摘要】
本专利技术属于软件工程,具体涉及一种代码数字孪生构建方法。
技术介绍
1、随着信息技术的飞速发展,现代软件系统的规模和复杂性持续攀升。以linux操作系统为例,其源码规模已达数千万行,涵盖数百个子系统和模块。在如此庞大且高度复杂的代码库中,开发者面临着前所未有的认知挑战。要精准理解系统背后的领域概念、功能特性与设计决策,已成为软件开发与维护的核心任务。领域知识不仅定义了系统涉及的关键术语、高层语义和功能目标,还在特性定位、问题排查、设计决策解析及代码实现与问题修复等开发与维护任务中发挥着至关重要的作用。例如,在linux内核中,“虚拟内存”、“网络栈”、“文件系统”等核心概念,不仅是理解关键模块与子系统功能的基础,还承载着丰富的功能特性、设计考量及代码实现细节。
2、然而,这些领域知识往往并未直接显式地体现在代码和文档等直接软件制品中,而是分散地隐含在特性说明、邮件列表、变更历史等多种异构数据源之中,甚至可能未被完整记录。开发者需要从这些数据源中挖掘并结合专家经验,建立代码与领域知识之间的关联。然而,依赖人工完成这一过程,不
...【技术保护点】
1.一种基于多源异构知识抽取的代码数字孪生构建方法,其特征在于,综合运用领域概念抽取、软件功能特性知识提取、高层设计决策解析、代码单元及其结构关系构建一个共建、共享、与代码同步演化的软件领域知识概念化表示的代码数字孪生模型,帮助开发人员理解复杂软件代码背后所蕴含的领域背景知识、功能特性和设计知识,从而更好地理解软件并有效完成开发与维护任务;该数字孪生将领域知识结构化为两大类别:面向软件制品的骨架知识,以及以设计原理为核心的解释性知识;该数字孪生能够精准表达软件系统的高层次结构和设计决策,具体步骤如下:
2.根据权利要求1所述的代码数字孪生构建方法,其特征在
...【技术特征摘要】
1.一种基于多源异构知识抽取的代码数字孪生构建方法,其特征在于,综合运用领域概念抽取、软件功能特性知识提取、高层设计决策解析、代码单元及其结构关系构建一个共建、共享、与代码同步演化的软件领域知识概念化表示的代码数字孪生模型,帮助开发人员理解复杂软件代码背后所蕴含的领域背景知识、功能特性和设计知识,从而更好地理解软件并有效完成开发与维护任务;该数字孪生将领域知识结构化为两大类别:面向软件制品的骨架知识,以及以设计原理为核心的解释性知识;该数字孪生能够精准表达软件系统的高层次结构和设计决策,具体步骤如下:
2.根据权利要求1所述的代码数字孪生构建方法,其特征在于,步骤(1)中所述知识表示设计,其中代码数字孪生利用多种知识表示来支持不同类别的知识元素;具体包括:
3.根据权利要求2所述的代码数字孪生构建方法,其特征在于,步骤(2)所述面向制品的骨架知识提取,具体包括两个部分:在人工专家的帮助下,采用自上而下的方式从文档中提取概念和功能特性,以及采用自下而上的方式从源代码中提取功能逻辑;
4.根据权利要求3所述的代码数字孪生构建方法,其特征在于,步骤(3)中所述以设计决策为中心的解释性知识提取,具体使用大模型(llms)基于预定义的知识框架模式提取设计原理知识;首先,利用大模型从大量非结构化语料库中识别相关信息,然后将这些信息通过大模型结构化为预定义的知识框架格式;具体地,设计原理知识抽取包括识别决策候选项及其优劣对比、最终设计选型、决策依据,总结设计决策由特定需求或特性触发的逻辑,提取涉及的概念及其具体角色;为此,构建一套基于大模型的设计知识抽取与验证框架,从代码提交信息和邮件列表中自动提取设计知识,精准建立需求设计知识、特性知识与概念知识之间的深度关联。
5.根据权...
【专利技术属性】
技术研发人员:彭鑫,王翀,吴毅坚,娄一翎,刘名威,
申请(专利权)人:复旦大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。