CN109947428B - High-quality software recommendation method based on software stability measurement - Google Patents
High-quality software recommendation method based on software stability measurement Download PDFInfo
- Publication number
- CN109947428B CN109947428B CN201910033598.7A CN201910033598A CN109947428B CN 109947428 B CN109947428 B CN 109947428B CN 201910033598 A CN201910033598 A CN 201910033598A CN 109947428 B CN109947428 B CN 109947428B
- Authority
- CN
- China
- Prior art keywords
- software
- class
- stability
- cdn
- classes
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
The invention discloses a high-quality software recommendation method based on software stability measurement, which comprises the following steps of: abstracting a method calling process of software written by Java language during operation into a method calling network; constructing a class dependence network based on a method call network; constructing the stability of the measurement index measurement class based on the class dependence network; constructing the stability of measurement index measurement software based on the stability measurement indexes of the classes; and (4) performing descending arrangement on the software with similar functions according to stability, and recommending according to the sequence. In the prior art, the stability of the measurement index measurement software is constructed mainly based on static analysis of software source codes, and the constructed model is not accurate enough. The measurement indexes constructed in the prior art cannot fully utilize the internal structure of software. The invention uses the dynamic analysis technology to construct a more accurate model for measuring the software stability, further recommends high-quality software for users, and provides technical support for selecting high-quality software with high stability from a plurality of software with similar functions for understanding the software.
Description
Technical Field
The invention relates to a high-quality software recommendation method, in particular to a high-quality software recommendation method based on software stability measurement.
Background
Computer software has entered into all aspects of our lives and is an indispensable part of our lives. The software is changing and will continue to change our lives. The demand for software functions and performance is higher and higher, which results in the scale of software being increased rapidly, and many software products with similar functions exist. Open source software is an important class of software. In reality, many enterprises use a lot of open source software under the protocol of the open source software. However, the size of the open source software is very large, many similar software products exist, and how to select software with better quality from the similar software becomes a technical problem.
Software complexity is an important factor that leads to a degradation of software quality. Therefore, measuring the inherent complexity of software is an important way to measure the quality of software. Software stability is an indication of the inherent complexity of software, often expressing the ability of software to resist modification. The software stability is high, and the software quality is better. There are currently a number of tasks on software complexity metrics: wolverton proposes to measure the programmer's code rate with loc (lines of code) statement lines. McCabe sets forth the McCabe circle Complexity (cyclic Complexity) based on graph theory to measure the Complexity of the program. Halstead measures the complexity of a program by computing the number of operators (operators) and operands (operands) in the program. From the requirement specification, Albrecht proposes a function point analysis method. Oviedo constructs a model to combine control and data flows and measures the complexity of the program by calculating the control and data flow complexity. Harrison and Magel propose a method to measure software complexity through flow chart decomposition. Tai proposes a data-flow-based measure of program complexity. Bieman proposes a framework for measuring software reusability, and defines some metrics for evaluating software reusability, such as public/private reusability (public/private reuse). Lake and Cook investigated the metrology problem of the C + + software. Sharble and Cohen studied the metrics of object-oriented software design. Lorenz presents 11 object-oriented metrics, such as average method scale (Loc), average number of methods in each class, average number of instance variables in each class, etc., and also presents some measure-specific check rules. Chidameter and Kemerer set forth the theoretical basis of object-oriented software metrology, and propose 6 object-oriented software design and complexity metrics, such as a set of object-oriented metrics including weighted Method number WMC (weighted Method per class), depth of Inheritance tree DIT (depth of Inheritance Tree), inter-class coupling CBO (coupling between objects). Abreu proposes a MOOD metric set containing 6 metrics for the encapsulation, inheritance, coupling, and polymorphism of object-oriented software.
Although there are many studies on the complexity measure of software to provide some help for understanding the quality of software, the following disadvantages still exist:
(1) existing work has focused primarily on measuring the complexity of the code elements themselves, and lacks a measure of the overall quality of the software, such as software stability.
(2) The existing work mainly focuses on static analysis of software codes and lacks dynamic analysis of the actual running of the software. Static analysis does not need to run software, only depends on software source codes, and the relationship among the extracted elements is actually a relationship under the 'worst' condition and may contain redundant relationships; the dynamic analysis needs to run software, collect elements and relationships among the elements in the software running process, and represent the real interaction among the elements. Dynamic analysis is more accurate than static analysis.
(3) The existing work only considers whether the interaction exists between elements, and the influence of the strength of the interaction between the elements on the metric value is ignored.
The invention provides a high-quality software recommendation method based on software stability measurement, which can make up the defects of the existing work by constructing measurement index measurement software stability through software dynamic analysis, and provides technical support for selecting high-quality software with high stability from a plurality of pieces of software with similar functions for understanding the software.
Disclosure of Invention
The invention aims to provide a high-quality software recommendation method based on software stability measurement aiming at the defects of the prior art.
The technical problem of the invention is mainly solved by the following technical scheme: a high-quality software recommendation method based on software stability measurement comprises the following steps:
(1) the Java languageThe method call procedure of the software written at runtime is abstracted to a method call net FCN ═ N, D. Wherein N is a set of method nodes in software; d { < f { [ equation ]i,fj>}(fi∈N,fje.N) is a set of directed edges, representing the calling relationship between methods, from fiDirection fj。
(2) Building a dependent network CDN (N) based on the FCN completed in the step (1)c,Dc). Wherein N iscThe method is a set of class nodes where methods in the FCN are located; dc={<ci,cj>}(ci∈Nc,cj∈Nc) Is a set of directed edges representing dependencies between classes, from ciPoint of direction cj(ii) a Each edge in the CDN is assigned a non-negative real number as an intensity value for the dependency between classes.
(3) And (3) calculating the stability s (i) of the class node i based on the CDN constructed in the step (2) to be used as a stability metric value of the corresponding class of the node.
(4) And (4) calculating the Stability of the whole software based on the Stability values of the various classes calculated in the step (3).
(5) And (4) calculating the stability of a plurality of pieces of software with similar functions based on the steps (1) to (4), and performing descending order according to the stability of the plurality of pieces of software, wherein the software with the top rank is the high-quality software recommended to the user.
Further, the method and the call relationship between the methods in the step (1) are obtained according to the actual running process of the Java software on the Java virtual machine, and are a dynamic analysis, rather than a static analysis based on source codes.
Further, the class in the above step (2) is obtained according to the method in the FCN. The class in the FCN where the method is defined becomes a class in the CDN. Meanwhile, the classes in the CDN are a collective name of classes, internal classes, abstract classes, and interfaces in Java.
Further, the dependency relationship between the classes in step (2) is obtained according to the call relationship between the methods in the FCN, that is, if there is a call relationship between the methods included in the classes, there is a dependency relationship between the corresponding classes.
Further, the strength value of the dependency relationship between the classes in the step (2) is obtained according to the calling relationship between the methods in the FCN.
Further, the CDN construction in the step (2) specifically includes the following sub-steps:
(2.1) extracting all classes where the method is located in the FCN, and constructing a CDN with nodes and no edges, namely (N ═ CDNc,DcΦ). Φ represents the edge set as null.
(2.2) taking one side in the step (1) D to be less than fi,fjIs > ∈ D, according to fiAnd fjThe naming rule of (2) determines the class it defines, let fiDefined in class k, fjDefined in class p. If k is not equal to p and < k, p > is not in DcIf internal, adding < k, p > to DcOtherwise, no processing is performed.
(2.3) the intensity value on the side < k, p > is defined as the proportion of the class p that directly or indirectly affects the class k, i.e.:
wherein, mcnt (p) returns the number of methods included in class p (the number of methods belonging to class p in FCN); po (p) returns the number of methods in class p that may have an impact on class k (there is a directional path (in the direction of the reverse arrow) to a method in class k for a method in class p, and the path does not go through other classes, and such a method in class p is called an impact method on class k); w (k, p) is the intensity value at edge < k, p >.
(2.4) repeating steps (2.2) and (2.3) until all edges in the FCN have been traversed.
Further, the calculating of the stability s (i) of the class node i in the step (3) specifically includes the following sub-steps:
and (3.1) solving the weighted incomes of all class nodes in the CDN obtained in the step (2). Weighted incomes wi of class nodes iiDefined as the sum of the strength values of all incoming edges connected to this type of node in the CDN, that is:
wherein v isiIs a neighbor class node set of class node i; w (m, i) is the intensity value at edge < m, i >.
And (3.2) solving the weighted out-degree of all the class nodes in the CDN obtained in the step (2). Weighted out degree wo of class node iiDefined as the sum of the strength values of all outgoing edges connected to this type of node in the CDN, that is:
wherein v isiIs a neighbor class node set of class node i; w (i, m) is the intensity value at edge < i, m >.
(3.3) calculating the stability s (i) of the node i based on the weighted in degree and the weighted out degree of the node i obtained in the steps (3.1) and (3.2):
further, the stability of the whole software in the step (4) is defined as:
wherein, | NcI Return to NcNumber of class nodes in.
Compared with the prior art, the invention has the following advantages and positive effects:
(1) the FCN and the CDN are constructed based on dynamic analysis of Java software in operation, represent methods in the software and real interactive relations among the methods, classes and classes, are more accurate than a static analysis method based on software source codes, and solve the problem of software complexity measurement work based on static analysis to a certain extent.
(2) The invention provides a high-quality software recommendation method based on software stability measurement, which constructs a more accurate interaction model among software elements through software dynamic analysis, integrates interaction strength into the software stability measurement, makes up the defects of the existing work, and provides technical support for selecting high-quality software with high stability from a plurality of pieces of software with similar functions for understanding the software.
Drawings
FIG. 1 source code written in the Java language of the present invention;
FIG. 2 is a FCN constructed by an embodiment of the present invention;
FIG. 3 is a CDN constructed with only nodes and no edges constructed by embodiments of the present invention;
FIG. 4 is a CDN constructed by an embodiment of the present invention to include an edge;
fig. 5 is a final CDN constructed by an embodiment of the present invention.
Detailed Description
The technical scheme of the invention is further explained by the embodiment and the accompanying drawings:
the invention provides a high-quality software recommendation method based on software stability measurement, which comprises the following specific steps:
(1) the method calling process of software written in Java language at runtime is abstracted into a software running network-method calling network FCN ═ N, D. Fig. 1 shows a Java source code. According to the Java source code given in fig. 1, when it runs on the JVM, first, a call. Sub1(int augend, int addend) calls sub2(int augend, int addend) and add. Sub2(int authed, int addenda) calls the call mul (int authed, int addenda) method at run time. The methods are named according to the form of 'class name, method name and parameter list', and are complete names of the methods. According to the operating condition of the Java source code shown in fig. 1, the FCN shown in fig. 2 can be obtained, and the text of the node edge is the name of the corresponding method of the node. Wherein, N ═ { main, sub1, sub2, add, mul } is a set of method nodes (for simplicity, the class name of the class in which each method is located and the parameter list of each method are ignored); d { < main, sub1>, < main, add >, < sub1, sub2>, < sub2, mul >, < sub2, add > } is a set of directed edges, which represents the calling relationship between methods.
(2) Building a dependent network CDN (N) based on the FCN completed in the step (1)c,Dc). The construction of the CDN specifically includes the following sub-steps:
(2.1) extracting all classes where the method is located in the FCN, and constructing a CDN with nodes and no edges, namely (N ═ CDNc,DcΦ). Φ represents the edge set as null. According to the Java source code fragment given in fig. 1, a corresponding CDN (N) can be constructedc,DcΦ) (as shown in fig. 3), where N iscThe { Calculator, ADD, SUB } is the set of class nodes in the source code, and the characters of the node edges are the names of the corresponding classes of the nodes.
(2.2) taking one side in the step (1) D to be less than fi,fjIs > ∈ D, according to fiAnd fjThe naming rule of (2) determines the class it defines, let fiDefined in class k, fjDefined in class p. If k is not equal to p and < k, p > is not in DcIf internal, adding < k, p > to DcOtherwise, no processing is performed. If the edge is taken, as shown in FIG. 2<sub2,mul>Since SUB2 is defined in the SUB class, mul is defined in the class caller, and SUB and caller are not the same class, it will<sub2,mul>Addition of Dc。
(2.3) the intensity value on the side < k, p > is defined as the proportion of the class p that directly or indirectly affects the class k, i.e.:
wherein, mcnt (p) returns the number of methods included in class p (the number of methods belonging to class p in FCN); po (p) returns the number of methods in class p that may have an impact on class k (there is a directed path (in the direction of the inverse arrow) to a method within class k for methods within class p that do not pass through other classes. w (k, p) is the intensity value at edge < k, p >. As shown in fig. 2, mul affects sub2 through mul ← sub2, so po (mul) | { mul } | 1, while mcnt (p) | { main, mul } | 2, so w (sub2, mul) ═ 1/2.
(2.4) repeating the steps (2.2) and (2.3) until all edges in the FCN are traversed, the final CDN shown in fig. 5 can be obtained.
(3) And (3) calculating the stability s (i) of the class node i based on the CDN constructed in the step (2) to be used as a stability metric value of the corresponding class of the node. The calculation of the stability s (i) of the class node i specifically comprises the following substeps:
and (3.1) solving the weighted incomes of all class nodes in the CDN obtained in the step (2). Weighted incomes wi of class nodes iiDefined as the sum of the strength values of all incoming edges connected to this type of node in the CDN, that is:
wherein v isiIs a neighbor class node set of class node i; w (m, i) is the intensity value at edge < m, i >. Thus, the weighted in-degree wi of the class node Calculator in FIG. 5CalculatorWeighted in-degree of SUB is wi, 1/2SUBWeighted incomes wi of ADD ═ 1ADD1, the degree of weighting of ADD is wi'ADD=1+1=2。
And (3.2) solving the weighted out-degree of all the class nodes in the CDN obtained in the step (2). Weighted out degree wo of class node iiDefined as the sum of the strength values of all outgoing edges connected to this type of node in the CDN, that is:
wherein v isiIs a neighbor class node set of class node i; w (i, m) is the intensity value at edge < i, m >. Thus, the weighted out degree wo of the class node Calculator in FIG. 5CalculatorAddition of 1+1 to 2, SUBThe authority degree is woSUB1+ 1/2-1.5, ADD weighted out of woADD=0。
(3.3) calculating the stability s (i) of the node i based on the weighted in degree and the weighted out degree of the node i obtained in the steps (3.1) and (3.2):
therefore, in fig. 5, s (predictor) of the class node predictor (1/2)/(1/2+2) is 0.2, S (SUB) of SUB is 1/(1+1.5) is 0.4, and s (ADD) of ADD is 2/(2+0) is 1.
(4) Calculating the stability of the whole software based on the stability values of the various classes calculated in the step (3)Therefore, the stability value of the code shown in fig. 1 is (0.2+0.4+1)/3 is 0.533.
(5) And (4) calculating the stability of a plurality of pieces of software with similar functions based on the steps (1) to (4), and performing descending order according to the stability of the plurality of pieces of software, wherein the software with the top rank is the high-quality software recommended to the user. Assuming that the calculated stability of the other 1 functionally similar software is 0.4, the results in descending order of their stability are 0.533> 0.4. Therefore, the first ranked software (software corresponding to 0.533) can be recommended as the high-quality software.
The particular embodiments described herein are illustrative only of the spirit of the invention, which is one possible scenario in reality, and is not intended to represent all scenarios. Various modifications or additions may be made to the described embodiments or alternatives may be employed by those skilled in the art without departing from the spirit or ambit of the invention as defined in the appended claims.
Claims (8)
1. A high-quality software recommendation method based on software stability measurement is characterized by comprising the following steps:
(1) abstracting a method calling process of software written by Java language during operation into a method calling network FCN (N, D); wherein N is a set of method nodes in software; d { < f { [ equation ]i,fj>}(fi∈N,fje.N) is a set of directed edges, representing the calling relationship between methods, from fiDirection fj;
(2) Building a dependent network CDN (N) based on the FCN completed in the step (1)c,Dc) (ii) a Wherein N iscThe method is a set of class nodes where methods in the FCN are located; dc={<ci,cj>}(ci∈Nc,cj∈Nc) Is a set of directed edges representing dependencies between classes, from ciPoint of direction cj(ii) a Each edge in the CDN is endowed with a nonnegative real number as an intensity value of the dependency relationship between the classes;
(3) calculating the stability s (i) of the class node i based on the CDN constructed in the step (2) and taking the stability s (i) as a stability metric value of a corresponding class of the node;
(4) calculating the Stability of the whole software based on the Stability values of all classes calculated in the step (3);
(5) and (4) calculating the stability of a plurality of pieces of software with similar functions based on the steps (1) to (4), and performing descending order according to the stability of the plurality of pieces of software, wherein the software with the top rank is the high-quality software recommended to the user.
2. The method for recommending high-quality software based on software stability metric of claim 1, wherein the calling relationship between the method and the method in step (1) is obtained according to the actual running process of the Java software on the Java virtual machine, and is a dynamic analysis rather than a static analysis based on source code.
3. A method for recommending high-quality software based on software stability metric according to claim 1, wherein said class in step (2) is obtained according to the method in FCN; the class in the FCN where the method is defined becomes the class in the CDN; meanwhile, the classes in the CDN are a collective name of classes, internal classes, abstract classes, and interfaces in Java.
4. The method according to claim 1, wherein the dependency relationship between the classes in step (2) is obtained according to a call relationship between the methods in the FCN, that is, if a call relationship exists between the methods included in a class, the dependency relationship exists between the corresponding classes.
5. A method for recommending high-quality software based on software stability metric according to claim 1, wherein said strength value of the dependency relationship between classes in step (2) is obtained from the call relationship between methods in FCN.
6. The method for recommending high-quality software based on software stability metric of claim 1, wherein the CDN construction in the step (2) specifically comprises the following sub-steps:
(2.1) extracting all classes where the method is located in the FCN, and constructing a CDN with nodes and no edges, namely (N ═ CDNc,DcΦ); phi represents that the edge set is empty;
(2.2) taking one side in the step (1) D to be less than fi,fjIs > ∈ D, according to fiAnd fjThe naming rule of (2) determines the class it defines, let fiDefined in class k, fjDefined in class p; if k is not equal to p and < k, p > is not in DcIf internal, adding < k, p > to DcOtherwise, no processing is carried out;
(2.3) the intensity value on the side < k, p > is defined as the proportion of the class p that directly or indirectly affects the class k, i.e.:
wherein, mcnt (p) returns the number of methods contained in class p; po (p) returning the number of methods in the class p which may affect the class k, wherein the methods in the class p have a method that a directed path reaches the class k, and the path does not pass through other classes, and the method in the class p is called the method which affects the class k; w (k, p) is the intensity value at edge < k, p >;
(2.4) repeating steps (2.2) and (2.3) until all edges in the FCN have been traversed.
7. A method for recommending high-quality software based on software stability metric according to claim 1, wherein the calculation of the stability s (i) of class node i in step (3) specifically comprises the following sub-steps:
(3.1) solving the weighted incomes of all class nodes in the CDN obtained in the step (2); weighted incomes wi of class nodes iiDefined as the sum of the strength values of all incoming edges connected to this type of node in the CDN, that is:
wherein v isiIs a neighbor class node set of class node i; w (m, i) is the intensity value at which the side < m, i > is greater;
(3.2) solving the weighted output degree of all class nodes in the CDN obtained in the step (2); weighted out degree wo of class node iiDefined as the sum of the strength values of all outgoing edges connected to this type of node in the CDN, that is:
wherein v isiIs a neighbor class node set of class node i; w (i, m) is the intensity value at edge < i, m > is;
(3.3) calculating the stability s (i) of the node i based on the weighted in degree and the weighted out degree of the node i obtained in the steps (3.1) and (3.2):
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910033598.7A CN109947428B (en) | 2019-01-14 | 2019-01-14 | High-quality software recommendation method based on software stability measurement |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910033598.7A CN109947428B (en) | 2019-01-14 | 2019-01-14 | High-quality software recommendation method based on software stability measurement |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109947428A CN109947428A (en) | 2019-06-28 |
CN109947428B true CN109947428B (en) | 2022-04-26 |
Family
ID=67007256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910033598.7A Active CN109947428B (en) | 2019-01-14 | 2019-01-14 | High-quality software recommendation method based on software stability measurement |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109947428B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114365095A (en) * | 2019-11-04 | 2022-04-15 | 码睿科技(北京)有限公司 | System and method for evaluating code contribution of software developer |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104932944A (en) * | 2015-06-15 | 2015-09-23 | 浙江金大科技有限公司 | Cloud computing resource service combination method based on weighted bipartite graph |
CN105389192A (en) * | 2015-12-18 | 2016-03-09 | 浙江工商大学 | Method for measuring importance of software class based on weighted q2 index |
CN106293800A (en) * | 2015-06-29 | 2017-01-04 | 中兴通讯股份有限公司 | Software recommendation method and device |
US9830392B1 (en) * | 2013-12-18 | 2017-11-28 | BloomReach Inc. | Query-dependent and content-class based ranking |
CN107608872A (en) * | 2016-07-11 | 2018-01-19 | 北京京东尚科信息技术有限公司 | A kind of horizontal method and apparatus of the modularization of inspection software system |
-
2019
- 2019-01-14 CN CN201910033598.7A patent/CN109947428B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9830392B1 (en) * | 2013-12-18 | 2017-11-28 | BloomReach Inc. | Query-dependent and content-class based ranking |
CN104932944A (en) * | 2015-06-15 | 2015-09-23 | 浙江金大科技有限公司 | Cloud computing resource service combination method based on weighted bipartite graph |
CN106293800A (en) * | 2015-06-29 | 2017-01-04 | 中兴通讯股份有限公司 | Software recommendation method and device |
CN105389192A (en) * | 2015-12-18 | 2016-03-09 | 浙江工商大学 | Method for measuring importance of software class based on weighted q2 index |
CN107608872A (en) * | 2016-07-11 | 2018-01-19 | 北京京东尚科信息技术有限公司 | A kind of horizontal method and apparatus of the modularization of inspection software system |
Non-Patent Citations (1)
Title |
---|
"基于软件网络的服务自动分类和推荐方法研究";潘伟丰等;《2011年中国计算机学会服务计算学术会议(CCF NCSC2011)论文集》;20110818;1-11页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109947428A (en) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3631618B1 (en) | Automated dependency analyzer for heterogeneously programmed data processing system | |
CN109739494B (en) | Tree-LSTM-based API (application program interface) use code generation type recommendation method | |
Ludwig | Applying particle swarm optimization to quality-of-service-driven web service composition | |
JP2010522397A (en) | Using collaboration development information in a team environment | |
CA3050159C (en) | Artificial intelligence (ai) based automatic rule generation | |
US20110016447A1 (en) | Method for improving execution efficiency of a software package customization | |
Wang et al. | Lightweight global and local contexts guided method name recommendation with prior knowledge | |
US20210117313A1 (en) | Language agnostic automation scripting tool | |
US20220365870A1 (en) | Intelligent generation of automated user interface testing methods | |
US20220365872A1 (en) | Intelligent generation of page objects for user interface testing | |
CN109285024B (en) | Online feature determination method and device, electronic equipment and storage medium | |
US9367307B2 (en) | Staged points-to analysis for large code bases | |
Munnelly et al. | An aspect-oriented approach to the modularisation of context | |
CN109947428B (en) | High-quality software recommendation method based on software stability measurement | |
Pawade et al. | Exploring software complexity metric from procedure oriented to object oriented | |
Spillner et al. | Rule-Based Resource Matchmaking for Composite Application Deployments across IoT-Fog-Cloud Continuums | |
US11442724B2 (en) | Pattern recognition | |
Sarhan et al. | Effective spectrum based fault localization using contextual based importance weight | |
US20190087165A1 (en) | System and method for implementing dynamic strategies of computing infrastructure using a domain-specific language for cloud services infrastructure | |
CN109976807B (en) | Key package identification method based on software operation network | |
CN109871318B (en) | Key class identification method based on software operation network | |
Lee et al. | Feature-oriented engineering of PBX software | |
CN109918129B (en) | Software key function identification method based on g-kernel decomposition | |
US20230266951A1 (en) | Method and system for learning based dynamic software system adaptation | |
Guojie et al. | Enhancing software reuse through application-level component approach |
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 |