CN114138328A - Software reconstruction prediction method based on code peculiar smell - Google Patents
Software reconstruction prediction method based on code peculiar smell Download PDFInfo
- Publication number
- CN114138328A CN114138328A CN202111468006.8A CN202111468006A CN114138328A CN 114138328 A CN114138328 A CN 114138328A CN 202111468006 A CN202111468006 A CN 202111468006A CN 114138328 A CN114138328 A CN 114138328A
- Authority
- CN
- China
- Prior art keywords
- source code
- file
- code file
- odor
- version
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/72—Code refactoring
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
The invention discloses a software reconstruction prediction method based on code odor. The method realizes the prediction of software reconstruction based on LGBM and Logistic Regression, reasonably utilizes structural information, code odor intensity and historical information contained in a source code file, and improves the prediction effect by means of strong complementarity between different information metrics. In addition, the problem of sample proportion imbalance is solved by an oversampling technology SMOTE. The method can efficiently predict the reconstruction opportunity of the software, and has very important significance for improving the maintainability and the expansibility of the software.
Description
Technical Field
The invention relates to the field of software maintenance, in particular to a software reconstruction prediction method based on code odor.
Background
During software maintenance and evolution, software systems need to be continually modified by developers to fulfill new requirements, enhance existing features, or fix important errors. Due to time pressure or other relevant information, developers do not always have time or willingness to control the complexity of the system and find a good design solution before applying their modifications. They may write code solely for the purpose of implementing functions, regardless of the structure and readability of the program. The code writing becomes more and more disordered, so that the whole code structure becomes overstaffed, and code peculiar smell is often introduced at the moment.
Code odor indicates that suboptimal design or implementation choices in source code, which easily cause changes and errors, cause code quality degradation, cause troubles in understanding and maintaining project codes for software developers, and are an important factor causing technical debt, thereby causing unnecessary maintenance cost.
In the development and life cycle of software, maintenance is considered to be one of the most difficult and expensive tasks, and especially if the peculiar smell in a software system is too heavy, the reconstruction work is often very expensive.
Recent researches show that the phenomenon of code odor exists in the existing software system quite frequently, a large number of odor examples are introduced when files where the odor examples exist are created, and the odor examples tend to exist in the software system and survive for a long time, which tends to bring hidden troubles in subsequent maintenance and expansion to the software system.
Therefore, it is important to select a proper time for reconstruction and odor elimination, which improves the maintainability and expansibility of the software.
In the past, attention is paid to detection of code odor or priority of software reconstruction, and few researches are carried out for predicting the code reconstruction opportunity.
Disclosure of Invention
From the perspective of code reconstruction prediction, the invention provides a code reconstruction prediction method based on machine learning integration technology by using structural information (in aspects of scale size, complexity, coupling degree, cohesion and the like) of a code file, strength of peculiar smell and historical information (information such as duration, change times and the like of the peculiar smell in the file), and can effectively solve the problems. The technical scheme adopted by the invention is as follows:
a software reconstruction prediction method based on code odor specifically comprises the following steps:
step (1) giving a set F of m × n source code file versions in the system to be analyzed (F)1,1,F1,2,…,Fi,j,…,Fm,n) In which F isi,jRepresenting source code files FiUsing a code analysis tool to analyze each source code file, and enabling each source code file to be of a version Fi,jIs represented as Si,j=<className,classVersion,structure,hasSmell>1,2, …, m, j 1,2, …, n, where className denotes the source code file version Fi,jClass name (assuming a source code file contains a class), classVersion denotes the source code file version Fi,jVersion number in project history, structure represents source code file version Fi,jStructural feature set W ═<wLOC,wNOA,wCBO,wMPC,wTCC,wMcCabe,wWMC>Wherein w isLOCNumber of lines of code, w, representing the fileNOAIndicates the number of attributes in the file, wCBOIndicates the number of target classes coupled to the file (coupling is the method or variable of the target class called by the method in the file), wMPCIndicates the number of other methods called by the method in the file, wTCCIndicating the number of methods, w, in which the association occurs directly by accessing the same attributeMcCabeRepresents the complexity, w, of the file calculated by McCabe metrologyWMCRepresents the sum of the round-robin complexity of the methods in the file, hasSmell represents the source code file version Fi,jWhether a certain code odor exists (1 means that the odor exists, and 0 means that the odor does not exist);
step (2) if the source code file version Fi,jThe characteristic threshold set for distinguishing whether a code odor exists is T ═<w1|b1,...,wg|bg,...,wt|bt>Wherein w isgIs a feature of W, bgFeatures w for recognition of such code odorgThe corresponding threshold, g 1,2, …, t, is given by the following equationCalculating to obtain the odor intensity:
wherein, m (w)g) Indicating the presence in the system to be analyzed due to the feature wgMaximum or minimum value (when w isgOver bgWhen a certain code odor is caused, the maximum value is selected, and when w isgIs less than bgThe minimum value is selected when a certain code odor is caused);
source code file version F after adding intensity informationi,jThe structural and odor information metric of (a) is expressed as:
S′i,j=<className,classVersion,structure,hasSmell,intensity>
step (3) obtaining historical information measurement of a source code file:
source code file FiA code peculiar smell is introduced into a certain historical version p, and a source code file FiIf the current version is j, the source code file version Fi,jThe historical information-related metric may be expressed as:
Hi,j=<className,classVersion,diffDays,diffVersions,action>
wherein diffDays represents the natural days of the interval between the versions p and j, diffVersion represents the version number of the interval between the versions p and j, and action represents the file F between the versions p and jiThe number of times the modification occurred;
step (4) we find all source code file versions with code odor eliminated in the source code file set F, and the source code file versions are divided into the following two types:
1)Fi,jhas Smell ═ 1, and Fi,j+1hasSmell ═ 0;
2)Fi,jhas Smell ═ 1, and j is the source code file FiThe last version of (2) is also considered in view of the fact that deletion of a file may also be a result of an excessive odor;
according to 1) and 2) The strategy in (1) is to obtain all the last source code file versions F with certain code peculiar smell in the source code file set Fi,jForming a source code file set for eliminating code peculiar smell, and expanding the source code file set through an oversampling technology SMOTE to form zetaPThat is, the source code file version left in the source code file set F is taken as a negative sample ζ of the data set, i.e., a positive sample in the data setNFinally, obtaining a complete sample data set of zeta ═ zetaP∪ζNTherein ζ ofPThe reconstruction tag value y corresponding to each source code file version is 1, zetaNThe reconstructed tag value y corresponding to each source code file version in the file is 0;
step (5) uses the feature recursive elimination technique (RFE), Random Forest Classifier and LGBM Classifier to retain the most important z features, denoted as W*=(w1,w2,…,wz) (ii) a Source code file version F after feature selectioni,jCan be used (S)* i,j,H* i,j) Is shown in which S is* i,jRepresenting retained structural and odor information metrics, H* i,jRepresenting a retained historical information metric;
step (6) using a part of data in the data set as a training set zetatrain;
Step (7) information representation (S) for each source code file version* i,j,H* i,j) Will S* i,jInput into LGBM to obtain output h1Is prepared from H* i,jInputting the input into Logistic Regression to obtain output h2Output of the final modelRepresenting prediction probability of reconstructionWherein a is1And a2Represents a weight, and a1+a2=1;
Step (8) Using CrossfulCross-entropy Loss Function (Cross-entropy Loss Function) to compute the reconstructed tag value y and outputThe loss function is defined as follows:
wherein d represents the number of samples trained;
step (9) utilizing the training set ζtrainTraining LGBM and Logistic Regression model parameters until reaching maximum iteration times MaximumIter, and obtaining an LGBM and Logistic Regression model with the best parameters after training;
and (10) for a source code file, firstly acquiring the file, odor information measurement and historical information measurement according to the steps (1), (2) and (3), then extracting the optimal features according to the step (5), inputting the features into the model obtained in the step (9), and finally obtaining the prediction probability of whether the file needs to be reconstructed, wherein if the probability is more than or equal to 0.5, the reconstruction is required, and if the probability is less than 0.5, the reconstruction is not required.
The invention has the following benefits:
1. the method shows the feasibility and effectiveness of the machine learning technology in the field of code reconstruction prediction.
2. According to the definition of code peculiar smell, the multidimensional information contained in the source code file is reasonably utilized, and the effect of the code reconstruction prediction method is obviously improved by means of strong complementarity between different information metrics.
3. Compared with GBDT, LGBM has better accuracy, can parallelize and process large-scale data, and can better utilize structural characteristics in a source file. The good interpretability of the Logistic Regression model can help to better observe the influence on the final result in the historical measurement information. By means of an integration technology, the prediction accuracy is improved by using a LGBM + Logistic Regression mode.
Drawings
FIG. 1 is a flowchart of a software reconfiguration prediction method based on code odor according to the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in detail below with reference to the accompanying drawings.
For convenience of description, the associated symbols are defined as follows:
f: a set of source code file versions.
Fi,j: source code file FiThe jth version of (1).
W: source code file version Fi,jThe set of structural features of (1).
T: a set of feature thresholds for detecting code odor.
Si,j: source code file version Fi,jAnd the odor information metric.
intensity: source code file version Fi,jIntensity of middle odor.
Hi,j: source code file version Fi,jIs measured and represented.
S* i,j: source code file version Fi,jAnd measuring the retained structure and peculiar smell information after feature selection.
H* i,j: source code file version Fi,jAnd measuring historical information retained after feature selection.
MaximumIter: the number of iterations.
a1And a2: the weights are learned.
The software reconstruction prediction method based on code odor provided by the invention is explained in detail below with reference to the attached drawing 1, and comprises the following steps:
step (1) giving a set F of m × n source code file versions in the system to be analyzed (F)1,1,F1,2,…,Fi,j,…,Fm,n) In which F isi,jRepresenting source code files FiJ (th) version of (2), using the codeThe analysis tool analyzes each source code file and converts each source code file into a version Fi,jIs represented as Si,j=<className,classVersion,structure,hasSmell>1,2, …, m, j 1,2, …, n, where className denotes the source code file version Fi,jClass name (assuming a source code file contains a class), classVersion denotes the source code file version Fi,jVersion number in project history, structure represents source code file version Fi,jStructural feature set W ═<wLOC,wNOA,wCBO,wMPC,wTCC,wMcCabe,wWMC>Wherein w isLOCNumber of lines of code, w, representing the fileNOAIndicates the number of attributes in the file, wCBOIndicates the number of target classes coupled to the file (coupling is the method or variable of the target class called by the method in the file), wMPCIndicates the number of other methods called by the method in the file, wTCCIndicating the number of methods, w, in which the association occurs directly by accessing the same attributeMcCabeRepresents the complexity, w, of the file calculated by McCabe metrologyWMCRepresents the sum of the round-robin complexity of the methods in the file, hasSmell represents the source code file version Fi,jWhether a certain code odor exists (1 means that the odor exists, and 0 means that the odor does not exist);
step (2) if the source code file version Fi,jThe characteristic threshold set for distinguishing whether a code odor exists is T ═<w1|b1,...,wg|bg,...,wt|bt>Wherein w isgIs a feature of W, bgFeatures w for recognition of such code odorgThe corresponding threshold, g ═ 1,2, …, t, and the odor intensity was calculated by the following equation:
wherein, m (w)g) Indicating the presence in the system to be analyzed due to the feature wgMaximum or minimum value (when w isgOver bgWhen a certain code odor is caused, the maximum value is selected, and when w isgIs less than bgThe minimum value is selected when a certain code odor is caused);
source code file version F after adding intensity informationi,jThe structural and odor information metric of (a) is expressed as:
S′i,j=<className,classVersion,structure,hasSmell,intensity>
step (3) obtaining historical information measurement of a source code file:
considering that the time of the existence of the peculiar smell in the file and the source file change frequency are also important factors for implementing reconstruction, we need to obtain the characteristic measurement about the peculiar smell history information through the software version history, and assume that the source code file FiA code peculiar smell is introduced into a certain historical version p, and a source code file FiIf the current version is j, the source code file version Fi,jThe historical information-related metric may be expressed as:
Hi,j=<className,classVersion,diffDays,diffVersions,action>
wherein diffDays represents the natural days of the interval between the versions p and j, diffVersion represents the version number of the interval between the versions p and j, and action represents the file F between the versions p and jiThe number of times the modification occurred;
step (4) we find all source code file versions with code odor eliminated in the source code file set F, and the source code file versions are divided into the following two types:
1)Fi,jhas Smell ═ 1, and Fi,j+1hasSmell ═ 0;
2)Fi,jhas Smell ═ 1, and j is the source code file FiThe last version of (2) is also considered in view of the fact that deletion of a file may also be a result of an excessive odor;
according to the strategies in 1) and 2), acquiring that a certain code difference exists in the source code file set FAll last source code file versions F of tastei,jThe method comprises the steps of forming a source code file set for eliminating code peculiar smell, and in view of the fact that an application scene is essentially a classification task with unbalanced positive and negative sample numbers, expanding the source code file set through an oversampling technology SMOTE, specifically, the SMOTE randomly selects an example from a small number of classes and identifies the nearest neighbor of the example, creates a new example among the examples, and finally obtains zetaPThat is, the source code file version left in the source code file set F is taken as a negative sample ζ of the data set, i.e., a positive sample in the data setNFinally, obtaining a complete sample data set of zeta ═ zetaP∪ζNTherein ζ ofPThe reconstruction tag value y corresponding to each source code file version is 1, zetaNThe reconstructed tag value y corresponding to each source code file version in the file is 0;
step (5) in order to further dig out important features in the data set, a feature recursive elimination technique (RFE), a Random Forest Classifier and an LGBM Classifier are used for reserving the most important z features, which are marked as W*=(w1,w2,…,wz) (ii) a Source code file version F after feature selectioni,jCan be used (S)* i,j,H* i,j) Is shown in which S is* i,jRepresenting retained structural and odor information metrics, H* i,jRepresenting a retained historical information metric;
step (6) taking 90% of data in the data set as a training set zetatrainThe remaining 10% was set as test set ζtest。
Step (7) information representation (S) for each source code file version* i,j,H* i,j) Will S* i,jInput into LGBM to obtain output h1Is prepared from H* i,jInputting the input into Logistic Regression to obtain output h2Output of the final modelRepresenting prediction probability of reconstructionWherein a is1And a2Represents a weight, and a1+a2=1;
Step (8) uses a Cross-entropy Loss Function (Cross-entropy Loss Function) to compute the reconstructed tag value y and outputThe loss function is defined as follows (where d represents the number of samples trained):
step (9) utilizing the training set ζtrainTraining LGBM and Logistic Regression model parameters until reaching maximum iteration number MaximuIter, setting the maximum iteration number MaximumIter to be 500, and finally obtaining an LGBM and Logistic Regression model with the best parameters after training;
and (10) for a source code file, firstly acquiring the file, odor information measurement and historical information measurement according to the steps (1), (2) and (3), then extracting the optimal features according to the step (5), inputting the features into the model obtained in the step (9), and finally obtaining the prediction probability of whether the file needs to be reconstructed, wherein if the probability is more than or equal to 0.5, the reconstruction is required, and if the probability is less than 0.5, the reconstruction is not required.
The method can be used for reconstruction prediction of industrial software to find out a proper time to reconstruct the software to eliminate the peculiar smell.
Claims (1)
1. The software reconstruction prediction method based on code odor is characterized by comprising the following steps:
the method comprises the following steps: given a set of m × n source code file versions F ═ F in the system to be analyzed (F ═ F)1,1,F1,2,...,Fi,j,...,Fm,n) In which F isi,jRepresenting source code files FiUsing a code analysis tool to analyze eachA source code file, each source code file version Fi,jIs represented as Si,j=<className,classVersion,structure,hasSmell>Form of (1), 2, 1,2, n, where className denotes the source code file version Fi,jSetting a source code file to contain a class; classVersion denotes Source code File version Fi,jVersion number in project history, structure represents source code file version Fi,jThe structural feature set W, hasSmell of (A) represents the source code file version Fi,jIf a code odor exists, 1 indicates that the odor exists, and 0 indicates that the code odor does not exist;
set of characteristics W ═<wLOC,wNOA,wCBO,wMPC,wTCC,wMcCabe,wWMC>Wherein w isLOCNumber of lines of code, w, representing the fileNOAIndicates the number of attributes in the file, wCBORepresenting the number of target classes coupled to the file, i.e. the method in the file calls the method or variable of the target class; w is aMPCIndicates the number of other methods called by the method in the file, wTCCIndicating the number of methods, w, in which the association occurs directly by accessing the same attributeMcCabeRepresents the complexity, w, of the file calculated by McCabe metrologyWMCRepresenting the sum of the degree of complexity of the method in the file;
step two: if source code file version Fi,jThe characteristic threshold set for distinguishing whether a code odor exists is T ═<w1|b1,...,wg|bg,...,wt|bt>Wherein w isgIs a feature of W, bgFeatures w for recognition of such code odorgThe corresponding threshold, g 1,2, t, is calculated as the odor intensity by the following formula:
wherein, m (w)g) Indicating the presence in the system to be analyzed due to the feature wgMaximum or minimum values that cause some code odor: when w isgOver bgWhen a certain code odor is caused, the maximum value is selected, and when w isgIs less than bgSelecting a minimum value when a certain code odor is caused;
source code file version F after adding intensity informationi,jThe structural and odor information metric of (a) is expressed as:
S′i,j=<className,classVersion,structure,hasSmell,intensity>;
step three: obtaining historical information measurement of a source code file:
source code file FiA code peculiar smell is introduced into a certain historical version p, and a source code file FiIf the current version is j, the source code file version Fi,jThe historical information-related metric may be expressed as:
Hi,j=<className,classVersion,diffDays,diffVersions,action>
wherein diffDays represents the natural days of the interval between the versions p and j, diffVersion represents the version number of the interval between the versions p and j, and action represents the file F between the versions p and jiThe number of times the modification occurred;
step four: we find all versions of source code files for code odor elimination in the source code file set F, and fall into the following two categories:
1)Fi,jhas Smell ═ 1, and Fi,j+1hasSmell ═ 0;
2)Fi,jhas Smell ═ 1, and j is the source code file FiThe last version of (a);
according to the strategies in 1) and 2), all the last source code file versions F with certain code peculiar smell are obtained from the source code file set Fi,jForming a source code file set for eliminating code peculiar smell, and expanding the source code file set through an oversampling technology SMOTE to form zetaPIs that isPositive samples in the data set, and the source code file versions left in the source code file set F are taken as negative samples ζ of the data setNAnd finally, obtaining a complete sample data set: ζ ═ ζP∪ζNTherein ζ ofPThe reconstruction tag value y corresponding to each source code file version is 1, zetaNThe reconstructed tag value y corresponding to each source code file version in the file is 0;
step five: feature recursive elimination techniques, Random Forest Classifier and LGBM Classifier are used to preserve the most important z features, denoted as W*=(w1,w2,...,wz) (ii) a Source code file version F after feature selectioni,jCan be used (S)* i,j,H* i,j) Is shown in which S is* i,jRepresenting retained structural and odor information metrics, H* i,jRepresenting a retained historical information metric;
step six: using a part of data in the data set as a training set zetatrain;
Step seven: information representation for each source code file version (S)* i,j,H* i,j) Will S* i,jInput into LGBM to obtain output h1Is prepared from H* i,jInputting the input into Logistic Regression to obtain output h2Output of the final modelRepresenting prediction probability of reconstructionWherein a is1And a2Represents a weight, and a1+a2=1;
Step eight: computing reconstruction tag values y and outputs using a cross entropy loss functionLoss between, lossThe function is defined as follows:
wherein d represents the number of samples trained;
step nine: using training set ζtrainTraining LGBM and Logistic Regression model parameters until reaching maximum iteration times MaximumIter, and obtaining an LGBM and Logistic Regression model with the best parameters after training;
step ten: for a source code file, firstly, according to the first step, the second step and the third step, obtaining the file, the peculiar smell information measurement and the historical information measurement, then extracting the optimal features according to the fifth step, inputting the features into the model obtained in the ninth step, and finally obtaining the prediction probability of whether the file needs to be reconstructed, wherein if the probability is more than or equal to 0.5, the reconstruction is required, and if the probability is less than 0.5, the reconstruction is not required.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111468006.8A CN114138328A (en) | 2021-12-03 | 2021-12-03 | Software reconstruction prediction method based on code peculiar smell |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111468006.8A CN114138328A (en) | 2021-12-03 | 2021-12-03 | Software reconstruction prediction method based on code peculiar smell |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114138328A true CN114138328A (en) | 2022-03-04 |
Family
ID=80387450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111468006.8A Pending CN114138328A (en) | 2021-12-03 | 2021-12-03 | Software reconstruction prediction method based on code peculiar smell |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114138328A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115113921A (en) * | 2022-08-29 | 2022-09-27 | 云账户技术(天津)有限公司 | Code reconstruction value evaluation method and device, electronic equipment and storage medium |
-
2021
- 2021-12-03 CN CN202111468006.8A patent/CN114138328A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115113921A (en) * | 2022-08-29 | 2022-09-27 | 云账户技术(天津)有限公司 | Code reconstruction value evaluation method and device, electronic equipment and storage medium |
CN115113921B (en) * | 2022-08-29 | 2022-11-08 | 云账户技术(天津)有限公司 | Code reconstruction value evaluation method and device, electronic equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109408389B (en) | Code defect detection method and device based on deep learning | |
Zheng et al. | A rolling bearing fault diagnosis method based on multi-scale fuzzy entropy and variable predictive model-based class discrimination | |
Molnar et al. | Pitfalls to avoid when interpreting machine learning models | |
CN110502277B (en) | Code bad smell detection method based on BP neural network | |
WO2014199920A1 (en) | Prediction function creation device, prediction function creation method, and computer-readable storage medium | |
CN111338692B (en) | Vulnerability classification method and device based on vulnerability codes and electronic equipment | |
JPWO2019187594A1 (en) | Learning equipment, learning methods and learning programs | |
TWI710970B (en) | Unsupervised model evaluation method, device, server and readable storage medium | |
CN114138328A (en) | Software reconstruction prediction method based on code peculiar smell | |
CN115204246A (en) | Apparatus, method and computer readable medium | |
CN114662386A (en) | Bearing fault diagnosis method and system | |
CN111950579A (en) | Training method and training device for classification model | |
CN114418146A (en) | Electromechanical equipment fault diagnosis method, system and terminal based on rule engine | |
KR102152081B1 (en) | Valuation method based on deep-learning and apparatus thereof | |
CN115510998A (en) | Transaction abnormal value detection method and device | |
CN115686995A (en) | Data monitoring processing method and device | |
CN111462893B (en) | Chinese medical record auxiliary diagnosis method and system for providing diagnosis basis | |
Hao et al. | New fusion features convolutional neural network with high generalization ability on rolling bearing fault diagnosis | |
CN114841553A (en) | Fault diagnosis method, system, equipment and storage medium for generator rotating rectifier | |
Matcha et al. | Using Deep Learning Classifiers to Identify Candidate Classes for Unit Testing in Object-Oriented Systems. | |
JP4230890B2 (en) | Model identification device, model identification program, and method of operating model identification device | |
CN114254764B (en) | Feedback-based machine learning model searching method, system, equipment and medium | |
CN113656279B (en) | Code odor detection method based on residual network and metric attention mechanism | |
CN116151107B (en) | Method, system and electronic equipment for identifying ore potential of magma type nickel cobalt | |
CN117349770B (en) | Structural health monitoring multi-strain sensor data anomaly detection and repair method |
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 |