CN115983719A - 一种软件综合质量评价模型的训练方法及系统 - Google Patents
一种软件综合质量评价模型的训练方法及系统 Download PDFInfo
- Publication number
- CN115983719A CN115983719A CN202310256148.0A CN202310256148A CN115983719A CN 115983719 A CN115983719 A CN 115983719A CN 202310256148 A CN202310256148 A CN 202310256148A CN 115983719 A CN115983719 A CN 115983719A
- Authority
- CN
- China
- Prior art keywords
- tree
- software
- software function
- node
- mapping
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种软件综合质量评价模型的训练方法,该方法包括:提取目标软件的源代码中所有的函数,计算时间复杂度,根据所有的函数,生成源代码的语法树,语法树中每个函数为一个节点,用时间复杂度作为节点之间连线的长度;将目标软件按照包含的软件功能进行拆分,生成多个软件功能块,计算所需要的计算资源,按照各个软件功能块之间的联系,生成软件功能树,软件功能树中每个软件功能块为一个节点,用计算资源作为节点之间连线的长度;建立语法树与软件功能树之间的映射,计算映射中软件功能树中节点到与其相对应的语法树中节点的映射距离,映射距离为对目标软件的软件综合质量评价,根据软件综合质量评价训练软件综合质量评价模型。
Description
技术领域
本发明属于软件综合质量评价技术领域,更具体地,涉及一种软件综合质量评价模型的训练方法及系统。
背景技术
随着信息技术的发展,软件复杂程度不断提高、软件规模不断增大,软件系统的质量问题极有可能会导致严重后果,因此,对软件质量进行评价显得越来越重要。
随着软件产品应用的日益普及,市场对软件产品质量的要求不断提高。如何评价软件质量的好坏成为用户、软件工程师和软件组织的管理者最为关心的问题[5,6]。因为软件质量的评价结果不仅可以指导用户购买和使用软件,而且也可以指导软件开发者开发出高质量的软件产品。目前对于软件质量评价的研究主要集中在两个方面:
(1)层次分析法(Analytic hierarchy process,AHP):其主要思想是根据某种标准对影响软件质量的各种因素进行分解,形成不同的层次,然后由各专家对同层次的因素两两比对,得出对比矩阵。
(2)模糊综合评判方法:其主要思想是采用模糊数学中构造隶属度函数的方法对指标的评价标准进行模糊处理,以保证依据该评价标准作出的评价更加符合人们的思维方式。
在AHP方法中,当同一层次的比较因素较多时,专家容易出现矛盾或混乱的判断,且对比矩阵庞大、复杂度高;在模糊综合评判方法中,隶属度函数的构造是一个比较困难和复杂的过程。而且,这些方法大都要求各评价专家考虑相同的评价指标集来给出个体的评价信息。然而,在一些现实的软件质量评价问题中,由于评价专家常常来自不同的领域,或者来自不同组织和部门,而且每个专家所具有的知识和经验不同,因此,每个评价专家可能只关注评价指标集中自己感兴趣和熟悉的若干指标,如果仍然要求评价专家对评价指标集中的所有指标进行评价,很容易导致各评价专家的评价结果之间差异较大,引起误判,从而不利于决策者的最后决断。
例如,对某一办公软件进行评估,评价专家由软件工程师、用户和管理人员构成,各个专家会优先考虑自己感兴趣的评价指标,如软件工程师对软件本身的功能、可靠性等进行评价,用户对软件的美观、操作性、效率等进行评价,而管理人员对软件的维护性、可移植性等进行评价。其次,现有的大多数评价方法中,要求各专家的个人评价指标集之间是不重叠的,这种假设过于理想化,不符合现实情况,因为某些专家之间的知识和兴趣有可能是交叉的。
因此,亟需一种技术能够提高软件质量的评价效率,且能够全自动的进行软件质量评价。
发明内容
为解决以上技术问题,本发明提出一种软件综合质量评价模型的训练方法,包括:
提取目标软件的源代码中所有的函数,并计算每个函数的时间复杂度,根据所述所有的函数,生成所述源代码的语法树,其中所述语法树中每个函数为一个节点,并用所述时间复杂度作为节点之间连线的长度;
将所述目标软件按照包含的软件功能进行拆分,生成多个软件功能块,计算运行每个所述软件功能块所需要的计算资源,按照各个所述软件功能块之间的联系,生成软件功能树,其中所述软件功能树中每个所述软件功能块为一个节点,并用所述计算资源作为节点之间连线的长度;
建立所述语法树与所述软件功能树之间的映射,计算所述映射中所述软件功能树中节点到与其相对应的所述语法树中节点的映射距离,所述映射距离为对所述目标软件的软件综合质量评价,根据软件综合质量评价训练软件综合质量评价模型。
进一步的,所述建立所述语法树与所述软件功能树之间的映射包括:
分别遍历所述软件功能树与所述语法树,查找所述软件功能树中每个软件功能块,及实现其功能的函数,将软件功能块与实现其功能的函数建立映射关系。
进一步的,所述并用所述时间复杂度作为节点之间连线的长度,还包括:
遍历所述语法树,查找每个函数作为节点到所述语法树顶点的最短路径和最长路径,将所述最短路径和所述最长路径分别包括连线的数量作为所述最短路径的值和所述最长路径的值,计算每个函数作为节点的所述最长路径与所述最短路径的差值,将所述差值与所述时间复杂度相加,从而更新整个所述语法树中每个节点之间的连线的长度。
进一步的,所述计算所述映射中所述软件功能树中节点到与其相对应的所述语法树中节点的映射距离之前,还包括:
建立三维坐标系,将所述语法树和所述软件功能树进行归一化处理,从而能够将所述语法树和所述软件功能树映射到所述三维坐标系中,其中,根据所述语法树的顶点和所述软件功能树的顶点,进行标定对齐,设置所述语法树和所述软件功能树之间沿X轴的距离为常量a,且所述语法树和所述软件功能树中所有节点的坐标皆为正数,并且获取所述语法树和所述软件功能树中每个节点的坐标。
进一步的,所述计算所述映射中所述软件功能树中节点到与其相对应的所述语法树中节点的映射距离包括:
通过以下公式计算所述映射距离:
,
其中,L为所述映射距离,所述软件功能树中节点的坐标为(X,Y,Z),所述语法树中节点的坐标为,i为与所述软件功能树中节点存在映射关系的所述语法树中的节点数量,如果所述语法树中存在多个节点与所述软件功能树中节点存在映射关系,则L为所述语法树中多个节点与所述软件功能树中节点的所述映射距离的平均值。
进一步的,还包括:
查找所述语法树和所述软件功能树中存在映射关系的节点,并生成多个映射关系集合,计算每个所述映射关系集合的所述映射距离;
为所述软件功能树中的每个所述软件功能块设置重要程度权值,结合所述重要程度权值,计算所有所述映射距离的加权平均值作为最终映射距离,并与预设软件综合质量评价阈值进行对比,从而评价所述目标软件的质量。
本发明还提出一种软件综合质量评价模型的训练系统,包括:
提取语法树模块,用于提取目标软件的源代码中所有的函数,并计算每个函数的时间复杂度,根据所述所有的函数,生成所述源代码的语法树,其中所述语法树中每个函数为一个节点,并用所述时间复杂度作为节点之间连线的长度;
提取软件功能树模块,用于将所述目标软件按照包含的软件功能进行拆分,生成多个软件功能块,计算运行每个所述软件功能块所需要的计算资源,按照各个所述软件功能块之间的联系,生成软件功能树,其中所述软件功能树中每个所述软件功能块为一个节点,并用所述计算资源作为节点之间连线的长度;
训练模型模块,用于建立所述语法树与所述软件功能树之间的映射,计算所述映射中所述软件功能树中节点到与其相对应的所述语法树中节点的映射距离,所述映射距离为对所述目标软件的软件综合质量评价,根据软件综合质量评价训练软件综合质量评价模型。
进一步的,所述建立所述语法树与所述软件功能树之间的映射包括:
分别遍历所述软件功能树与所述语法树,查找所述软件功能树中每个软件功能块,及实现其功能的函数,将软件功能块与实现其功能的函数建立映射关系。
进一步的,所述并用所述时间复杂度作为节点之间连线的长度,还包括:
遍历所述语法树,查找每个函数作为节点到所述语法树顶点的最短路径和最长路径,将所述最短路径和所述最长路径分别包括连线的数量作为所述最短路径的值和所述最长路径的值,计算每个函数作为节点的所述最长路径与所述最短路径的差值,将所述差值与所述时间复杂度相加,从而更新整个所述语法树中每个节点之间的连线的长度。
进一步的,所述计算所述映射中所述软件功能树中节点到与其相对应的所述语法树中节点的映射距离之前,还包括:
建立三维坐标系,将所述语法树和所述软件功能树进行归一化处理,从而能够将所述语法树和所述软件功能树映射到所述三维坐标系中,其中,根据所述语法树的顶点和所述软件功能树的顶点,进行标定对齐,设置所述语法树和所述软件功能树之间沿X轴的距离为常量a,且所述语法树和所述软件功能树中所有节点的坐标皆为正数,并且获取所述语法树和所述软件功能树中每个节点的坐标。
进一步的,所述计算所述映射中所述软件功能树中节点到与其相对应的所述语法树中节点的映射距离包括:
通过以下公式计算所述映射距离:
,
其中,L为所述映射距离,所述软件功能树中节点的坐标为(X,Y,Z),所述语法树中节点的坐标为,i为与所述软件功能树中节点存在映射关系的所述语法树中的节点数量,如果所述语法树中存在多个节点与所述软件功能树中节点存在映射关系,则L为所述语法树中多个节点与所述软件功能树中节点的所述映射距离的平均值。
进一步的,还包括:
查找所述语法树和所述软件功能树中存在映射关系的节点,并生成多个映射关系集合,计算每个所述映射关系集合的所述映射距离;
为所述软件功能树中的每个所述软件功能块设置重要程度权值,结合所述重要程度权值,计算所有所述映射距离的加权平均值作为最终映射距离,并与预设软件综合质量评价阈值进行对比,从而评价所述目标软件的质量。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
1. 本发明中之所以将所述语法树中每个节点的时间复杂度作为节点与节点之间连线的长度,目的在于能够直观的体现目标软件的源代码质量,因为时间复杂度越高,代表函数的质量越低,这个函数到其他节点的距离就越远;
2. 本发明将最短路径和最长路径作为重要参数,与所述时间复杂度一起参与软件质量的评价,使得本发明软件综合质量的评价更准确;
3. 本发明将所述语法树和所述软件功能树各个节点巧妙的以坐标系的形式进行呈现,并且设置标定对齐标准和两个树之间的固定距离,而且在此之前还对所述语法树和所述软件功能树进行归一化处理,从而消除了由树到坐标系的所有噪声,从而在三维坐标系中能够计算所述语法树与所述软件功能树中各个存在映射关系的节点的映射距离,大大减少了模型计算的复杂程度,提高了计算效率;
4. 本发明按照软件功能分成不同的权值,这样计算出来的映射距离才更有意义,更具有代表性,再结合预设软件综合质量评价阈值,从而能够将软件综合质量有梯队的进行评价评分。
附图说明
图1是本发明实施例1的方法的流程图;
图2是本发明实施例2的系统的结构图。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案做详细的说明。
本发明提供的方法可以在如下的终端环境中实施,所述终端可以包括一个或多个如下部件:处理器、存储介质和显示屏。其中,存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现下述实施例所述的方法。
处理器可以包括一个或者多个处理核心。处理器利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储介质内的指令、程序、代码集或指令集,以及调用存储在存储介质内的数据,执行终端的各种功能和处理数据。
存储介质可以包括随机存储介质(Random Access Memory,RAM),也可以包括只读存储介质(Read-Only Memory,ROM)。存储介质可用于存储指令、程序、代码、代码集或指令。
显示屏用于显示各个应用程序的用户界面。
除此之外,本领域技术人员可以理解,上述终端的结构并不构成对终端的限定,终端可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,终端中还包括射频电路、输入单元、传感器、音频电路、电源等部件,在此不再赘述。
实施例1
如图1所示,本发明实施例提供一种软件综合质量评价模型的训练方法,包括:
步骤101,提取目标软件的源代码中所有的函数,并计算每个函数的时间复杂度,根据所述所有的函数,生成所述源代码的语法树,其中所述语法树中每个函数为一个节点,并用所述时间复杂度作为节点之间连线的长度;本发明中之所以将所述语法树中每个节点的时间复杂度作为节点与节点之间连线的长度,目的在于能够直观的体现目标软件的源代码质量,因为时间复杂度越高,代表函数的质量越低,这个函数到其他节点的距离就越远。
具体的,所述并用所述时间复杂度作为节点之间连线的长度,还包括:
遍历所述语法树,查找每个函数作为节点到所述语法树顶点的最短路径和最长路径,将所述最短路径和所述最长路径分别包括连线的数量作为所述最短路径的值和所述最长路径的值,计算每个函数作为节点的所述最长路径与所述最短路径的差值,将所述差值与所述时间复杂度相加,从而更新整个所述语法树中每个节点之间的连线的长度。本发明中如果所述语法树顶点到某一节点的最短路径和最长路径相同,则从所述语法树顶点到所述某一节点的才用了效率最高的编程方式,如果所述最短路径和所述最长路径不同,则说明从所述语法树顶点到所述某一节点存在冗余的中间结点,那么存在中间节点的路径的效率就会降低,从而影响整个软件的执行速度,因此本发明将最短路径和最长路径作为重要参数,与所述时间复杂度一起参与软件质量的评价,使得本发明软件综合质量的评价更准确。
步骤102,将所述目标软件按照包含的软件功能进行拆分,生成多个软件功能块,计算运行每个所述软件功能块所需要的计算资源,按照各个所述软件功能块之间的联系,生成软件功能树,其中所述软件功能树中每个所述软件功能块为一个节点,并用所述计算资源作为节点之间连线的长度;本发明中之所以将所述软件功能树中每个节点的计算资源作为节点与节点之间连线的长度,目的在于能够直观的体现目标软件的每个软件功能块的设计是否合理,相应的,反应在代码层的代码编写质量是否过关,因为不合理的软件功能设计或者代码编写都会影响软件功能对计算资源的需求程度,因为软件功能需求的计算资源越多,代表软件功能设计或底层代码实现上的质量越低,这个软件功能块到其他节点的距离就越远。
步骤103,建立所述语法树与所述软件功能树之间的映射,计算所述映射中所述软件功能树中节点到与其相对应的所述语法树中节点的映射距离,所述映射距离为对所述目标软件的软件综合质量评价,根据软件综合质量评价训练软件综合质量评价模型。
具体的,所述计算所述映射中所述软件功能树中节点到与其相对应的所述语法树中节点的映射距离之前,还包括:
建立三维坐标系,将所述语法树和所述软件功能树进行归一化处理,从而能够将所述语法树和所述软件功能树映射到所述三维坐标系中,其中,根据所述语法树的顶点和所述软件功能树的顶点,进行标定对齐,设置所述语法树和所述软件功能树之间沿X轴的距离为常量a,且所述语法树和所述软件功能树中所有节点的坐标皆为正数,并且获取所述语法树和所述软件功能树中每个节点的坐标。本发明将所述语法树和所述软件功能树各个节点巧妙的以坐标系的形式进行呈现,并且设置标定对齐标准和两个树之间的固定距离,而且在此之前还对所述语法树和所述软件功能树进行归一化处理,从而消除了由树到坐标系的所有噪声,从而在三维坐标系中能够计算所述语法树与所述软件功能树中各个存在映射关系的节点的映射距离,大大减少了模型计算的复杂程度,提高了计算效率。
具体的,所述建立所述语法树与所述软件功能树之间的映射包括:
分别遍历所述软件功能树与所述语法树,查找所述软件功能树中每个软件功能块,及实现其功能的函数,将软件功能块与实现其功能的函数建立映射关系。
具体的,所述计算所述映射中所述软件功能树中节点到与其相对应的所述语法树中节点的映射距离包括:
通过以下公式计算所述映射距离:
,
其中,L为所述映射距离,所述软件功能树中节点的坐标为(X,Y,Z),所述语法树中节点的坐标为,i为与所述软件功能树中节点存在映射关系的所述语法树中的节点数量,如果所述语法树中存在多个节点与所述软件功能树中节点存在映射关系,则L为所述语法树中多个节点与所述软件功能树中节点的所述映射距离的平均值。举例还说,本发明中所述语法树中节点的连线长短和时间复杂度及最长路径、最短路径的差值有关,如果目标软件的源代码中函数质量越差,则所述语法树的长度就越长,反应在三维坐标系中与存在映射关系的所述软件功能树中相应节点的映射距离就越远,映射距离越远,在源代码的函数层面上的质量就越差,反之,映射距离越短,函数的质量越高,同样的,运行软件功能块所需要的计算资源越多,则所述软件功能树也就越长,则与其相对应的所述语法树的节点的映射距离也就越长,映射距离越长,所体现的软件在功能设计上的质量就越差,反之,映射距离越短,软件功能的质量越高,另外,众所周知,有些时候多个函数的组合才能实现有一个软件功能,因此所述软件功能树中的某一个节点很可能跟所述语法树中多个节点存在映射关系,那么就可以求得多个节点之间的平均映射距离作为软件功能节点与函数节点的最终映射距离。
具体的,步骤103还包括:
查找所述语法树和所述软件功能树中存在映射关系的节点,并生成多个映射关系集合,计算每个所述映射关系集合的所述映射距离;
为所述软件功能树中的每个所述软件功能块设置重要程度权值,结合所述重要程度权值,计算所有所述映射距离的加权平均值作为最终映射距离,并与预设软件综合质量评价阈值进行对比,从而评价所述目标软件的质量。举例来说,任何一款软件的功能重要程度都是不一样的,例如,音乐软件最重要的软件功能就是听音乐,但是音乐软件还可能包含其他功能,因为评价音乐软件质量的时候就不能一概而论,需要根据不同软件功能设置相应的重要程度权值,那么就需要将听音乐的功能的权值设置成最高,这样计算出来的映射距离才更有意义,更具有代表性,再结合预设软件综合质量评价阈值,从而能够将软件综合质量有梯队的进行评价评分。
实施例2
如图2所示,本发明实施例还提供一种软件综合质量评价模型的训练方法,包括:
提取语法树模块,用于提取目标软件的源代码中所有的函数,并计算每个函数的时间复杂度,根据所述所有的函数,生成所述源代码的语法树,其中所述语法树中每个函数为一个节点,并用所述时间复杂度作为节点之间连线的长度;本发明中之所以将所述语法树中每个节点的时间复杂度作为节点与节点之间连线的长度,目的在于能够直观的体现目标软件的源代码质量,因为时间复杂度越高,代表函数的质量越低,这个函数到其他节点的距离就越远。
具体的,所述并用所述时间复杂度作为节点之间连线的长度,还包括:
遍历所述语法树,查找每个函数作为节点到所述语法树顶点的最短路径和最长路径,将所述最短路径和所述最长路径分别包括连线的数量作为所述最短路径的值和所述最长路径的值,计算每个函数作为节点的所述最长路径与所述最短路径的差值,将所述差值与所述时间复杂度相加,从而更新整个所述语法树中每个节点之间的连线的长度。本发明中如果所述语法树顶点到某一节点的最短路径和最长路径相同,则从所述语法树顶点到所述某一节点的才用了效率最高的编程方式,如果所述最短路径和所述最长路径不同,则说明从所述语法树顶点到所述某一节点存在冗余的中间结点,那么存在中间节点的路径的效率就会降低,从而影响整个软件的执行速度,因此本发明将最短路径和最长路径作为重要参数,与所述时间复杂度一起参与软件质量的评价,使得本发明软件综合质量的评价更准确。
提取软件功能树模块,用于将所述目标软件按照包含的软件功能进行拆分,生成多个软件功能块,计算运行每个所述软件功能块所需要的计算资源,按照各个所述软件功能块之间的联系,生成软件功能树,其中所述软件功能树中每个所述软件功能块为一个节点,并用所述计算资源作为节点之间连线的长度;本发明中之所以将所述软件功能树中每个节点的计算资源作为节点与节点之间连线的长度,目的在于能够直观的体现目标软件的每个软件功能块的设计是否合理,相应的,反应在代码层的代码编写质量是否过关,因为不合理的软件功能设计或者代码编写都会影响软件功能对计算资源的需求程度,因为软件功能需求的计算资源越多,代表软件功能设计或底层代码实现上的质量越低,这个软件功能块到其他节点的距离就越远。
训练模型模块,用于建立所述语法树与所述软件功能树之间的映射,计算所述映射中所述软件功能树中节点到与其相对应的所述语法树中节点的映射距离,所述映射距离为对所述目标软件的软件综合质量评价,根据软件综合质量评价训练软件综合质量评价模型。
具体的,所述计算所述映射中所述软件功能树中节点到与其相对应的所述语法树中节点的映射距离之前,还包括:
建立三维坐标系,将所述语法树和所述软件功能树进行归一化处理,从而能够将所述语法树和所述软件功能树映射到所述三维坐标系中,其中,根据所述语法树的顶点和所述软件功能树的顶点,进行标定对齐,设置所述语法树和所述软件功能树之间沿X轴的距离为常量a,且所述语法树和所述软件功能树中所有节点的坐标皆为正数,并且获取所述语法树和所述软件功能树中每个节点的坐标。本发明将所述语法树和所述软件功能树各个节点巧妙的以坐标系的形式进行呈现,并且设置标定对齐标准和两个树之间的固定距离,而且在此之前还对所述语法树和所述软件功能树进行归一化处理,从而消除了由树到坐标系的所有噪声,从而在三维坐标系中能够计算所述语法树与所述软件功能树中各个存在映射关系的节点的映射距离,大大减少了模型计算的复杂程度,提高了计算效率。
具体的,所述建立所述语法树与所述软件功能树之间的映射包括:
分别遍历所述软件功能树与所述语法树,查找所述软件功能树中每个软件功能块,及实现其功能的函数,将软件功能块与实现其功能的函数建立映射关系。
具体的,所述计算所述映射中所述软件功能树中节点到与其相对应的所述语法树中节点的映射距离包括:
通过以下公式计算所述映射距离:
,
其中,L为所述映射距离,所述软件功能树中节点的坐标为(X,Y,Z),所述语法树中节点的坐标为,i为与所述软件功能树中节点存在映射关系的所述语法树中的节点数量,如果所述语法树中存在多个节点与所述软件功能树中节点存在映射关系,则L为所述语法树中多个节点与所述软件功能树中节点的所述映射距离的平均值。举例还说,本发明中所述语法树中节点的连线长短和时间复杂度及最长路径、最短路径的差值有关,如果目标软件的源代码中函数质量越差,则所述语法树的长度就越长,反应在三维坐标系中与存在映射关系的所述软件功能树中相应节点的映射距离就越远,映射距离越远,在源代码的函数层面上的质量就越差,反之,映射距离越短,函数的质量越高,同样的,运行软件功能块所需要的计算资源越多,则所述软件功能树也就越长,则与其相对应的所述语法树的节点的映射距离也就越长,映射距离越长,所体现的软件在功能设计上的质量就越差,反之,映射距离越短,软件功能的质量越高,另外,众所周知,有些时候多个函数的组合才能实现有一个软件功能,因此所述软件功能树中的某一个节点很可能跟所述语法树中多个节点存在映射关系,那么就可以求得多个节点之间的平均映射距离作为软件功能节点与函数节点的最终映射距离。
具体的,训练模型模块还包括:
查找所述语法树和所述软件功能树中存在映射关系的节点,并生成多个映射关系集合,计算每个所述映射关系集合的所述映射距离;
为所述软件功能树中的每个所述软件功能块设置重要程度权值,结合所述重要程度权值,计算所有所述映射距离的加权平均值作为最终映射距离,并与预设软件综合质量评价阈值进行对比,从而评价所述目标软件的质量。举例来说,任何一款软件的功能重要程度都是不一样的,例如,音乐软件最重要的软件功能就是听音乐,但是音乐软件还可能包含其他功能,因为评价音乐软件质量的时候就不能一概而论,需要根据不同软件功能设置相应的重要程度权值,那么就需要将听音乐的功能的权值设置成最高,这样计算出来的映射距离才更有意义,更具有代表性,再结合预设软件综合质量评价阈值,从而能够将软件综合质量有梯队的进行评价评分。
实施例3
本发明实施例还提出一种存储介质,存储有多条指令,所述指令用于实现所述的一种软件综合质量评价模型的训练方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:步骤101,提取目标软件的源代码中所有的函数,并计算每个函数的时间复杂度,根据所述所有的函数,生成所述源代码的语法树,其中所述语法树中每个函数为一个节点,并用所述时间复杂度作为节点之间连线的长度;本发明中之所以将所述语法树中每个节点的时间复杂度作为节点与节点之间连线的长度,目的在于能够直观的体现目标软件的源代码质量,因为时间复杂度越高,代表函数的质量越低,这个函数到其他节点的距离就越远。
具体的,所述并用所述时间复杂度作为节点之间连线的长度,还包括:
遍历所述语法树,查找每个函数作为节点到所述语法树顶点的最短路径和最长路径,将所述最短路径和所述最长路径分别包括连线的数量作为所述最短路径的值和所述最长路径的值,计算每个函数作为节点的所述最长路径与所述最短路径的差值,将所述差值与所述时间复杂度相加,从而更新整个所述语法树中每个节点之间的连线的长度。本发明中如果所述语法树顶点到某一节点的最短路径和最长路径相同,则从所述语法树顶点到所述某一节点的才用了效率最高的编程方式,如果所述最短路径和所述最长路径不同,则说明从所述语法树顶点到所述某一节点存在冗余的中间结点,那么存在中间节点的路径的效率就会降低,从而影响整个软件的执行速度,因此本发明将最短路径和最长路径作为重要参数,与所述时间复杂度一起参与软件质量的评价,使得本发明软件综合质量的评价更准确。
步骤102,将所述目标软件按照包含的软件功能进行拆分,生成多个软件功能块,计算运行每个所述软件功能块所需要的计算资源,按照各个所述软件功能块之间的联系,生成软件功能树,其中所述软件功能树中每个所述软件功能块为一个节点,并用所述计算资源作为节点之间连线的长度;本发明中之所以将所述软件功能树中每个节点的计算资源作为节点与节点之间连线的长度,目的在于能够直观的体现目标软件的每个软件功能块的设计是否合理,相应的,反应在代码层的代码编写质量是否过关,因为不合理的软件功能设计或者代码编写都会影响软件功能对计算资源的需求程度,因为软件功能需求的计算资源越多,代表软件功能设计或底层代码实现上的质量越低,这个软件功能块到其他节点的距离就越远。
步骤103,建立所述语法树与所述软件功能树之间的映射,计算所述映射中所述软件功能树中节点到与其相对应的所述语法树中节点的映射距离,所述映射距离为对所述目标软件的软件综合质量评价,根据软件综合质量评价训练软件综合质量评价模型。
具体的,所述计算所述映射中所述软件功能树中节点到与其相对应的所述语法树中节点的映射距离之前,还包括:
建立三维坐标系,将所述语法树和所述软件功能树进行归一化处理,从而能够将所述语法树和所述软件功能树映射到所述三维坐标系中,其中,根据所述语法树的顶点和所述软件功能树的顶点,进行标定对齐,设置所述语法树和所述软件功能树之间沿X轴的距离为常量a,且所述语法树和所述软件功能树中所有节点的坐标皆为正数,并且获取所述语法树和所述软件功能树中每个节点的坐标。本发明将所述语法树和所述软件功能树各个节点巧妙的以坐标系的形式进行呈现,并且设置标定对齐标准和两个树之间的固定距离,而且在此之前还对所述语法树和所述软件功能树进行归一化处理,从而消除了由树到坐标系的所有噪声,从而在三维坐标系中能够计算所述语法树与所述软件功能树中各个存在映射关系的节点的映射距离,大大减少了模型计算的复杂程度,提高了计算效率。
具体的,所述建立所述语法树与所述软件功能树之间的映射包括:
分别遍历所述软件功能树与所述语法树,查找所述软件功能树中每个软件功能块,及实现其功能的函数,将软件功能块与实现其功能的函数建立映射关系。
具体的,所述计算所述映射中所述软件功能树中节点到与其相对应的所述语法树中节点的映射距离包括:
通过以下公式计算所述映射距离:
,
其中,L为所述映射距离,所述软件功能树中节点的坐标为(X,Y,Z),所述语法树中节点的坐标为,i为与所述软件功能树中节点存在映射关系的所述语法树中的节点数量,如果所述语法树中存在多个节点与所述软件功能树中节点存在映射关系,则L为所述语法树中多个节点与所述软件功能树中节点的所述映射距离的平均值。举例还说,本发明中所述语法树中节点的连线长短和时间复杂度及最长路径、最短路径的差值有关,如果目标软件的源代码中函数质量越差,则所述语法树的长度就越长,反应在三维坐标系中与存在映射关系的所述软件功能树中相应节点的映射距离就越远,映射距离越远,在源代码的函数层面上的质量就越差,反之,映射距离越短,函数的质量越高,同样的,运行软件功能块所需要的计算资源越多,则所述软件功能树也就越长,则与其相对应的所述语法树的节点的映射距离也就越长,映射距离越长,所体现的软件在功能设计上的质量就越差,反之,映射距离越短,软件功能的质量越高,另外,众所周知,有些时候多个函数的组合才能实现有一个软件功能,因此所述软件功能树中的某一个节点很可能跟所述语法树中多个节点存在映射关系,那么就可以求得多个节点之间的平均映射距离作为软件功能节点与函数节点的最终映射距离。
具体的,步骤103还包括:
查找所述语法树和所述软件功能树中存在映射关系的节点,并生成多个映射关系集合,计算每个所述映射关系集合的所述映射距离;
为所述软件功能树中的每个所述软件功能块设置重要程度权值,结合所述重要程度权值,计算所有所述映射距离的加权平均值作为最终映射距离,并与预设软件综合质量评价阈值进行对比,从而评价所述目标软件的质量。举例来说,任何一款软件的功能重要程度都是不一样的,例如,音乐软件最重要的软件功能就是听音乐,但是音乐软件还可能包含其他功能,因为评价音乐软件质量的时候就不能一概而论,需要根据不同软件功能设置相应的重要程度权值,那么就需要将听音乐的功能的权值设置成最高,这样计算出来的映射距离才更有意义,更具有代表性,再结合预设软件综合质量评价阈值,从而能够将软件综合质量有梯队的进行评价评分。
实施例4
本发明实施例还提出一种电子设备,包括处理器和与所述处理器连接的存储介质,所述存储介质存储有多条指令,所述指令可被所述处理器加载并执行,以使所述处理器能够执行所述的一种软件综合质量评价模型的训练方法。
具体的,本实施例的电子设备可以是计算机终端,所述计算机终端可以包括:一个或多个处理器、以及存储介质。
其中,存储介质可用于存储软件程序以及模块,如本发明实施例中的一种软件综合质量评价模型的训练方法,对应的程序指令/模块,处理器通过运行存储在存储介质内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的一种软件综合质量评价模型的训练方法。存储介质可包括高速随机存储介质,还可以包括非易失性存储介质,如一个或者多个磁性存储系统、闪存、或者其他非易失性固态存储介质。在一些实例中,存储介质可进一步包括相对于处理器远程设置的存储介质,这些远程存储介质可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输系统调用存储介质存储的信息及应用程序,以执行下述步骤:步骤101,提取目标软件的源代码中所有的函数,并计算每个函数的时间复杂度,根据所述所有的函数,生成所述源代码的语法树,其中所述语法树中每个函数为一个节点,并用所述时间复杂度作为节点之间连线的长度;本发明中之所以将所述语法树中每个节点的时间复杂度作为节点与节点之间连线的长度,目的在于能够直观的体现目标软件的源代码质量,因为时间复杂度越高,代表函数的质量越低,这个函数到其他节点的距离就越远。
具体的,所述并用所述时间复杂度作为节点之间连线的长度,还包括:
遍历所述语法树,查找每个函数作为节点到所述语法树顶点的最短路径和最长路径,将所述最短路径和所述最长路径分别包括连线的数量作为所述最短路径的值和所述最长路径的值,计算每个函数作为节点的所述最长路径与所述最短路径的差值,将所述差值与所述时间复杂度相加,从而更新整个所述语法树中每个节点之间的连线的长度。本发明中如果所述语法树顶点到某一节点的最短路径和最长路径相同,则从所述语法树顶点到所述某一节点的才用了效率最高的编程方式,如果所述最短路径和所述最长路径不同,则说明从所述语法树顶点到所述某一节点存在冗余的中间结点,那么存在中间节点的路径的效率就会降低,从而影响整个软件的执行速度,因此本发明将最短路径和最长路径作为重要参数,与所述时间复杂度一起参与软件质量的评价,使得本发明软件综合质量的评价更准确。
步骤102,将所述目标软件按照包含的软件功能进行拆分,生成多个软件功能块,计算运行每个所述软件功能块所需要的计算资源,按照各个所述软件功能块之间的联系,生成软件功能树,其中所述软件功能树中每个所述软件功能块为一个节点,并用所述计算资源作为节点之间连线的长度;本发明中之所以将所述软件功能树中每个节点的计算资源作为节点与节点之间连线的长度,目的在于能够直观的体现目标软件的每个软件功能块的设计是否合理,相应的,反应在代码层的代码编写质量是否过关,因为不合理的软件功能设计或者代码编写都会影响软件功能对计算资源的需求程度,因为软件功能需求的计算资源越多,代表软件功能设计或底层代码实现上的质量越低,这个软件功能块到其他节点的距离就越远。
步骤103,建立所述语法树与所述软件功能树之间的映射,计算所述映射中所述软件功能树中节点到与其相对应的所述语法树中节点的映射距离,所述映射距离为对所述目标软件的软件综合质量评价,根据软件综合质量评价训练软件综合质量评价模型。
具体的,所述计算所述映射中所述软件功能树中节点到与其相对应的所述语法树中节点的映射距离之前,还包括:
建立三维坐标系,将所述语法树和所述软件功能树进行归一化处理,从而能够将所述语法树和所述软件功能树映射到所述三维坐标系中,其中,根据所述语法树的顶点和所述软件功能树的顶点,进行标定对齐,设置所述语法树和所述软件功能树之间沿X轴的距离为常量a,且所述语法树和所述软件功能树中所有节点的坐标皆为正数,并且获取所述语法树和所述软件功能树中每个节点的坐标。本发明将所述语法树和所述软件功能树各个节点巧妙的以坐标系的形式进行呈现,并且设置标定对齐标准和两个树之间的固定距离,而且在此之前还对所述语法树和所述软件功能树进行归一化处理,从而消除了由树到坐标系的所有噪声,从而在三维坐标系中能够计算所述语法树与所述软件功能树中各个存在映射关系的节点的映射距离,大大减少了模型计算的复杂程度,提高了计算效率。
具体的,所述建立所述语法树与所述软件功能树之间的映射包括:
分别遍历所述软件功能树与所述语法树,查找所述软件功能树中每个软件功能块,及实现其功能的函数,将软件功能块与实现其功能的函数建立映射关系。
具体的,所述计算所述映射中所述软件功能树中节点到与其相对应的所述语法树中节点的映射距离包括:
通过以下公式计算所述映射距离:
,
其中,L为所述映射距离,所述软件功能树中节点的坐标为(X,Y,Z),所述语法树中节点的坐标为,i为与所述软件功能树中节点存在映射关系的所述语法树中的节点数量,如果所述语法树中存在多个节点与所述软件功能树中节点存在映射关系,则L为所述语法树中多个节点与所述软件功能树中节点的所述映射距离的平均值。举例还说,本发明中所述语法树中节点的连线长短和时间复杂度及最长路径、最短路径的差值有关,如果目标软件的源代码中函数质量越差,则所述语法树的长度就越长,反应在三维坐标系中与存在映射关系的所述软件功能树中相应节点的映射距离就越远,映射距离越远,在源代码的函数层面上的质量就越差,反之,映射距离越短,函数的质量越高,同样的,运行软件功能块所需要的计算资源越多,则所述软件功能树也就越长,则与其相对应的所述语法树的节点的映射距离也就越长,映射距离越长,所体现的软件在功能设计上的质量就越差,反之,映射距离越短,软件功能的质量越高,另外,众所周知,有些时候多个函数的组合才能实现有一个软件功能,因此所述软件功能树中的某一个节点很可能跟所述语法树中多个节点存在映射关系,那么就可以求得多个节点之间的平均映射距离作为软件功能节点与函数节点的最终映射距离。
具体的,步骤103还包括:
查找所述语法树和所述软件功能树中存在映射关系的节点,并生成多个映射关系集合,计算每个所述映射关系集合的所述映射距离;
为所述软件功能树中的每个所述软件功能块设置重要程度权值,结合所述重要程度权值,计算所有所述映射距离的加权平均值作为最终映射距离,并与预设软件综合质量评价阈值进行对比,从而评价所述目标软件的质量。举例来说,任何一款软件的功能重要程度都是不一样的,例如,音乐软件最重要的软件功能就是听音乐,但是音乐软件还可能包含其他功能,因为评价音乐软件质量的时候就不能一概而论,需要根据不同软件功能设置相应的重要程度权值,那么就需要将听音乐的功能的权值设置成最高,这样计算出来的映射距离才更有意义,更具有代表性,再结合预设软件综合质量评价阈值,从而能够将软件综合质量有梯队的进行评价评分。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本发明所提供的几个实施例中,应所述理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的系统实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的全部或部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储介质(ROM,Read-Only Memory)、随机存取存储介质(RAM,RandomAccess Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (10)
1.一种软件综合质量评价模型的训练方法,其特征在于,包括:
提取目标软件的源代码中所有的函数,并计算每个函数的时间复杂度,根据所述所有的函数,生成所述源代码的语法树,其中所述语法树中每个函数为一个节点,并用所述时间复杂度作为节点之间连线的长度;
将所述目标软件按照包含的软件功能进行拆分,生成多个软件功能块,计算运行每个所述软件功能块所需要的计算资源,按照各个所述软件功能块之间的联系,生成软件功能树,其中所述软件功能树中每个所述软件功能块为一个节点,并用所述计算资源作为节点之间连线的长度;
建立所述语法树与所述软件功能树之间的映射,计算所述映射中所述软件功能树中节点到与其相对应的所述语法树中节点的映射距离,所述映射距离为对所述目标软件的软件综合质量评价,根据软件综合质量评价训练软件综合质量评价模型。
2.如权利要求1所述的一种软件综合质量评价模型的训练方法,其特征在于,所述建立所述语法树与所述软件功能树之间的映射包括:
分别遍历所述软件功能树与所述语法树,查找所述软件功能树中每个软件功能块,及实现其功能的函数,将软件功能块与实现其功能的函数建立映射关系。
3.如权利要求1所述的一种软件综合质量评价模型的训练方法,其特征在于,所述并用所述时间复杂度作为节点之间连线的长度,还包括:
遍历所述语法树,查找每个函数作为节点到所述语法树顶点的最短路径和最长路径,将所述最短路径和所述最长路径分别包括连线的数量作为所述最短路径的值和所述最长路径的值,计算每个函数作为节点的所述最长路径与所述最短路径的差值,将所述差值与所述时间复杂度相加,从而更新整个所述语法树中每个节点之间的连线的长度。
4.如权利要求1所述的一种软件综合质量评价模型的训练方法,其特征在于,所述计算所述映射中所述软件功能树中节点到与其相对应的所述语法树中节点的映射距离之前,还包括:
建立三维坐标系,将所述语法树和所述软件功能树进行归一化处理,从而能够将所述语法树和所述软件功能树映射到所述三维坐标系中,其中,根据所述语法树的顶点和所述软件功能树的顶点,进行标定对齐,设置所述语法树和所述软件功能树之间沿X轴的距离为常量a,且所述语法树和所述软件功能树中所有节点的坐标皆为正数,并且获取所述语法树和所述软件功能树中每个节点的坐标。
5.如权利要求4所述的一种软件综合质量评价模型的训练方法,其特征在于,所述计算所述映射中所述软件功能树中节点到与其相对应的所述语法树中节点的映射距离包括:
通过以下公式计算所述映射距离:
其中,L为所述映射距离,所述软件功能树中节点的坐标为(X,Y,Z),所述语法树中节点的坐标为,i为与所述软件功能树中节点存在映射关系的所述语法树中的节点数量,如果所述语法树中存在多个节点与所述软件功能树中节点存在映射关系,则L为所述语法树中多个节点与所述软件功能树中节点的所述映射距离的平均值。
6.如权利要求5所述的一种软件综合质量评价模型的训练方法,其特征在于,还包括:
查找所述语法树和所述软件功能树中存在映射关系的节点,并生成多个映射关系集合,计算每个所述映射关系集合的所述映射距离;
为所述软件功能树中的每个所述软件功能块设置重要程度权值,结合所述重要程度权值,计算所有所述映射距离的加权平均值作为最终映射距离,并与预设软件综合质量评价阈值进行对比,从而评价所述目标软件的质量。
7.一种软件综合质量评价模型的训练系统,其特征在于,包括:
提取语法树模块,用于提取目标软件的源代码中所有的函数,并计算每个函数的时间复杂度,根据所述所有的函数,生成所述源代码的语法树,其中所述语法树中每个函数为一个节点,并用所述时间复杂度作为节点之间连线的长度;
提取软件功能树模块,用于将所述目标软件按照包含的软件功能进行拆分,生成多个软件功能块,计算运行每个所述软件功能块所需要的计算资源,按照各个所述软件功能块之间的联系,生成软件功能树,其中所述软件功能树中每个所述软件功能块为一个节点,并用所述计算资源作为节点之间连线的长度;
训练模型模块,用于建立所述语法树与所述软件功能树之间的映射,计算所述映射中所述软件功能树中节点到与其相对应的所述语法树中节点的映射距离,所述映射距离为对所述目标软件的软件综合质量评价,根据软件综合质量评价训练软件综合质量评价模型。
8.如权利要求7所述的一种软件综合质量评价模型的训练系统,其特征在于,所述建立所述语法树与所述软件功能树之间的映射包括:
分别遍历所述软件功能树与所述语法树,查找所述软件功能树中每个软件功能块,及实现其功能的函数,将软件功能块与实现其功能的函数建立映射关系。
9.如权利要求7所述的一种软件综合质量评价模型的训练系统,其特征在于,所述并用所述时间复杂度作为节点之间连线的长度,还包括:
遍历所述语法树,查找每个函数作为节点到所述语法树顶点的最短路径和最长路径,将所述最短路径和所述最长路径分别包括连线的数量作为所述最短路径的值和所述最长路径的值,计算每个函数作为节点的所述最长路径与所述最短路径的差值,将所述差值与所述时间复杂度相加,从而更新整个所述语法树中每个节点之间的连线的长度。
10.如权利要求7所述的一种软件综合质量评价模型的训练系统,其特征在于,所述计算所述映射中所述软件功能树中节点到与其相对应的所述语法树中节点的映射距离之前,还包括:
建立三维坐标系,将所述语法树和所述软件功能树进行归一化处理,从而能够将所述语法树和所述软件功能树映射到所述三维坐标系中,其中,根据所述语法树的顶点和所述软件功能树的顶点,进行标定对齐,设置所述语法树和所述软件功能树之间沿X轴的距离为常量a,且所述语法树和所述软件功能树中所有节点的坐标皆为正数,并且获取所述语法树和所述软件功能树中每个节点的坐标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310256148.0A CN115983719B (zh) | 2023-03-16 | 2023-03-16 | 一种软件综合质量评价模型的训练方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310256148.0A CN115983719B (zh) | 2023-03-16 | 2023-03-16 | 一种软件综合质量评价模型的训练方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115983719A true CN115983719A (zh) | 2023-04-18 |
CN115983719B CN115983719B (zh) | 2023-07-21 |
Family
ID=85958200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310256148.0A Active CN115983719B (zh) | 2023-03-16 | 2023-03-16 | 一种软件综合质量评价模型的训练方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115983719B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101261604A (zh) * | 2008-04-09 | 2008-09-10 | 中兴通讯股份有限公司 | 一种软件质量评价装置及软件质量评价的定量分析方法 |
CN107239396A (zh) * | 2017-05-11 | 2017-10-10 | 东南大学 | 一种基于代码圈复杂度度量的软件演化评估方法 |
WO2017181286A1 (en) * | 2016-04-22 | 2017-10-26 | Lin Tan | Method for determining defects and vulnerabilities in software code |
CN108509338A (zh) * | 2018-03-17 | 2018-09-07 | 东南大学 | 一种基于多层次变更分析的软件演化评估系统及方法 |
CN110109821A (zh) * | 2019-03-19 | 2019-08-09 | 深圳壹账通智能科技有限公司 | 软件程序质量评价方法、装置、计算机设备及存储介质 |
CN110515823A (zh) * | 2018-05-21 | 2019-11-29 | 百度在线网络技术(北京)有限公司 | 程序代码复杂度评估方法和装置 |
WO2019233112A1 (zh) * | 2018-06-05 | 2019-12-12 | 北京航空航天大学 | 一种软件源代码的向量化表征方法 |
CN111767212A (zh) * | 2020-06-17 | 2020-10-13 | 中国船舶重工集团公司第七一九研究所 | 一种软件代码质量评价方法、装置、设备及存储介质 |
CN113791757A (zh) * | 2021-07-14 | 2021-12-14 | 北京邮电大学 | 软件需求和代码映射方法及系统 |
-
2023
- 2023-03-16 CN CN202310256148.0A patent/CN115983719B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101261604A (zh) * | 2008-04-09 | 2008-09-10 | 中兴通讯股份有限公司 | 一种软件质量评价装置及软件质量评价的定量分析方法 |
WO2017181286A1 (en) * | 2016-04-22 | 2017-10-26 | Lin Tan | Method for determining defects and vulnerabilities in software code |
CN107239396A (zh) * | 2017-05-11 | 2017-10-10 | 东南大学 | 一种基于代码圈复杂度度量的软件演化评估方法 |
CN108509338A (zh) * | 2018-03-17 | 2018-09-07 | 东南大学 | 一种基于多层次变更分析的软件演化评估系统及方法 |
CN110515823A (zh) * | 2018-05-21 | 2019-11-29 | 百度在线网络技术(北京)有限公司 | 程序代码复杂度评估方法和装置 |
WO2019233112A1 (zh) * | 2018-06-05 | 2019-12-12 | 北京航空航天大学 | 一种软件源代码的向量化表征方法 |
CN110109821A (zh) * | 2019-03-19 | 2019-08-09 | 深圳壹账通智能科技有限公司 | 软件程序质量评价方法、装置、计算机设备及存储介质 |
CN111767212A (zh) * | 2020-06-17 | 2020-10-13 | 中国船舶重工集团公司第七一九研究所 | 一种软件代码质量评价方法、装置、设备及存储介质 |
CN113791757A (zh) * | 2021-07-14 | 2021-12-14 | 北京邮电大学 | 软件需求和代码映射方法及系统 |
Non-Patent Citations (3)
Title |
---|
周克强: "基于机器学习的源代码漏洞挖掘", 《中国优秀硕士学位论文全文数据库》 * |
赵凤荣;姚永婷;张丽萍;赵俊奇;: "基于抽象语法树和最优映射算法的克隆代码映射研究", 内蒙古大学学报(自然科学版), no. 05 * |
邓枭: "基于深度学习的源代码缺陷检测研究综述", 《软件学报》, vol. 34, no. 2, pages 625 - 654 * |
Also Published As
Publication number | Publication date |
---|---|
CN115983719B (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9679074B2 (en) | Social genome | |
EP3940580A1 (en) | Multi-modal pre-training model acquisition method and apparatus, electrnonic device and storage medium | |
CN107741976B (zh) | 智能应答方法、装置、介质和电子设备 | |
CN111914569A (zh) | 基于融合图谱的预测方法、装置、电子设备及存储介质 | |
WO2020168851A1 (zh) | 行为识别 | |
CN110555172B (zh) | 用户关系挖掘方法及装置、电子设备和存储介质 | |
CN107133263A (zh) | Poi推荐方法、装置、设备及计算机可读存储介质 | |
CN112765452B (zh) | 搜索推荐方法、装置及电子设备 | |
CN114492831A (zh) | 联邦学习模型的生成方法及其装置 | |
CN112768056A (zh) | 基于联合学习框架的疾病预测模型建立方法和装置 | |
CN113392150A (zh) | 一种基于业务域的数据表展示方法、装置、设备及介质 | |
CN115983719A (zh) | 一种软件综合质量评价模型的训练方法及系统 | |
CN114268625B (zh) | 特征选择方法、装置、设备及存储介质 | |
CN114357180A (zh) | 知识图谱的更新方法及电子设备 | |
KR20230000461A (ko) | 금융 상담 데이터에 대한 인공지능 학습을 통한 금융 상품 추천 시스템 및 방법 | |
CN113742581A (zh) | 榜单的生成方法、装置、电子设备及可读存储介质 | |
KR20220061835A (ko) | 하드웨어 가속 장치 및 방법 | |
CN112418654A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
US20230019202A1 (en) | Method and electronic device for generating molecule set, and storage medium thereof | |
CN113807403B (zh) | 模型训练的方法、装置、计算机设备及存储介质 | |
CN114547448B (zh) | 数据处理、模型训练方法、装置、设备、存储介质及程序 | |
CN113457164B (zh) | 虚拟对象异常检测方法和装置、可读存储介质、电子设备 | |
US20220286416A1 (en) | Method and apparatus for generating account intimacy | |
CN113360798B (zh) | 泛滥数据识别方法、装置、设备和介质 | |
CN110414932B (zh) | 一种信息处理方法及通信设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |