[go: up one dir, main page]

CN116303026B - A software architecture corruption prediction method, device and equipment based on evolution history - Google Patents

A software architecture corruption prediction method, device and equipment based on evolution history Download PDF

Info

Publication number
CN116303026B
CN116303026B CN202310271213.7A CN202310271213A CN116303026B CN 116303026 B CN116303026 B CN 116303026B CN 202310271213 A CN202310271213 A CN 202310271213A CN 116303026 B CN116303026 B CN 116303026B
Authority
CN
China
Prior art keywords
evolution
software architecture
corruption
history
quality
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.)
Active
Application number
CN202310271213.7A
Other languages
Chinese (zh)
Other versions
CN116303026A (en
Inventor
王桐
陈业斌
李雪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui University of Technology AHUT
Original Assignee
Anhui University of Technology AHUT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Anhui University of Technology AHUT filed Critical Anhui University of Technology AHUT
Priority to CN202310271213.7A priority Critical patent/CN116303026B/en
Publication of CN116303026A publication Critical patent/CN116303026A/en
Application granted granted Critical
Publication of CN116303026B publication Critical patent/CN116303026B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3604Analysis of software for verifying properties of programs
    • G06F11/3608Analysis of software for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及软件度量与评估技术领域,具体涉及一种基于演进历史的软件架构腐化预测方法、装置及设备,其中方法包括如下步骤:基于演进历史提取软件架构每次演进所执行的演进操作,按所述演进操作在演进中的功能分类记录所述演进操作的类型及数量;计算演进前后所述软件架构的质量属性并基于其计算所述软件架构的腐化度;基于所述演进操作、所述质量属性和所述腐化度构建腐化预测模型;提取预演进软件架构的信息,其中,所述信息包括所述预演进架构的演进操作和质量属性;基于所述腐化预测模型和所述信息计算所述预演进架构的腐化度。本发明从软件架构的特性、质量及演进方案出发预测其腐化,使预测结果具有较高的针对性、直观性和准确性。

The present invention relates to the technical field of software measurement and evaluation, and specifically relates to a software architecture corruption prediction method, device and equipment based on evolution history. The method includes the following steps: extracting the evolution operations performed by each evolution of the software architecture based on the evolution history, according to The functional classification of the evolution operation in the evolution records the type and quantity of the evolution operation; calculates the quality attributes of the software architecture before and after evolution and calculates the corruption degree of the software architecture based on it; based on the evolution operation, the Build a corruption prediction model with quality attributes and the corruption degree; extract information about the pre-evolution software architecture, where the information includes evolution operations and quality attributes of the pre-evolution architecture; calculate the result based on the corruption prediction model and the information. Describe the degree of corruption of the pre-evolution architecture. The present invention predicts the corruption of software architecture based on its characteristics, quality and evolution plan, so that the prediction results are highly targeted, intuitive and accurate.

Description

一种基于演进历史的软件架构腐化预测方法、装置及设备A software architecture corruption prediction method, device and equipment based on evolution history

技术领域Technical field

本发明涉及软件度量与评估技术领域,具体涉及一种基于演进历史的软件架构腐化预测方法、装置及设备。The present invention relates to the technical field of software measurement and evaluation, and specifically relates to a software architecture corruption prediction method, device and equipment based on evolution history.

背景技术Background technique

软件架构是软件的重要组成部分。当软件架构发生腐化时,它会造成降低软件的质量、性能等负面影响。因此,在软件架构演进前,基于软件架构的演进历史数据预测当前演进方案是否会造成软件架构腐化,对避免软件架构腐化和节约演进成本具有重要的意义。然而,目前行业内并无能够有效预测软件架构腐化的技术方案。Software architecture is an important part of software. When the software architecture is corrupted, it will have negative impacts such as reducing the quality and performance of the software. Therefore, before the software architecture evolves, predicting whether the current evolution plan will cause software architecture corruption based on the evolution history data of the software architecture is of great significance to avoid software architecture corruption and save evolution costs. However, there is currently no technical solution in the industry that can effectively predict software architecture corruption.

有鉴于此,本发明提出一种基于演进历史的软件架构腐化预测方法。In view of this, the present invention proposes a software architecture corruption prediction method based on evolution history.

发明内容Contents of the invention

本发明的目的在于提供一种基于演进历史的软件架构腐化预测方法、装置及设备,用以解决现有技术中缺少预测软件架构腐化方法的问题,以达到能够有效、准确地预测软件架构腐化度的技术效果。The purpose of the present invention is to provide a method, device and equipment for predicting software architecture corruption based on evolution history, to solve the problem of the lack of prediction methods for software architecture corruption in the prior art, so as to effectively and accurately predict the degree of software architecture corruption. technical effects.

为实现上述目的,本发明提供如下方案:In order to achieve the above objects, the present invention provides the following solutions:

本申请的第一个方面,提供了一种基于演进历史的软件架构腐化预测方法,包括如下步骤:The first aspect of this application provides a software architecture corruption prediction method based on evolution history, which includes the following steps:

基于演进历史提取软件架构每次演进所执行的演进操作;其中,所述演进历史具有多个版本且版本间具有差异性;Extract the evolution operations performed for each evolution of the software architecture based on the evolution history; wherein the evolution history has multiple versions and there are differences between versions;

按所述演进操作在演进中的功能分类记录所述演进操作的类型及数量;其中,所述演进操作的类型包括增加新功能、提升现有功能和修复故障中的至少一种;Record the type and quantity of the evolution operation according to the functional classification of the evolution operation in the evolution; wherein the type of the evolution operation includes at least one of adding new functions, improving existing functions and repairing faults;

分别计算演进前及演进后所述软件架构的质量属性;Calculate the quality attributes of the software architecture before and after evolution respectively;

基于演进前及演进后所述质量属性,计算所述软件架构的腐化度;Calculate the degree of corruption of the software architecture based on the quality attributes before and after evolution;

基于分类后的所述演进操作、所述质量属性和所述腐化度构建腐化预测模型;其中,所述腐化预测模型为描述所述腐化度依赖于所述演进操作和所述质量属性的多元回归方程;A corruption prediction model is constructed based on the classified evolution operation, the quality attribute and the degree of corruption; wherein the corruption prediction model is a multiple regression describing that the degree of corruption depends on the evolution operation and the quality attribute equation;

提取预演进软件架构的信息,其中,所述信息包括所述预演进架构的演进操作和质量属性;Extract information about the pre-evolution software architecture, where the information includes evolution operations and quality attributes of the pre-evolution architecture;

基于所述腐化预测模型和所述信息计算所述预演进架构的腐化度。The corruption degree of the pre-evolution architecture is calculated based on the corruption prediction model and the information.

进一步的,所述质量属性包括易理解性、易修改性和易测试性中的至少一种。Further, the quality attributes include at least one of ease of understanding, ease of modification, and ease of testing.

进一步的,所述分别计算演进前及演进后所述软件架构的质量属性,包括:Further, the separately calculating the quality attributes of the software architecture before and after evolution includes:

计算所述软件架构的易理解性:Calculate the understandability of the software architecture described:

式中,U表示当前软件架构的易理解性,n表示当前软件架构中的组件数,Ci表示当前软件架构中第i个组件,Cj表示当前软件架构中第j个组件,f(Ci,Cj)表示Ci与Cj的调用关系,当Ci调用了Cj,则f(Ci,Cj)的值为1,否则,f(Ci,Cj)的值为0,符号∧表示调用关系;In the formula, U represents the understandability of the current software architecture, n represents the number of components in the current software architecture, C i represents the i-th component in the current software architecture, C j represents the j-th component in the current software architecture, f(C i ,C j ) represents the calling relationship between C i and C j . When C i calls C j , the value of f(C i ,C j ) is 1. Otherwise, the value of f(C i ,C j ) is 0, the symbol ∧ represents the calling relationship;

计算所述软件架构的易修改性:Calculate the ease of modification of the software architecture:

式中,M表示当前软件架构的易修改性,n表示当前软件架构中的组件数,Ci表示当前软件架构中第i个组件,g(Ci)表示Ci在组件层的调用深度;In the formula, M represents the ease of modification of the current software architecture, n represents the number of components in the current software architecture, C i represents the i-th component in the current software architecture, and g(C i ) represents the calling depth of C i at the component layer;

计算所述软件架构的易测试性:Calculate the testability of the software architecture described:

式中,T表示当前软件架构的易测试性,n表示当前软件架构中的组件数,Ci表示当前软件架构中第i个组件,h(Ci)表示Ci是否需要驱动模块,如果需要,h(Ci)的值为1,否则h(Ci)的值为0;In the formula, T represents the testability of the current software architecture, n represents the number of components in the current software architecture, C i represents the i-th component in the current software architecture, h(C i ) represents whether C i needs a driver module, if so , the value of h(C i ) is 1, otherwise the value of h(C i ) is 0;

基于上述三个计算公式分别计算获得演进前及演进后软件架构的易理解性、易测试性和易修改性的度量值。Based on the above three calculation formulas, the measurement values of the understandability, testability and modification of the pre-evolution and post-evolution software architecture are calculated respectively.

进一步的,所述基于演进操作,计算所述软件架构的腐化度,包括:Further, calculating the degree of corruption of the software architecture based on the evolution operation includes:

根据如下公式计算腐化度ED(a,b):Calculate the degree of corruption ED(a,b) according to the following formula:

式中,a表示演进前的软件架构,b表示演进后的软件架构,ED(a,b)表示a与b各个质量属性的差值的平均值,N是软件架构的质量属性的集合,|N|是N中所包含的元素数,Ni_a是a的第i个质量属性的度量值,Ni_b是b的第i个质量属性的度量值In the formula, a represents the software architecture before evolution, b represents the software architecture after evolution, ED (a, b) represents the average difference between the quality attributes of a and b, N is the set of quality attributes of the software architecture, | N| is the number of elements contained in N, N i_a is the measurement value of the i-th quality attribute of a, N i_b is the measurement value of the i-th quality attribute of b

进一步的,所述基于所述演进操作、所述质量属性和所述腐化度构建腐化预测模型,包括:Further, building a corruption prediction model based on the evolution operation, the quality attribute and the degree of corruption includes:

计算所述演进操作、所述质量属性和所述腐化度的权重;Calculate the weight of the evolution operation, the quality attribute and the corruption degree;

基于所述演进操作、所述质量属性和所述腐化度的权重构建腐化预测模型:Build a corruption prediction model based on the weight of the evolution operation, the quality attribute and the degree of corruption:

E=w1*U+w2*M+w3*T+w4*A+w5*I+w6*F+CE=w 1 *U+w 2 *M+w 3 *T+w 4 *A+w 5 *I+w 6 *F+C

式中,E表示软件架构腐化度,w1表示易理解性的权重,w2表示易修改性的权重,w3表示易测试性的权重,w4表示增加新功能的权重,w5表示提升现有功能的权重,w6表示修复故障的权重,C表示一个常数。In the formula, E represents the degree of software architecture corruption, w 1 represents the weight of understandability, w 2 represents the weight of ease of modification, w 3 represents the weight of ease of testing, w 4 represents the weight of adding new functions, and w 5 represents improvement. The weight of existing functions, w 6 represents the weight of repairing faults, and C represents a constant.

进一步的,所述软件架构以组件依赖关系图的形式表示。Further, the software architecture is expressed in the form of a component dependency diagram.

进一步的,所述演进历史的版本数量不少于9个。Further, the number of versions of the evolution history is no less than 9.

本申请的第二个方面,提供一种基于演进历史的软件架构腐化预测装置,包括:The second aspect of this application provides a software architecture corruption prediction device based on evolution history, including:

提取模块,基于演进历史提取软件架构每次演进所执行的演进操作;其中,所述演进历史具有多个版本且版本间具有差异性;The extraction module extracts the evolution operations performed by each evolution of the software architecture based on the evolution history; wherein the evolution history has multiple versions and there are differences between versions;

记录模块,用于按所述演进操作在演进中的功能分类记录所述演进操作的类型及数量;其中,所述演进操作的类型包括增加新功能、提升现有功能和修复故障中的至少一种;A recording module, configured to record the type and quantity of the evolution operation according to the function classification of the evolution operation in the evolution; wherein the type of the evolution operation includes at least one of adding new functions, improving existing functions and repairing faults. kind;

第一计算模块,用于分别计算演进前及演进后所述软件架构的质量属性;The first calculation module is used to calculate the quality attributes of the software architecture before and after evolution respectively;

第二计算模块,用于基于演进前及演进后所述质量属性,计算所述软件架构的腐化度;The second calculation module is used to calculate the corruption degree of the software architecture based on the quality attributes before and after evolution;

模型构建模块,用于基于分类后的所述演进操作、所述质量属性和所述腐化度构建腐化预测模型;其中,所述腐化预测模型为描述所述腐化度依赖于所述演进操作和所述质量属性的多元回归方程;A model building module configured to construct a corruption prediction model based on the classified evolution operation, the quality attribute and the corruption degree; wherein the corruption prediction model describes that the corruption degree depends on the evolution operation and the corruption degree. Multiple regression equation describing quality attributes;

提取模块,用于提取预演进软件架构的信息,其中,所述信息包括所述预演进架构的演进操作和质量属性;An extraction module, configured to extract information about the pre-evolution software architecture, where the information includes evolution operations and quality attributes of the pre-evolution architecture;

第三计算模块,用于基于所述腐化预测模型和所述信息计算所述预演进架构的腐化度。A third calculation module, configured to calculate the corruption degree of the pre-evolution architecture based on the corruption prediction model and the information.

本申请的第三个方面,还提供一种电子设备,包括:A third aspect of this application also provides an electronic device, including:

至少一个处理器;at least one processor;

与所述至少一个处理器通信连接的存储器;a memory communicatively connected to the at least one processor;

其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请第一个方面所述的方法。Wherein, the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor, so that the at least one processor can execute the method described in the first aspect of this application. method.

本申请的第四个方面,提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请第一个方面所述的方法。A fourth aspect of the present application provides a non-transitory computer-readable storage medium storing computer instructions, the computer instructions being used to cause the computer to execute the method described in the first aspect of the present application.

有益效果:Beneficial effects:

1、由以上技术方案可知,本发明的技术方案提供了一种基于演进历史的软件架构腐化预测方法、装置及设备,从软件架构自身角度出发预测其腐蚀,使预测结果具有更高的针对性;1. As can be seen from the above technical solution, the technical solution of the present invention provides a software architecture corrosion prediction method, device and equipment based on evolution history, which predicts the corrosion from the perspective of the software architecture itself, making the prediction results more targeted. ;

2、本发明基于软件架构的质量度量软件架构的腐化度,使腐化度预测结果具有更好的直观性;2. The present invention measures the corruption degree of the software architecture based on the quality of the software architecture, making the corruption degree prediction results more intuitive;

3、本发明基于软件架构的演进操作预测其腐化度,腐化预测模型的参数囊括了多项影响软件架构演进效果的因素以减小预测误差,提高了预测结果的准确性。3. The present invention predicts the degree of corruption based on the evolution operation of the software architecture. The parameters of the corruption prediction model include a number of factors that affect the evolution effect of the software architecture to reduce prediction errors and improve the accuracy of the prediction results.

应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。It should be understood that all combinations of the foregoing concepts as well as additional concepts described in more detail below can be considered part of the inventive subject matter of the present disclosure so long as such concepts are not inconsistent with each other.

结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。The foregoing and other aspects, embodiments and features of the present teachings will be more fully understood from the following description taken in conjunction with the accompanying drawings. Additional aspects of the invention, such as features and/or advantages of the exemplary embodiments, will be apparent from the description which follows, or may be learned by practice of specific embodiments in accordance with the teachings of the invention.

附图说明Description of the drawings

附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:The drawings are not intended to be drawn to scale. In the drawings, each identical or approximately identical component shown in various figures may be designated by the same reference numeral. For clarity, not every component is labeled in each figure. Embodiments of various aspects of the invention will now be described by way of example and with reference to the accompanying drawings, in which:

图1是本申请实施例中的方法流程示意图。Figure 1 is a schematic flowchart of the method in the embodiment of the present application.

具体实施方式Detailed ways

为使本发明实施例的目的和技术方案更加清楚,下面将结合本发明实施例,对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。In order to make the purpose and technical solutions of the embodiments of the present invention clearer, the technical solutions of the present invention will be clearly and completely described below in conjunction with the embodiments of the present invention. Obviously, the described embodiments are some, but not all, of the embodiments of the present invention. Based on the described embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of the present invention.

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。It will be understood by one of ordinary skill in the art that, unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. It should also be understood that terms such as those defined in general dictionaries are to be understood to have meanings consistent with their meaning in the context of the prior art, and are not to be taken in an idealized or overly formal sense unless defined as herein. explain.

软件产品经一段时间的运转后,通常因需求的调整、开发人员的变动而造成项目规模不断变大、代码库混乱及错误积累等原因,最终导致软件构造腐化且腐化程度逐渐难以控制及维护。After a software product has been in operation for a period of time, the project scale usually continues to increase due to adjustments in requirements and changes in developers, code base confusion, accumulation of errors, etc., which eventually leads to the corruption of the software structure and the degree of corruption becomes increasingly difficult to control and maintain.

针对上述提到的软件产品运转过程中容易出现的现象,现有的手段通常是对其架构进行局部重构或全局重构,但重构意味着大量人力物力的投入。因此,在软件架构演进前,基于软件架构的演进历史数据预测当前演进方案是否会造成软件架构腐化,对避免软件架构腐化和节约演进成本具有重要的意义。但现阶段中,针对这一部分的研究比较匮乏,能够准确预测软件架构腐化度的方法仍旧缺位,具体情况如下:In response to the phenomena that are prone to occur during the operation of software products mentioned above, the existing methods are usually partial or global reconstruction of their architecture, but reconstruction means a large investment of manpower and material resources. Therefore, before the software architecture evolves, predicting whether the current evolution plan will cause software architecture corruption based on the evolution history data of the software architecture is of great significance to avoid software architecture corruption and save evolution costs. However, at this stage, there is a lack of research on this part, and methods that can accurately predict the degree of software architecture corruption are still lacking. The specific situation is as follows:

(1)缺少预测软件架构腐化的方法。软件架构是源代码的高级抽象,因此在质量度量、腐化分析、成本预估等方面,它与软件源代码存在较大不同,从而需要基于软件架构的特性预估软件架构的腐化;(1) There is a lack of methods to predict software architecture corruption. Software architecture is a high-level abstraction of source code, so it is quite different from software source code in terms of quality measurement, corruption analysis, cost estimation, etc. Therefore, it is necessary to estimate the corruption of software architecture based on the characteristics of software architecture;

(2)缺少将软件架构质量与软件架构腐化相关联的方法。软件架构腐化的衡量标准是软件架构演进后软件架构的质量是否下降,然而目前缺少将软件架构质量与软件架构腐化相关联的方法;(2) There is a lack of methods to correlate software architecture quality with software architecture corruption. The measure of software architecture corruption is whether the quality of the software architecture decreases after the software architecture evolves. However, there is currently a lack of methods to correlate software architecture quality with software architecture corruption;

(3)缺少将演进方案与软件架构腐化相关联的方法。软件架构是否会发生腐化取决于演进过程中进行了哪些演进操作,然而目前缺少将演进方案与软件架构腐化相关联的方法。(3) There is a lack of methods to correlate evolution plans with software architecture corruption. Whether the software architecture will corrupt depends on what evolution operations are performed during the evolution process. However, there is currently a lack of method to correlate the evolution plan with the corruption of the software architecture.

基于上述现况,本发明的实施例从软件架构的特性、质量及演进方案出发,建立预测模型时将多个影响软件架构演进效果的因素列为预测模型的参数,提高模型可靠性,保障其在具体检验软件架构的腐化度时能够提供较为准确的结果。Based on the above current situation, embodiments of the present invention start from the characteristics, quality and evolution plan of the software architecture. When establishing the prediction model, multiple factors that affect the evolution effect of the software architecture are listed as parameters of the prediction model to improve the reliability of the model and ensure its reliability. It can provide more accurate results when specifically testing the corruption degree of software architecture.

本发明的实施例提供一种基于演进历史的软件架构腐化预测方法、装置及设备,以下分别进行说明。Embodiments of the present invention provide a method, apparatus and equipment for predicting software architecture corruption based on evolution history, which will be described separately below.

如图1所示,为本发明实施例的一种基于演进历史的软件架构腐化预测方法流程示意图,该方法包括如下步骤:As shown in Figure 1, it is a schematic flow chart of a software architecture corruption prediction method based on evolution history according to an embodiment of the present invention. The method includes the following steps:

步骤101、基于演进历史提取软件架构每次演进所执行的演进操作;其中,所述演进历史具有多个版本且版本间具有差异性。Step 101: Extract the evolution operations performed for each evolution of the software architecture based on the evolution history; wherein the evolution history has multiple versions and there are differences between versions.

步骤102、按所述演进操作在演进中的功能分类记录所述演进操作的类型及数量;其中,所述演进操作的类型包括增加新功能、提升现有功能和修复故障中的至少一种。Step 102: Record the type and quantity of the evolution operation according to its functional classification during evolution; wherein the type of the evolution operation includes at least one of adding new functions, improving existing functions, and repairing faults.

步骤103、分别计算演进前及演进后所述软件架构的质量属性。Step 103: Calculate the quality attributes of the software architecture before and after evolution respectively.

步骤104、基于演进前及演进后所述质量属性,计算所述软件架构的腐化度。Step 104: Calculate the corruption degree of the software architecture based on the quality attributes before and after evolution.

步骤105、基于分类后的所述演进操作、所述质量属性和所述腐化度构建腐化预测模型;其中,所述腐化预测模型为描述所述腐化度依赖于所述演进操作和所述质量属性的多元回归方程。Step 105: Construct a corruption prediction model based on the classified evolution operation, the quality attribute and the corruption degree; wherein the corruption prediction model describes that the corruption degree depends on the evolution operation and the quality attribute The multiple regression equation.

步骤106、提取预演进软件架构的信息;其中,所述信息包括所述预演进架构的演进操作和质量属性。Step 106: Extract information about the pre-evolution software architecture; where the information includes evolution operations and quality attributes of the pre-evolution architecture.

步骤107、基于所述腐化预测模型和所述信息计算所述预演进架构的腐化度。Step 107: Calculate the corruption degree of the pre-evolution architecture based on the corruption prediction model and the information.

为便于描述,本实施例利用如下表1中的9个版本的演进历史进行示例说明,在某些实施例中,所述步骤101中所述演进历史的版本数量并不局限于上述中的9个,为保证计算模型的精确率,所选择的最小样本量应不小于9个。即步骤S101中所使用的所述演进历史的版本数量不少于9个,在具体实施时,可增加所述演进历史的版本统计样本数量以进一步提高后续基于所述演进历史建立的腐化预测模型的预测精度。For the convenience of description, this embodiment uses the evolution history of 9 versions in the following Table 1 for illustration. In some embodiments, the number of versions of the evolution history in step 101 is not limited to the 9 mentioned above. To ensure the accuracy of the calculation model, the selected minimum sample size should be no less than 9. That is, the number of versions of the evolution history used in step S101 is no less than 9. During specific implementation, the number of version statistical samples of the evolution history can be increased to further improve the subsequent corruption prediction model established based on the evolution history. prediction accuracy.

上述9个版本的演进历史中各类演进操作的数量信息如下表1所示:The quantity information of various evolution operations in the evolution history of the above nine versions is shown in Table 1 below:

表1各类演进操作的数量信息Table 1 Quantity information of various types of evolution operations

在某些实施例中,所述步骤103中的所述质量属性包括易理解性、易修改性和易测试性中的至少一种。In some embodiments, the quality attributes in step 103 include at least one of ease of understanding, ease of modification, and ease of testing.

为提高腐化度计算精确度,以进一步保障预测结果的准确性,本实施例中,所述质量属性包括易理解性、易修改性和易测试性三种,计算上述三种演进前及演进后所述软件架构的分别包括如下步骤:In order to improve the accuracy of the calculation of the degree of corruption and further ensure the accuracy of the prediction results, in this embodiment, the quality attributes include three types: ease of understanding, ease of modification, and ease of testing. Calculate the above three types of before and after evolution. The software architecture includes the following steps:

计算所述软件架构的易理解性:Calculate the understandability of the software architecture described:

式中,U表示当前软件架构的易理解性,n表示当前软件架构中的组件数,Ci表示当前软件架构中第i个组件,Cj表示当前软件架构中第j个组件,f(Ci,Cj)表示Ci与Cj的调用关系,当Ci调用了Cj,则f(Ci,Cj)的值为1,否则,f(Ci,Cj)的值为0,符号∧表示调用关系。In the formula, U represents the understandability of the current software architecture, n represents the number of components in the current software architecture, C i represents the i-th component in the current software architecture, C j represents the j-th component in the current software architecture, f(C i ,C j ) represents the calling relationship between C i and C j . When C i calls C j , the value of f(C i ,C j ) is 1. Otherwise, the value of f(C i ,C j ) is 0, the symbol ∧ represents the calling relationship.

计算所述软件架构的易修改性:Calculate the ease of modification of the software architecture:

式中,M表示当前软件架构的易修改性,n表示当前软件架构中的组件数,Ci表示当前软件架构中第i个组件,g(Ci)表示Ci在组件层的调用深度。In the formula, M represents the ease of modification of the current software architecture, n represents the number of components in the current software architecture, C i represents the i-th component in the current software architecture, and g(C i ) represents the calling depth of C i at the component layer.

计算所述软件架构的易测试性:Calculate the testability of the software architecture described:

式中,T表示当前软件架构的易测试性,n表示当前软件架构中的组件数,Ci表示当前软件架构中第i个组件,h(Ci)表示Ci是否需要驱动模块,如果需要,h(Ci)的值为1,否则h(Ci)的值为0。In the formula, T represents the testability of the current software architecture, n represents the number of components in the current software architecture, C i represents the i-th component in the current software architecture, h(C i ) represents whether C i needs a driver module, if so , the value of h(C i ) is 1, otherwise the value of h(C i ) is 0.

经上述三种质量属性的计算过程,分别得出表1中版本1至版本9的质量属性的度量值,具体数据如下表2所示:After the calculation process of the above three quality attributes, the measurement values of the quality attributes from version 1 to version 9 in Table 1 are obtained respectively. The specific data are shown in Table 2 below:

表2质量属性的度量值Table 2 Measurement values of quality attributes

易理解性UComprehensibilityU 易修改性MEase of modification M 易测试性TEase of testabilityT 版本1version 1 0.610.61 0.80.8 0.510.51 版本2Version 2 0.670.67 0.70.7 0.770.77 版本3Version 3 0.550.55 1.051.05 0.590.59 版本4Version 4 0.80.8 0.760.76 0.640.64 版本5Version 5 0.70.7 0.860.86 0.590.59 版本6Version 6 0.450.45 0.870.87 0.940.94 版本7Version 7 0.50.5 0.880.88 0.710.71 版本8Version 8 0.730.73 0.80.8 0.760.76 版本9Version 9 0.540.54 0.640.64 0.610.61

在某些实施例中,所述步骤104具体过程如下:In some embodiments, the specific process of step 104 is as follows:

根据如下公式计算腐化度ED(a,b):Calculate the degree of corruption ED(a,b) according to the following formula:

式中,a表示演进前的软件架构,b表示演进后的软件架构,ED(a,b)表示a与b各个质量属性的差值的平均值,N是软件架构的质量属性的集合,|N|是N中所包含的元素数,Ni_a是a的第i个质量属性的度量值,Ni_b是b的第i个质量属性的度量值。In the formula, a represents the software architecture before evolution, b represents the software architecture after evolution, ED (a, b) represents the average difference between the quality attributes of a and b, N is the set of quality attributes of the software architecture, | N| is the number of elements contained in N, Ni_a is the measurement value of the i-th quality attribute of a, and Ni_b is the measurement value of the i-th quality attribute of b.

通过上述公式,可计算出软件架构的腐化度,腐化度小于等于0时,软件架构没有发生腐化现象,当腐化度大于0时,软件架构被腐化,且值越高,腐化的程度越严重。Through the above formula, the corruption degree of the software architecture can be calculated. When the corruption degree is less than or equal to 0, the software architecture is not corrupted. When the corruption degree is greater than 0, the software architecture is corrupted. The higher the value, the more serious the degree of corruption.

本实施例中,仍以上述9个版本的质量属性及其在步骤103中计算出的度量值作为预测模型的参数,经上述步骤104后计算得到版本1至版本9分别对应的软件架构腐化度,具体数据如下表3所示:In this embodiment, the quality attributes of the above nine versions and the metric values calculated in step 103 are still used as parameters of the prediction model. After the above step 104, the software architecture corruption degrees corresponding to versions 1 to 9 are calculated. , the specific data is shown in Table 3 below:

表3软件架构腐化度Table 3 Software architecture corruption degree

版本1version 1 版本2Version 2 版本3Version 3 版本4Version 4 版本5Version 5 版本6Version 6 版本7Version 7 版本8Version 8 版本9Version 9 0.106310.10631 0.204570.20457 0.340070.34007 0.214680.21468 0.088080.08808 0.136390.13639 0.401160.40116 0.527170.52717 0.467240.46724

在某些实施例中,所述步骤105具体过程如下:In some embodiments, the specific process of step 105 is as follows:

基于所述腐化度计算所述演进操作和所述质量属性的权重;Calculate the weight of the evolution operation and the quality attribute based on the corruption degree;

基于分类后的所述演进操作、所述质量属性的权重和所述腐化度构建腐化预测模型:Build a corruption prediction model based on the classified evolution operation, the weight of the quality attribute and the degree of corruption:

E=w1*U+w2*M+w3*T+w4*A+w5*I+w6*F+CE=w 1 *U+w 2 *M+w 3 *T+w 4 *A+w 5 *I+w 6 *F+C

由上式可知,本实施例中,所述腐化预测模型为描述所述腐化度依赖于所述演进操作和所述质量属性的六元线性回归模型,所述演进操作、所述质量属性的权重分别对应式中的回归系数。式中,E表示软件架构腐化度,w1表示易理解性U的回归系数,w2表示易修改性M的回归系数,w3表示易测试性T的回归系数,w4表示增加新功能A的回归系数,w5表示提升现有功能I的回归系数,w6表示修复故障F的回归系数,C表示一个常数。需说明的是,所述腐化预测模型并不局限于上述提到的六元线性回归模型,式中以U、M和A等为代表的因变量的数量在具体实施时可按需选择,即,若将共p个演进操作和质量属性考虑在内,则相应建立的腐化预测模型为p元回归模型。It can be seen from the above formula that in this embodiment, the corruption prediction model is a six-element linear regression model that describes the degree of corruption depending on the evolution operation and the quality attribute. The evolution operation and the weight of the quality attribute Corresponding to the regression coefficients in the formula respectively. In the formula, E represents the software architecture corruption degree, w 1 represents the regression coefficient of understandability U, w 2 represents the regression coefficient of ease of modification M, w 3 represents the regression coefficient of testability T, and w 4 represents the addition of new function A. The regression coefficient of w 5 represents the regression coefficient of improving the existing function I, w 6 represents the regression coefficient of repairing the fault F, and C represents a constant. It should be noted that the corruption prediction model is not limited to the six-element linear regression model mentioned above. The number of dependent variables represented by U, M, A, etc. in the formula can be selected as needed during specific implementation, that is, , if a total of p evolution operations and quality attributes are taken into account, the corresponding corruption prediction model is a p-element regression model.

在本实施例中,仍以上述9个版本的演进历史为示例,结合上述步骤101~步骤104中获得的所述演进操作、所述质量属性和所述腐化度的数据,计算得到所述腐化预测模型中的各个参数值,具体数据如下表4所示:In this embodiment, the evolution history of the above nine versions is still used as an example, and the corruption is calculated by combining the evolution operation, the quality attribute and the corruption degree data obtained in the above steps 101 to 104. Each parameter value in the prediction model, the specific data is shown in Table 4 below:

表4软件架构腐蚀预测模型中各个参数值Table 4 Each parameter value in the software architecture corrosion prediction model

w1 w 1 w2 w 2 w3 w 3 w4 w 4 w5 w 5 w6 w 6 CC 0.32760.3276 0.38140.3814 0.04430.0443 -0.0224-0.0224 -0.0812-0.0812 -0.0520-0.0520 0.20790.2079

依上表4数据获得所述腐化预测模型:The corruption prediction model is obtained based on the data in Table 4 above:

E=0.3276U+0.3814M+0.0443T-0.0224A-0.0812T-0.0520I+0.2079E=0.3276U+0.3814M+0.0443T-0.0224A-0.0812T-0.0520I+0.2079

在某些实施例中,所述步骤106以某个预演进软件架构进行示例说明,该预演进软件架构的信息如下表5所示:In some embodiments, the step 106 is illustrated with a certain pre-evolution software architecture. The information of the pre-evolution software architecture is as shown in Table 5 below:

表5预演进的软件架构的信息Table 5 Information about pre-evolved software architecture

易理解性UComprehensibilityU 易修改性MEase of modification M 易测试性TEase of testabilityT 增加新功能AAdd new function A 提升现有功能IImprove existing functionality I 修复故障FRepair fault F 0.670.67 0.570.57 0.440.44 00 33 22

在某些实施例中,仍以上述步骤106中示例的预演进软件架构及其表5中的信息为例,基于所述步骤105中的获得的所述腐化预测模型计算该预演进软件架构的腐化度:In some embodiments, still taking the pre-evolution software architecture illustrated in step 106 and the information in Table 5 as an example, the pre-evolution software architecture is calculated based on the corruption prediction model obtained in step 105. Corruption:

E=w1*U+w2*M+w3*T+w4*A+w5*I+w6*F+CE=w 1 *U+w 2 *M+w 3 *T+w 4 *A+w 5 *I+w 6 *F+C

=0.3276*0.67+0.3814*0.57+0.0443*0.44-0.0224*0-0.0812*3-0.0520*2+0.2079=0.30736=0.3276*0.67+0.3814*0.57+0.0443*0.44-0.0224*0-0.0812*3-0.0520*2+0.2079=0.30736

由度量结果可知,基于当前软件架构的信息所预测的该软件架构的腐化度为0.30736,该软件架构出现腐化。It can be seen from the measurement results that the predicted corruption degree of the software architecture based on the information of the current software architecture is 0.30736, indicating that the software architecture is corrupted.

基于上述的基于自然语言处理的分布式程序切片方法,本发明实施例还提供一种基于自然语言处理的分布式程序切片装置。Based on the above distributed program slicing method based on natural language processing, embodiments of the present invention also provide a distributed program slicing device based on natural language processing.

示例性的,基于自然语言处理的分布式程序切片方法可以被分割成多个模块,多个模块被存储在存储器中,由处理器执行完成本发明。所述多个模块或单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述基于自然语言处理的分布式程序切片方法的执行过程。例如,记录模块、提取模块等,各模块的具体功能如下:For example, the distributed program slicing method based on natural language processing can be divided into multiple modules. The multiple modules are stored in the memory and executed by the processor to complete the present invention. The multiple modules or units may be a series of computer program instruction segments capable of completing specific functions. The instruction segments are used to describe the execution process of the distributed program slicing method based on natural language processing. For example, recording module, extraction module, etc. The specific functions of each module are as follows:

记录模块,用于基于演进历史提取软件架构每次演进所执行的演进操作,按所述演进操作在演进中的功能分类记录其数量;其中,所述演进历史具有多个版本且版本间具有差异性;The recording module is used to extract the evolution operations performed by each evolution of the software architecture based on the evolution history, and record the number according to the functions of the evolution operations in the evolution; wherein the evolution history has multiple versions and there are differences between the versions. sex;

第一计算模块,用于分别计算演进前及演进后所述软件架构的质量属性;The first calculation module is used to calculate the quality attributes of the software architecture before and after evolution respectively;

第二计算模块,用于基于演进前及演进后所述质量属性,计算所述软件架构的腐化度;The second calculation module is used to calculate the corruption degree of the software architecture based on the quality attributes before and after evolution;

模型构建模块,用于基于所述演进操作、所述质量属性和所述腐化度构建腐化预测模型;A model building module, configured to build a corruption prediction model based on the evolution operation, the quality attribute and the degree of corruption;

提取模块,用于提取预演进软件架构的信息,其中,所述信息包括所述预演进架构的演进操作和质量属性;An extraction module, configured to extract information about the pre-evolution software architecture, where the information includes evolution operations and quality attributes of the pre-evolution architecture;

第三计算模块,用于基于所述腐化预测模型和所述信息计算所述预演进架构的腐化度。A third calculation module, configured to calculate the corruption degree of the pre-evolution architecture based on the corruption prediction model and the information.

相应的,本发明实施例还提供一种电子设备,包括:Correspondingly, an embodiment of the present invention also provides an electronic device, including:

至少一个处理器;at least one processor;

与所述至少一个处理器通信连接的存储器;a memory communicatively connected to the at least one processor;

其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例中所述的方法。Wherein, the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor, so that the at least one processor can execute the instructions in any embodiment of the present invention. Methods.

这些计算机程序也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤,对应与不同的步骤可以通过不同的模块来实现。These computer programs may also be loaded onto a computer or other programmable data processing device such that a series of operating steps are performed on the computer or other programmable device to produce computer-implemented processes, thereby causing instructions to be executed on the computer or other programmable device Provides steps for implementing the functions specified in one process or multiple processes in the flowchart and/or one or multiple boxes in the block diagram, and corresponding to different steps can be implemented through different modules.

上述程序可以运行在处理器中,或者也可以存储在存储器中(或称为计算机可读介质),计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。The above-mentioned programs can be run in the processor, or can also be stored in the memory (also known as computer-readable media). Computer-readable media include permanent and non-permanent, removable and non-removable media that can be stored in memory by any method or technology to achieve information storage. Information may be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), and read-only memory. (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, Magnetic tape cassettes, tape magnetic disk storage or other magnetic storage devices or any other non-transmission medium can be used to store information that can be accessed by a computing device. As defined in this article, computer-readable media does not include transitory media, such as modulated data signals and carrier waves.

相应的,本发明还提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本发明任一实施例中所述的方法。Correspondingly, the present invention also provides a non-transitory computer-readable storage medium storing computer instructions. The computer instructions are used to cause the computer to execute the method described in any embodiment of the present invention.

虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。Although the present invention has been disclosed above in terms of preferred embodiments, these are not intended to limit the present invention. Those with ordinary skill in the technical field to which the present invention belongs can make various modifications and modifications without departing from the spirit and scope of the present invention. Therefore, the protection scope of the present invention shall be determined by the claims.

Claims (6)

1. The evolution history-based software architecture degradation prediction method is characterized by comprising the following steps of:
extracting evolution operation executed by each evolution of the software architecture based on the evolution history; wherein the evolution history has a plurality of versions and has differences between versions;
recording the type and the number of the evolution operation according to the function classification of the evolution operation in evolution; wherein the type of evolution operation includes at least one of adding new functionality, promoting existing functionality, and repairing a failure;
the quality attributes of the software architecture before evolution and after evolution are calculated respectively, wherein the quality attributes comprise at least one of easy comprehensibility, easy modification and easy testability:
calculating an understandability in the quality attribute:
in the above formula, U represents the understandability of the current software architecture, n represents the number of components in the current software architecture, and C i Representing the ith component, C, in the current software architecture j Represents the jth component, f (C i ,C j ) Represent C i And C j When C is the calling relation of i Call C j F (C) i ,C j ) Has a value of 1, otherwise f (C i ,C j ) The value of (2) is 0;
calculating easy modification in the quality attribute:
in the above formula, M represents an easy-to-modify modification of the current software architecture, n represents the number of components in the current software architecture, and C i Represents the ith component, g (C i ) Represent C i Calling depth at component layer;
calculating testability in the quality attributes:
in the above formula, T represents testability of the current software architecture, n represents the number of components in the current software architecture, and C i Represents the ith component, h (C i ) Represent C i Whether a drive module is required, if so, h (C i ) Has a value of 1, otherwise h (C i ) The value of (2) is 0;
calculating the degree of degradation of the software architecture corresponding to an evolution history formed by a software architecture from a pre-evolution version to a post-evolution version based on the quality attributes before evolution and after evolution;
in the above formula, a represents a pre-evolution software architecture corresponding to an evolution history, b represents a post-evolution software architecture corresponding to the evolution history, wherein N is a set of quality attributes of the software architecture, N is the number of elements contained in N, and N i_a Is the metric value of the ith quality attribute of a, N i_b Is the metric value of the ith quality attribute of b;
constructing a degradation prediction model based on the classified evolution operation, the quality attribute and the degradation degree:
E=w 1 *U+w 2 *M+w 3 *T+w 4 *A+w 5 *I+w 6 *F+C
in the above description, E represents the software architecture decomposition degree, w 1 Weights indicating intelligibility U, w 2 Weights, w, representing easy-to-modify M 3 Weights, w, representing testability T 4 Indicating the addition of the weight of the new function A, w 5 Represents the weight of the lifting existing function I, w 6 Representing the weight of repairing the fault F, and C represents a constant;
extracting information of a pre-development software architecture; wherein the information includes evolution operations and quality attributes of the pre-evolved software architecture;
calculating the degree of decay of the pre-evolved software architecture based on the decay prediction model and the information.
2. The method of claim 1, wherein the software architecture is represented in the form of a component dependency graph.
3. The method of claim 1, wherein the evolution history has a number of versions of no less than 9.
4. The utility model provides a software architecture corruption prediction unit based on evolution history which characterized in that includes:
the extraction module is used for extracting evolution operation executed by each evolution of the software architecture based on the evolution history; wherein the evolution history has a plurality of versions and has differences between versions;
the recording module is used for recording the types and the quantity of the evolution operation according to the function classification of the evolution operation in the evolution; wherein the type of evolution operation includes at least one of adding new functionality, promoting existing functionality, and repairing a failure;
the first computing module is configured to compute quality attributes of the software architecture before evolution and after evolution, where the quality attributes include at least one of understandability, modifiable and testability:
calculating an understandability in the quality attribute:
in the above formula, U represents the understandability of the current software architecture, n represents the number of components in the current software architecture, and C i Representing the ith component, C, in the current software architecture j Represents the jth component, f (C i ,C j ) Represent C i And C j When C is the calling relation of i Call C j F (C) i ,C j ) Has a value of 1, otherwise f (C i ,C j ) The value of (2) is 0;
calculating easy modification in the quality attribute:
in the above formula, M represents an easy-to-modify modification of the current software architecture, n represents the number of components in the current software architecture, and C i Represents the ith component, g (C i ) Represent C i Calling depth at component layer;
calculating testability in the quality attributes:
in the above formula, T represents testability of the current software architecture, n represents the number of components in the current software architecture, and C i Represents the ith component, h (C i ) Represent C i Whether a drive module is required, if so, h (C i ) Has a value of 1, otherwise h (C i ) The value of (2) is 0;
the second calculation module is used for calculating the degree of degradation of the software architecture corresponding to the evolution history formed by the software architecture from the version before evolution to the version after evolution based on the quality attributes before evolution and after evolution:
in the above formula, a represents a pre-evolution software architecture corresponding to an evolution history, b represents a post-evolution software architecture corresponding to the evolution history, wherein N is a set of quality attributes of the software architecture, N is the number of elements contained in N, and N i_a Is the metric value of the ith quality attribute of a, N i_b Is the ith mass of bA measure of sex;
the model construction module is used for constructing a decomposition prediction model based on the classified evolution operation, the classified quality attribute and the classified decomposition degree:
E=w 1 *U+w 2 *M+w 3 *T+w 4 *A+w 5 *I+w 6 *F+C
in the above description, E represents the software architecture decomposition degree, w 1 Weights indicating intelligibility U, w 2 Weights, w, representing easy-to-modify M 3 Weights, w, representing testability T 4 Indicating the addition of the weight of the new function A, w 5 Represents the weight of the lifting existing function I, w 6 Representing the weight of repairing the fault F, and C represents a constant;
the extraction module is used for extracting information of the pre-developed software architecture, wherein the information comprises evolution operation and quality attribute of the pre-developed software architecture;
and the third calculation module is used for calculating the decomposition degree of the pre-development software architecture based on the decomposition prediction model and the information.
5. An electronic device, comprising:
at least one processor;
a memory communicatively coupled to the at least one processor;
wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1 to 3.
6. A non-transitory computer readable storage medium storing computer instructions for causing the computer to perform the method of any one of claims 1 to 3.
CN202310271213.7A 2023-03-20 2023-03-20 A software architecture corruption prediction method, device and equipment based on evolution history Active CN116303026B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310271213.7A CN116303026B (en) 2023-03-20 2023-03-20 A software architecture corruption prediction method, device and equipment based on evolution history

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310271213.7A CN116303026B (en) 2023-03-20 2023-03-20 A software architecture corruption prediction method, device and equipment based on evolution history

Publications (2)

Publication Number Publication Date
CN116303026A CN116303026A (en) 2023-06-23
CN116303026B true CN116303026B (en) 2024-01-23

Family

ID=86818284

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310271213.7A Active CN116303026B (en) 2023-03-20 2023-03-20 A software architecture corruption prediction method, device and equipment based on evolution history

Country Status (1)

Country Link
CN (1) CN116303026B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893257A (en) * 2016-03-30 2016-08-24 东南大学 Software architecture evaluation method based on evolution
CN107368303A (en) * 2017-06-28 2017-11-21 东南大学 A kind of evolution measure based on software architecture
CN108614778A (en) * 2018-05-10 2018-10-02 天津大学 Prediction technique is changed based on the Android App program evolutions that Gaussian process returns

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130311229A1 (en) * 2012-05-16 2013-11-21 Ca, Inc. Proactive risk assessment for system architecture evolutions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893257A (en) * 2016-03-30 2016-08-24 东南大学 Software architecture evaluation method based on evolution
CN107368303A (en) * 2017-06-28 2017-11-21 东南大学 A kind of evolution measure based on software architecture
CN108614778A (en) * 2018-05-10 2018-10-02 天津大学 Prediction technique is changed based on the Android App program evolutions that Gaussian process returns

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"软件结构可持续演进性评估技术研究";王桐;《中国博士学位论文全文数据库(信息科技辑)》(第01期);第12页第1行至第81页第10行 *

Also Published As

Publication number Publication date
CN116303026A (en) 2023-06-23

Similar Documents

Publication Publication Date Title
US20130055250A1 (en) Performance benchmarking in virtual machines
CN113837596B (en) Fault determination method and device, electronic equipment and storage medium
CN107992410A (en) Software quality monitoring method, device, computer equipment and storage medium
JP2019512126A (en) Method and system for training a machine learning system
CN114265780B (en) Test method, system, equipment and storage medium of report system
CN110969600A (en) A product defect detection method, device, electronic device and storage medium
CN111400164A (en) Software testing method and device
CN111767957A (en) Method and device for detecting log abnormity, storage medium and electronic equipment
CN117972596A (en) A risk prediction method based on operation log
CN110991130B (en) Method for checking standard unit time sequence library by circuit simulation
CN110334012B (en) Risk assessment method and device
CN116303026B (en) A software architecture corruption prediction method, device and equipment based on evolution history
CN115686961A (en) Processor testing method and device and electronic equipment
CN110991124B (en) Integrated circuit repairing method and device, storage medium and electronic equipment
CN108446213A (en) A kind of static code mass analysis method and device
Sun et al. Simulation of software reliability growth model based on fault severity and imperfect debugging
CN115904980B (en) Software architecture corrosion repair cost estimation methods, devices, equipment and storage media
CN119107194B (en) Income and expenditure declaration data processing method and system based on multi-heterogeneous models
US20240338557A1 (en) Near Real-Time Feature Simulation for Online/Offline Point-in-Time Data Parity
CN111795799A (en) Test method and device
CN117785643B (en) Performance test platform for software development
CN109491853A (en) A kind of automated testing method, system, equipment and the storage medium of memory pressure test
CN110647466B (en) Program quality supervision method and device based on DevOps
CN117349084A (en) Data recovery method, equipment and storage medium for Nand false vth
CN118364682A (en) Ship bent plate forming process data simulation method, system, medium and equipment

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