[go: up one dir, main page]

CN119557189A - Software analysis method and electronic device - Google Patents

Software analysis method and electronic device Download PDF

Info

Publication number
CN119557189A
CN119557189A CN202411624494.0A CN202411624494A CN119557189A CN 119557189 A CN119557189 A CN 119557189A CN 202411624494 A CN202411624494 A CN 202411624494A CN 119557189 A CN119557189 A CN 119557189A
Authority
CN
China
Prior art keywords
software package
analyzed
software
influence
relationship
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
Application number
CN202411624494.0A
Other languages
Chinese (zh)
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.)
XFusion Digital Technologies Co Ltd
Original Assignee
XFusion Digital Technologies Co Ltd
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 XFusion Digital Technologies Co Ltd filed Critical XFusion Digital Technologies Co Ltd
Priority to CN202411624494.0A priority Critical patent/CN119557189A/en
Publication of CN119557189A publication Critical patent/CN119557189A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开一种软件分析方法及电子设备,该方法中,在确定代码修改的待分析软件包后,根据预设的影响关系,确定待分析软件包会影响运行的目标对象,然后,基于待分析软件包和目标对象,执行目标操作,这样,借助于预设的影响关系,可快速且准确地找到待分析软件包会影响运行的目标对象,不必人工再进行补充测试,所以可提升测试效率。另外,在确定出现异常的待分析软件包后,根据预设的影响关系,确定会影响待分析软件包运行的目标对象,然后,基于待分析软件包和目标对象,执行目标操作,这样,借助于预设的影响关系,可快速找到会影响待分析软件包运行的目标对象,不必人工确定目标对象,所以可提升异常定位效率。

The present application discloses a software analysis method and electronic device, in which, after determining the software package to be analyzed with code modification, according to the preset influence relationship, it is determined that the software package to be analyzed will affect the running target object, and then, based on the software package to be analyzed and the target object, the target operation is performed, so that, with the help of the preset influence relationship, the target object that the software package to be analyzed will affect the running can be quickly and accurately found, without the need for manual supplementary testing, so the test efficiency can be improved. In addition, after determining the software package to be analyzed with an abnormality, according to the preset influence relationship, the target object that will affect the running of the software package to be analyzed is determined, and then, based on the software package to be analyzed and the target object, the target operation is performed, so that, with the help of the preset influence relationship, the target object that will affect the running of the software package to be analyzed can be quickly found, without the need for manual determination of the target object, so the abnormality positioning efficiency can be improved.

Description

Software analysis method and electronic equipment
Technical Field
The present application relates to the field of software technologies, and in particular, to a software analysis method and an electronic device.
Background
In the field of software technology, essentially every piece of software involves testing and exception localization. In the related art, after the software package of the software is subjected to code modification, whether the code modification causes abnormality is tested by adopting a mode of smoking and manual supplementary test, and the supplementary test is needed manually, so that the test efficiency is lower. In the related art, after the software is abnormal, the technician relies on experience and intuition to find the object which possibly causes the abnormality, and then the abnormality cause, namely the positioning abnormality, is further checked from the objects, and the object which possibly causes the abnormality is required to be manually determined, so that the problem of lower efficiency is also caused.
Disclosure of Invention
The embodiment of the application provides a software analysis method and electronic equipment, which are used for solving the problem of lower efficiency of software testing and abnormality positioning in the related technology.
In a first aspect, an embodiment of the present application provides a software analysis method, including:
determining a software package to be analyzed;
Determining a target object with an influence relation with the software package to be analyzed according to the software package to be analyzed and a preset influence relation, wherein,
The software package to be analyzed is a software package with modified codes, and the influence relation means that the software package to be analyzed can influence the operation of the target object or
The software package to be analyzed is a software package with an abnormality, and the influence relation means that the target object can influence the operation of the software package to be analyzed;
and executing target operation based on the software package to be analyzed and the target object.
In the embodiment of the application, after the code-modified software package to be analyzed is determined, the target object which is influenced by the software package to be analyzed can be determined according to the preset influence relation, and then the target operation is executed based on the software package to be analyzed and the target object, so that the target object which is influenced by the software package to be analyzed can be quickly and accurately found by means of the preset influence relation, and the supplementary test is not needed to be performed manually, thereby improving the test efficiency. In addition, after the abnormal software package to be analyzed is determined, a target object which can influence the operation of the software package to be analyzed is determined according to a preset influence relation, and then, the target operation is executed based on the software package to be analyzed and the target object, so that the target object which can influence the operation of the software package to be analyzed can be quickly found by means of the preset influence relation, and the target object is not required to be manually determined, so that the abnormal positioning efficiency can be improved.
In some embodiments, the plurality of objects having influence relation with the software package to be analyzed is provided, and the plurality of objects are divided into a plurality of layers according to the influence relation strength with the software package to be analyzed;
When the software package to be analyzed is a software package with modified codes, the method further comprises:
Acquiring analysis level requirements for the software package to be analyzed;
according to the software package to be analyzed and a preset influence relation, determining a target object with the influence relation with the software package to be analyzed, wherein the target object comprises:
And according to the software package to be analyzed and a preset influence relation, determining the object of the front N layers matched with the analysis level requirement as the target object, wherein N is a positive integer greater than zero.
In some embodiments, the target object comprises one or more of a dependent software package, software, test item.
In some embodiments, the preset influence relationship comprises a code dependency relationship and/or an experience influence relationship, wherein the code dependency relationship is determined through target fields of a plurality of software packages in a source code warehouse, the target fields are used for indicating the software packages on which one software package depends on codes, and the experience influence relationship is determined through influence relationships among the plurality of software packages input by a user.
In some embodiments, the code dependencies include a plurality of code dependencies that differ in influence relationship strength, and the empirical influence relationships include a plurality of empirical influence relationships that differ in influence relationship strength.
In some embodiments, when the software package to be analyzed is a software package with modified code, if the preset influence relationship includes a code dependency relationship and an experience influence relationship, the method further includes:
And combining the first object and the second object which correspond to the software package and have the same influence relation strength aiming at each software package in the plurality of software packages to obtain objects of a plurality of influence levels of the software package, wherein the first object and the software package have code dependency relations of the influence relation strength, and the second object and the software package have experience dependency relations of the influence relation strength.
In some embodiments, the plurality of code dependencies with different impact relationships are determined according to the following steps:
Determining a software package on which the plurality of software packages depend on codes according to the extraction result of the target field in the plurality of software packages;
And based on the software packages on which the plurality of software packages depend on codes, sequencing the dependency relationships of the software packages to obtain a plurality of code dependency relationships with different influence relationships.
In some embodiments, the software package to be analyzed is a software package with modified code, and performing a target operation based on the software package to be analyzed and the target object includes:
Acquiring the software package to be analyzed and a test case corresponding to the target object;
and running the test case.
In some embodiments, the software package to be analyzed is a software package with an exception, and the target object includes a plurality of objects, and the plurality of objects are divided into a plurality of levels according to the influence relationship with the software package to be analyzed;
based on the software package to be analyzed and the target object, executing target operation, including:
And when no abnormality is positioned in the software package to be analyzed, carrying out abnormality positioning on the plurality of objects in a hierarchical manner according to a rule from strong to weak of the influence relation.
In a second aspect, an embodiment of the present application provides an electronic device comprising at least one processor, and a memory communicatively coupled to the at least one processor, wherein:
the memory stores a computer program executable by at least one processor to enable the at least one processor to perform any one of the software analysis methods described above.
In a third aspect, embodiments of the present application provide a storage medium, which when executed by a processor of an electronic device, is capable of performing any of the software analysis methods described above.
In a fourth aspect, embodiments of the present application provide a computer program product comprising a computer program which, when executed by a processor, implements any of the software analysis methods described above.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this specification, illustrate embodiments of the application and together with the description serve to explain the application and do not constitute a limitation on the application. In the drawings:
FIG. 1 is a test scenario diagram provided by an embodiment of the present application;
FIG. 2 is a flowchart of a software analysis method according to an embodiment of the present application;
FIG. 3 is a diagram of an anomaly localization scene provided by an embodiment of the present application;
FIG. 4 is a flowchart of another software analysis method according to an embodiment of the present application;
FIG. 5 is a schematic diagram of a software analysis process according to an embodiment of the present application;
FIG. 6 is a dependency relationship network between software packages according to an embodiment of the present application;
FIG. 7 is a schematic diagram of a software testing process according to an embodiment of the present application;
FIG. 8 is a schematic diagram of an anomaly locating process according to an embodiment of the present application;
fig. 9 is a schematic structural diagram of a software analysis device according to an embodiment of the present application;
fig. 10 is a schematic diagram of a hardware structure of an electronic device for implementing a software analysis method according to an embodiment of the present application.
Detailed Description
In order to solve the problem that the efficiency of software testing and exception positioning in the related art is low, the embodiment of the application provides a software analysis method and electronic equipment.
The preferred embodiments of the present application will be described below with reference to the accompanying drawings of the specification, it being understood that the preferred embodiments described herein are for illustration and explanation only, and not for limitation of the present application, and embodiments of the present application and features of the embodiments may be combined with each other without conflict.
It should be noted that, in the embodiment of the present application, the software such as the Linux operating system may include a plurality of software packages, each for executing one or more specific functions, where the functions corresponding to the plurality of software packages form the functions of the software.
Referring to fig. 1, fig. 1 is a test scenario diagram provided in an embodiment of the present application, including a server 10 and a test device 20, where an operating system such as a Linux operating system may be installed in the server 10, and the test device 20 such as a server, a desktop computer, a notebook computer, etc. may be deployed with a test platform, and the test platform may be used to test whether the Linux operating system in the server 10 operates normally.
After the test scenario in the embodiment of the present application is described, the test procedure in the embodiment of the present application is described below in connection with the embodiment. Referring to fig. 2, fig. 2 is a flowchart of a software analysis method according to an embodiment of the present application, where the method is applied to the test apparatus 20 of fig. 1, and the method includes the following steps.
In step 201, a software package to be analyzed is determined, which is a software package whose code has been modified.
Wherein the software package to be analyzed may be entered by a user.
In step 202, a target object having an influence relationship with the software package to be analyzed is determined according to the software package to be analyzed and a preset influence relationship, where the influence relationship refers to that the software package to be analyzed affects the operation of the target object.
The target object may include one or more of a dependent software package, software, test items such as performance tests, stability tests, and the like.
In practical application, there may be a plurality of objects having influence relation with the software package to be analyzed, and the plurality of objects are divided into a plurality of levels according to the influence relation strength with the software package to be analyzed, so that each level corresponds to an influence relation strength, and the levels are inversely related to the influence relation strength, that is, the lower the level is, the stronger the influence relation strength is, and the higher the level is, the weaker the influence relation strength is.
In some embodiments, according to the to-be-analyzed software package and the preset influence relationship, all objects that the to-be-analyzed software package affects may be used as target objects, i.e., objects of all levels corresponding to the to-be-analyzed software package are used as target objects. In this way, missing objects can be avoided, and thus the coverage of subsequent tests is improved.
In some embodiments, the user may further input an analysis level requirement, such as an influence level number, of the software package to be analyzed, in which case, according to the software package to be analyzed and a preset influence relationship, the first N-layer object matched with the analysis level requirement may be determined as a target object, that is, an object of the software package to be analyzed within a certain influence range is taken as the target object. Therefore, the object influenced by the software package to be analyzed can be controlled through the analysis level requirement, so that the subsequent test range is controlled, the purpose of controlling the test granularity is achieved, and the test flexibility is better.
The following describes the preset influence relationship.
In the first case, the preset influence relationship includes a code dependency relationship.
Here, the code dependency refers to other software packages required by one software package in compiling, running or normal working, and the code dependency can be determined by target fields, such as requests, of a plurality of software packages in a source code repository, where the target fields are used to indicate the software packages on which the one software package depends on code.
For example, according to the extraction result of the target field in the plurality of software packages, determining the software packages on which the plurality of software packages depend on the code, and then, based on the software packages on which the plurality of software packages depend on the code, sorting the dependency relationships of the software packages to obtain a plurality of code dependency relationships with different influence relationships. That is, the code dependency may include a plurality of code dependencies having different influence relationships.
Assuming that it has been determined that software package 1 depends on software package 2 in code, software package 2 depends on software package 3 in code, and software package 3 depends on software package 4 in code. Then it can be determined that package 1 is also code dependent on package 3 and package 4, and that package 1's code dependent relationship to package 2, package 3, package 4 is in turn weaker. Similarly, it may be determined that software package 2 is also code dependent on software package 4, and that the code dependency of software package 2 on software package 3 and software package 4 is in turn weaker.
Thus, the dependency relationship among the massive software packages is automatically analyzed, and various code dependency relationships with different influence relationship strengths of the plurality of software packages can be efficiently determined.
In the second case, the preset influence relationship includes an empirical influence relationship.
Wherein the empirical influence relationship is determined by influence relationships among a plurality of software packages entered by the user.
In practical applications, for each software package, the object having an empirically influencing relation with the software package may be other objects such as software, test items, etc. besides the software package. Also, the empirically affected relationships may include a plurality of empirically affected relationships that differ in the strength of the affected relationship.
Here, the user refers to a developer, so that understanding of influence relationships among software packages accumulated by the developer is converted into a plurality of storable experience influence relationships with different influence relationships, accuracy of the experience influence relationships can be guaranteed, and influence of changes of the developer on testing can be reduced.
In a third case, the preset influence relationship includes a code dependency relationship and an experience influence relationship.
When the code dependency relationship comprises a plurality of code dependency relationships with different influence relationship strengths, and the experience influence relationship also comprises a plurality of experience influence relationships with different influence relationship strengths, combining a first object and a second object which correspond to each software package in the plurality of software packages and have the same influence relationship strength, so as to obtain objects of a plurality of influence levels of the software package, wherein the first object and the software package have the code dependency relationship with the corresponding influence relationship strength, and the second object and the software package have the experience dependency relationship with the corresponding influence relationship strength.
In this way, the code dependency relationship among the software packages and the experience influence relationship accumulated by the developer for many years are combined to form a preset influence relationship, so that a more comprehensive and accurate influence relationship can be obtained, the more comprehensive and accurate influence relationship can better provide guidance for testing, and the testing accuracy is greatly improved.
In step 203, a target operation is performed based on the software package to be analyzed and the target object.
Wherein the target operation is such as a test.
In specific implementation, test cases corresponding to the software package to be analyzed and the target object respectively can be obtained, and whether the code modification of the software package to be analyzed affects the operation of the target object can be tested by executing the test cases.
In the embodiment of the application, after the software package to be analyzed with the code modified is determined, the target object of the operation of the software package to be analyzed is determined according to the preset influence relation, and then the software package to be analyzed and the target object are tested, so that the target object of the operation of the software package to be analyzed can be quickly and accurately found and tested by means of the preset influence relation, and the supplementary test is not needed to be performed manually, thereby improving the test efficiency.
Referring to fig. 3, fig. 3 is an anomaly locating scene diagram provided by an embodiment of the present application, which includes a server 10, in which an operating system such as a Linux operating system and an anomaly locating tool may be installed in the server 10, and when an anomaly occurs in the Linux operating system, the anomaly locating tool may be used to locate where the anomaly occurs in the Linux operating system.
After the anomaly locating scene in the embodiment of the present application is described, the anomaly locating process in the embodiment of the present application is described below with reference to the embodiment. Referring to fig. 4, fig. 4 is a flowchart of another software analysis method according to an embodiment of the present application, where the execution subject of the method is the server 10, and the method includes the following steps.
In step 401, a software package to be analyzed is determined, the software package to be analyzed being a software package in which an abnormality occurs.
Generally, if an abnormality occurs in software, a code segment with the abnormality can be found, the software package to which the code segment belongs is a software package to be analyzed, then the abnormality can be located in the software package to be analyzed, and if the abnormality is not located, the subsequent operation can be executed.
In step 402, a target object having an influence relationship with the software package to be analyzed is determined according to the software package to be analyzed and a preset influence relationship, where the influence relationship refers to that the target object affects the operation of the software package to be analyzed.
The target object may include one or more of a dependent software package, software, test items such as performance tests, stability tests, and the like.
Here, according to the to-be-analyzed software package and the preset influence relation, all objects which influence the transportation of the to-be-analyzed software package can be determined to be target objects, so that more comprehensive objects can be determined, and the accuracy of subsequent abnormal positioning is improved.
The following describes the preset influence relationship.
In the first case, the preset influence relationship includes a code dependency relationship.
Here, the code dependency refers to other software packages required by one software package in compiling, running or normal working, and the code dependency can be determined by target fields, such as requests, of a plurality of software packages in a source code repository, where the target fields are used to indicate the software packages on which the one software package depends on code.
For example, according to the extraction result of the target field in the plurality of software packages, determining the software packages on which the plurality of software packages depend on the code, and then, based on the software packages on which the plurality of software packages depend on the code, sorting the dependency relationships of the software packages to obtain a plurality of code dependency relationships with different influence relationships. That is, the code dependency may include a plurality of code dependencies having different influence relationships.
Thus, the dependency relationship among the massive software packages is automatically analyzed, and various code dependency relationships with different influence relationship strengths of the plurality of software packages can be efficiently determined.
In the second case, the preset influence relationship includes an empirical influence relationship.
Wherein the empirical influence relationship is determined by influence relationships among a plurality of software packages entered by the user.
In practical applications, for each software package, the object having an empirically influencing relation with the software package may be other objects such as software, test items, etc. besides the software package. Also, the empirically affected relationships may include a plurality of empirically affected relationships that differ in the strength of the affected relationship.
Here, the user refers to a developer, so that the understanding of the influence relationship among the software packages accumulated by the developer can be converted into a plurality of kinds of storable experience influence relationships with different influence relationship strengths, the accuracy of the experience influence relationship can be ensured, and the influence of the change of the developer on the abnormal positioning can be reduced.
In a third case, the preset influence relationship includes a code dependency relationship and an experience influence relationship.
When the code dependency relationship comprises a plurality of code dependency relationships with different influence relationship strengths, and the experience influence relationship comprises a plurality of experience influence relationships with different influence relationship strengths, combining a first object and a second object which correspond to each software package in the plurality of software packages and have the same influence relationship strength, so as to obtain objects of a plurality of influence levels of the software package, wherein the first object and the software package have the code dependency relationship with the corresponding influence relationship strength, and the second object and the software package have the experience dependency relationship with the corresponding influence relationship strength.
In this way, the code dependency relationship among the software packages and the experience influence relationship accumulated by the developer for many years are combined to form a preset influence relationship, so that a more comprehensive and accurate influence relationship can be obtained, guidance can be provided for abnormality positioning better by the more comprehensive and accurate influence relationship, and the abnormality positioning accuracy is greatly improved.
In step 403, a target operation is performed based on the software package to be analyzed and the target object.
Wherein the target object is located as an anomaly.
In some embodiments, the target object includes a plurality of objects, and the plurality of objects are divided into a plurality of levels according to the influence relation strength with the software package to be analyzed, and then when no abnormality is located in the software package to be analyzed, the plurality of objects can be located abnormally from the strong to the weak rule according to the influence relation level by level.
Thus, the exception positioning is carried out layer by layer, the exception nested logic is met, and the exception positioning efficiency can be improved.
In the embodiment of the application, after the abnormal software package to be analyzed is determined, the target object which can influence the operation of the software package to be analyzed is determined according to the preset influence relation, and then the target object is abnormally positioned, so that the target object which can influence the operation of the software package to be analyzed can be rapidly found and abnormally positioned by means of the preset influence relation, and the target object is not required to be manually determined, thereby improving the abnormal positioning efficiency.
The scheme of the embodiment of the application is described below by taking analysis of a Linux operating system as an example.
Referring to fig. 5, fig. 5 is a schematic process diagram of software analysis provided in an embodiment of the present application, source codes of all software packages of a Linux operating system are stored in a source code bin, a dependency analyzer may scan the source codes of each software package in the source code bin, extract field values of request fields from the source codes (the field values are package names of the software packages on which the software package depends), thereby determining the software package on which the software package depends on the code, and then, based on the software package on which each software package depends on the code, perform a software package dependency relationship ordering to obtain a dependency relationship network between each software package, and store multiple code dependency relationships with different influence relationships in the dependency relationship network, and may generate a first dependency table and a second dependency table based on the dependency relationship network between each software package, where the first dependency table is used for storing objects with different levels that may be influenced by each software package, and the second dependency table is used for storing objects with different levels that may influence each software package. The first dependency table and the second dependency table may also be updated periodically, taking into account that subsequent dependencies may change.
And a developer can record objects of different levels, which are influenced by each software package, according to own experience and a certain format requirement to obtain an experience dependency table.
And then, the influence range list generator can merge and de-duplicate the objects with the same level in the first dependency table and the experience dependency table to obtain an influence object table, and the second dependency table is used as an influence source table.
Subsequently, the impact object table can be imported into a test platform to guide the test, and the impact source table can be imported into an anomaly locating tool to guide the anomaly location.
The above procedure is described by way of example.
First, a procedure of generating an influence object table and an influence source table will be described by way of example.
Assuming that the dependency network resulting from the package scan is as shown in fig. 6, package B depends on package a in code and is dependent on package C and package D, and package E depends on package C in code.
Assume that the code dependencies are divided into 2 levels, direct dependency L1 and indirect dependency L2 (with only one other software package in between). Then, according to the dependency network shown in fig. 6, the generated first dependency table may be as shown in table 1. Similarly, assume that the empirical influence relationship is divided into 2 levels, direct influence relationship M1 and indirect influence relationship M2 (with only one other software package in between). Then, according to the dependency network shown in fig. 6, the generated second dependency table may be as shown in table 2. In tables 1 and 2, there is no intersection between the different columns of each row, that is, one software package can only exist in one dependency level or impact level of the other software package.
TABLE 1
Software package name L1 L2
B C、D E
C E -
TABLE 2
Software package name M1 M2
B A -
C B A
It is assumed that the empirical dependency table is shown in table 3 that there is no intersection between different levels for data in a certain row, i.e. one influencing object can only exist in one influence range class of another software package.
TABLE 3 Table 3
Software package name L1 L2
B E Performance of
C File system F
The influence range list generator is used for taking the union of all the objects corresponding to L1 for the first dependency list and the experience dependency list to form an L1-level object, then taking the union of all the objects corresponding to L2, deleting the determined L1-level object from the union to obtain an L2-level object, and the finally obtained influence object list is shown as 4, wherein the second dependency list is directly used as an influence source list, and for data in a certain row, no intersection exists between different levels, namely one influence object can only exist in one influence range level of another software package.
TABLE 4 Table 4
Software package name L1 L2
B C、D、E Performance of
C E. File system F
Next, a test procedure after the impact object table is introduced into the test platform will be described.
Referring to fig. 7, fig. 7 is a schematic diagram illustrating a software testing process according to an embodiment of the present application. Assuming that the software package B is modified by the code, in order to test whether the code modification causes an abnormality, a tester may select which test granularity of the test is performed on the software package B through the test platform, if L1 is selected, may query the L1-level object of the software package B to obtain the software package C, D, E, then select the test case of the software package B, C, D, E, execute the test cases to obtain the test result and output, and if L2 is selected, may query the L2-level object of the software package B to obtain the software package C, D, E and performance, then select the test case of the software package B, C, D, E, and the test case of the performance item, execute the test cases to obtain the test result and output.
Finally, an abnormal positioning process after the influence source table is introduced into the positioning tool is introduced.
Referring to fig. 8, fig. 8 is a schematic diagram of an abnormality positioning process according to an embodiment of the present application. When an abnormality occurs in the execution of one code segment, the software package to which the code segment belongs can be determined, the code of the software package B can be checked if the software package B is assumed to be the software package B, if the abnormality cause is found, the problem point causing the abnormality can be locked, if the abnormality cause is not found, the objects of different levels corresponding to the software package B can be determined according to the influence source table, then the problem point checking is performed on the objects of different levels corresponding to the software package B level by level, and the problem point causing the abnormality is locked. Generally, for objects of different levels corresponding to the software package B, objects with the latest code changed may be checked first, and if no problem is checked, other objects are checked in order of the level from small to large.
It should be noted that, the above description is given by taking the method of the embodiment of the present application as an example applied to the Linux operating system. In fact, the method according to the embodiment of the present application may be applied to other scenarios, and the following description will exemplify other scenarios.
1. And (5) developing software in enterprises.
When the enterprise develops own software, the method provided by the embodiment of the application can optimize the test flow and improve the abnormality locating efficiency.
2. Continuous integration (Continuous Integration, CI)/continuous deployment (Continuous Delivery, CD) flow.
In an automated CI/CD process, after submitting a software version and before deploying the software, the method of the embodiment of the application can be used for testing to quickly identify potential problems caused by code change, thereby shortening the period from development to deployment.
3. Cloud services and micro-service architecture.
In cloud services or micro-service architecture-based systems, the dependency relationship between software packages and interaction between services are more complex, and the method of the embodiment of the application can also optimize the test flow and the abnormal positioning flow.
4. Internet of things (Internet of Things, ioT) device management.
IoT devices typically require remote updating and maintenance, and for each software package to which the device firmware corresponds, the method of embodiments of the present application may also optimize the test flow and anomaly localization flow during the device firmware update process.
5. And a big data analysis platform.
When a large amount of data and complex analysis tasks are processed, the method provided by the embodiment of the application can help to determine the dependency relationship among software packages corresponding to all links in a data processing flow, and can be used for rapidly positioning when an abnormality occurs.
6. And (5) security hole management.
For the identified security hole, the method of the embodiment of the application can quickly determine the range of the affected software package and accelerate the process of exception positioning and repairing.
The embodiment of the application has the following beneficial effects:
1. by combining the code dependency relationship among the software packages and the experience influence relationship among the software packages accumulated by the developer, a more accurate and comprehensive influence object table and an influence source table are constructed. Moreover, objects with different levels are constructed for each software package, and the division is finer.
2. When the influence object table is applied to a test flow, limited and accurate influence objects can be rapidly defined, so that the test efficiency can be improved, and missing objects can be avoided. In addition, the testing of different testing granularities can be realized through selecting the hierarchy, so that the coarser testing granularity can be selected when resources and time are limited, the finer testing granularity can be selected when the resources and time are abundant, and the testing flexibility is better.
3. When the influence source table is applied to abnormality positioning, the object range (namely the potential fault area) can be rapidly reduced, and the time for a developer to check the abnormality is saved.
Based on the same technical concept, the embodiment of the application also provides a software analysis device, and the principle of solving the problem of the software analysis device is similar to that of the software analysis method, so that the implementation of the software analysis device can be referred to the implementation of the software analysis method, and the repetition is omitted.
Fig. 9 is a schematic structural diagram of a software analysis device according to an embodiment of the present application, including:
A first determining module 901, configured to determine a software package to be analyzed;
the second determining module 902 is configured to determine, according to the to-be-analyzed software package and a preset influence relation, a target object having an influence relation with the to-be-analyzed software package, where the to-be-analyzed software package is a software package with a code modified, the influence relation refers to that the to-be-analyzed software package affects the operation of the target object, or the to-be-analyzed software package is a software package with an exception, and the influence relation refers to that the target object affects the operation of the to-be-analyzed software package;
The processing module 903 is configured to execute a target operation based on the software package to be analyzed and the target object.
In some embodiments, the plurality of objects having influence relation with the software package to be analyzed is provided, and the plurality of objects are divided into a plurality of layers according to the influence relation strength with the software package to be analyzed;
when the software package to be analyzed is a software package with modified codes, the first determining module 901 is further configured to obtain an analysis level requirement for the software package to be analyzed;
The first determining module 901 is specifically configured to determine, according to the to-be-analyzed software package and a preset influence relationship, the object of the first N layers that matches the analysis level requirement as the target object, where N is a positive integer greater than zero.
In some embodiments, the target object comprises one or more of a dependent software package, software, test item.
In some embodiments, the preset influence relationship comprises a code dependency relationship and/or an experience influence relationship, wherein the code dependency relationship is determined through target fields of a plurality of software packages in a source code warehouse, the target fields are used for indicating the software packages on which one software package depends on codes, and the experience influence relationship is determined through influence relationships among the plurality of software packages input by a user.
In some embodiments, the code dependencies include a plurality of code dependencies that differ in influence relationship strength, and the empirical influence relationships include a plurality of empirical influence relationships that differ in influence relationship strength.
In some embodiments, when the software package to be analyzed is a software package with modified code, if the preset influence relationship includes a code dependency relationship and an experience influence relationship, then:
And combining the first object and the second object which correspond to the software package and have the same influence relation strength aiming at each software package in the plurality of software packages to obtain objects of a plurality of influence levels of the software package, wherein the first object and the software package have code dependency relations of the influence relation strength, and the second object and the software package have experience dependency relations of the influence relation strength.
In some embodiments, the plurality of code dependencies with different impact relationships are determined according to the following steps:
Determining a software package on which the plurality of software packages depend on codes according to the extraction result of the target field in the plurality of software packages;
And based on the software packages on which the plurality of software packages depend on codes, sequencing the dependency relationships of the software packages to obtain a plurality of code dependency relationships with different influence relationships.
In some embodiments, the software package to be analyzed is a software package with modified code, and the processing module 903 is specifically configured to:
Acquiring the software package to be analyzed and a test case corresponding to the target object;
and running the test case.
In some embodiments, the software package to be analyzed is a software package with an exception, the target object includes a plurality of objects, the plurality of objects are divided into a plurality of levels according to the influence relationship with the software package to be analyzed, and the processing module 903 is specifically configured to:
And when no abnormality is positioned in the software package to be analyzed, carrying out abnormality positioning on the plurality of objects in a hierarchical manner according to a rule from strong to weak of the influence relation.
The division of the modules in the embodiments of the present application is schematically only one logic function division, and there may be another division manner in actual implementation, and in addition, each functional module in each embodiment of the present application may be integrated in one processor, or may exist separately and physically, or two or more modules may be integrated in one module. The coupling of the individual modules to each other may be achieved by means of interfaces which are typically electrical communication interfaces, but it is not excluded that they may be mechanical interfaces or other forms of interfaces. Thus, the modules illustrated as separate components may or may not be physically separate, may be located in one place, or may be distributed in different locations on the same or different devices. The integrated modules may be implemented in hardware or in software functional modules.
Having described the software analysis method and apparatus of an exemplary embodiment of the present application, next, an electronic device according to another exemplary embodiment of the present application is described.
An electronic device 100 implemented according to such an embodiment of the present application is described below with reference to fig. 10, and the electronic device 100 may be the server 10 or the test device 20. The electronic device 100 shown in fig. 10 is merely an example, and should not be construed as limiting the functionality and scope of use of the embodiments of the present application.
As shown in fig. 10, the electronic device 100 is embodied in the form of a general-purpose electronic device. The components of the electronic device 100 may include, but are not limited to, the at least one processor 101 described above, the at least one memory 102 described above, and a bus 103 that connects the various system components, including the memory 102 and the processor 101.
Bus 103 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, a processor, and a local bus using any of a variety of bus architectures.
Memory 102 may include readable media in the form of volatile memory, such as Random Access Memory (RAM) 1021 and/or cache memory 1022, and may further include Read Only Memory (ROM) 1023.
Memory 102 may also include program/utility 1025 having a set (at least one) of program modules 1024, such program modules 1024 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each or some combination of which may include an implementation of a network environment.
The electronic device 100 may also communicate with one or more external devices 104 (e.g., keyboard, pointing device, etc.), one or more devices that enable a user to interact with the electronic device 100, and/or any device (e.g., router, modem, etc.) that enables the electronic device 100 to communicate with one or more other electronic devices. Such communication may occur through an input/output (I/O) interface 105. Also, the electronic device 100 may communicate with one or more networks such as a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network, such as the Internet, through a network adapter 106. As shown, network adapter 106 communicates with other modules for electronic device 100 over bus 103. It should be appreciated that although not shown, other hardware and/or software modules may be used in connection with electronic device 100, including, but not limited to, microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, data backup storage systems, and the like.
In an exemplary embodiment, a storage medium is also provided, which when a computer program in the storage medium is executed by a processor of an electronic device, the electronic device is able to perform the above-described software analysis method. Alternatively, the storage medium may be a non-transitory computer readable storage medium, which may be, for example, ROM, random Access Memory (RAM), CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like.
In an exemplary embodiment, the electronic device of the present application may include at least one processor, and a memory communicatively coupled to the at least one processor, wherein the memory stores a computer program executable by the at least one processor, which when executed by the at least one processor, causes the at least one processor to perform the steps of any of the software analysis methods provided by the embodiments of the present application.
In an exemplary embodiment, a computer program product is also provided, which, when executed by an electronic device, is capable of carrying out any one of the exemplary methods provided by the application.
Also, a computer program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium can be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of a readable storage medium include an electrical connection having one or more wires, a portable disk, a hard disk, RAM, ROM, erasable programmable read-Only Memory (EPROM), flash Memory, optical fiber, compact disc read-Only Memory (Compact Disk Read Only Memory, CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The program product for software analysis in embodiments of the present application may take the form of a CD-ROM and include program code that can run on a computing device. However, the program product of the present application is not limited thereto, and in this document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The readable signal medium may include a data signal propagated in baseband or as part of a carrier wave with readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, radio Frequency (RF), etc., or any suitable combination of the foregoing.
Program code for carrying out operations of the present application may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of remote computing devices, the remote computing device may be connected to the user computing device through any kind of network, such as a local area network (Local Area Network, LAN) or wide area network (Wide Area Network, WAN), or may be connected to an external computing device (e.g., connected over the internet using an internet service provider).
It should be noted that although several units or sub-units of the apparatus are mentioned in the above detailed description, such a division is merely exemplary and not mandatory. Indeed, the features and functions of two or more of the elements described above may be embodied in one element in accordance with embodiments of the present application. Conversely, the features and functions of one unit described above may be further divided into a plurality of units to be embodied.
Furthermore, although the operations of the methods of the present application are depicted in the drawings in a particular order, this is not required or suggested that these operations must be performed in this particular order or that all of the illustrated operations must be performed in order to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step to perform, and/or one step decomposed into multiple steps to perform.
It will be appreciated by those skilled in the art that embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present application have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. It is therefore intended that the following claims be interpreted as including the preferred embodiments and all such alterations and modifications as fall within the scope of the application.
It will be apparent to those skilled in the art that various modifications and variations can be made to the present application without departing from the spirit or scope of the application. Thus, the present application also includes such modifications and variations provided they come within the scope of the claims and their equivalents.

Claims (10)

1.一种软件分析方法,其特征在于,包括:1. A software analysis method, characterized in that it comprises: 确定待分析软件包;Identify the software packages to be analyzed; 根据所述待分析软件包和预设的影响关系,确定与所述待分析软件包有影响关系的目标对象;其中,According to the software package to be analyzed and the preset influence relationship, a target object having an influence relationship with the software package to be analyzed is determined; wherein, 所述待分析软件包是代码发生了修改的软件包,所述影响关系是指所述待分析软件包会影响所述目标对象的运行;或者,The software package to be analyzed is a software package whose code has been modified, and the impact relationship means that the software package to be analyzed will affect the operation of the target object; or 所述待分析软件包是出现异常的软件包,所述影响关系是指所述目标对象会影响所述待分析软件包的运行;The software package to be analyzed is a software package that has an abnormality, and the impact relationship means that the target object will affect the operation of the software package to be analyzed; 基于所述待分析软件包和所述目标对象,执行目标操作。A target operation is performed based on the software package to be analyzed and the target object. 2.如权利要求1所述的方法,其特征在于,与所述待分析软件包有影响关系的对象有多个,多个所述对象被按照与所述待分析软件包的影响关系强弱划分为多个层级;2. The method according to claim 1, wherein there are multiple objects that have an impact relationship with the software package to be analyzed, and the multiple objects are divided into multiple levels according to the strength of the impact relationship with the software package to be analyzed; 当所述待分析软件包是代码发生了修改的软件包时,还包括:When the software package to be analyzed is a software package whose code has been modified, the following further includes: 获取对所述待分析软件包的分析层级要求;Obtaining analysis level requirements for the software package to be analyzed; 根据所述待分析软件包和预设的影响关系,确定与所述待分析软件包有影响关系的目标对象,包括:Determining a target object having an influence relationship with the software package to be analyzed according to the software package to be analyzed and a preset influence relationship includes: 根据所述待分析软件包和预设的影响关系,将与所述分析层级要求匹配的前N层的所述对象,确定为所述目标对象,N为大于零的正整数。According to the software package to be analyzed and the preset influence relationship, the objects in the first N layers matching the analysis level requirement are determined as the target objects, where N is a positive integer greater than zero. 3.如权利要求1所述的方法,其特征在于,所述目标对象包括依赖软件包、软件、测试项目中的一种或多种。3. The method according to claim 1, wherein the target object comprises one or more of a dependent software package, software, and a test project. 4.如权利要求1所述的方法,其特征在于,所述预设的影响关系包括代码依赖关系和/或经验影响关系,所述代码依赖关系是通过源码仓库中多个软件包的目标字段确定的,所述目标字段用于指示一个软件包在代码上依赖的软件包;所述经验影响关系是通过用户输入的所述多个软件包间的影响关系确定的。4. The method according to claim 1 is characterized in that the preset influence relationship includes a code dependency relationship and/or an empirical influence relationship, the code dependency relationship is determined by target fields of multiple software packages in a source code repository, and the target field is used to indicate the software packages that a software package depends on in code; the empirical influence relationship is determined by the influence relationship between the multiple software packages input by a user. 5.如权利要求4所述的方法,其特征在于,所述代码依赖关系包括影响关系强弱不同的多种代码依赖关系,所述经验影响关系包括影响关系强弱不同的多种经验影响关系。5. The method as claimed in claim 4 is characterized in that the code dependency relationship includes multiple code dependency relationships with different influence strengths, and the experience influence relationship includes multiple experience influence relationships with different influence strengths. 6.如权利要求5所述的方法,其特征在于,当所述待分析软件包是代码发生了修改的软件包时,若所述预设的影响关系包括代码依赖关系和经验影响关系,则还包括:6. The method according to claim 5, characterized in that when the software package to be analyzed is a software package whose code has been modified, if the preset influence relationship includes a code dependency relationship and an experience influence relationship, it further comprises: 针对所述多个软件包中的每个软件包,对所述软件包对应的相同影响关系强度的第一对象和第二对象进行合并处理,得到所述软件包的多个影响层级的对象,其中,所述第一对象与所述软件包具有所述影响关系强度的代码依赖关系,所述第二对象与所述软件包具有所述影响关系强度的经验依赖关系。For each of the multiple software packages, a first object and a second object having the same impact relationship strength corresponding to the software package are merged to obtain objects of multiple impact levels of the software package, wherein the first object has a code dependency relationship with the software package having the impact relationship strength, and the second object has an experience dependency relationship with the software package having the impact relationship strength. 7.如权利要求5所述的方法,其特征在于,根据以下步骤确定所述影响关系强弱不同的多种代码依赖关系:7. The method according to claim 5, characterized in that the multiple code dependencies with different influence relationships are determined according to the following steps: 根据所述多个软件包中所述目标字段的提取结果,确定所述多个软件包在代码上依赖的软件包;Determining, according to the extraction results of the target fields in the multiple software packages, software packages that the multiple software packages depend on in terms of code; 基于所述多个软件包在代码上依赖的软件包,进行软件包依赖关系排序,得到所述影响关系强弱不同的多种代码依赖关系。Based on the software packages that the multiple software packages depend on in code, the software package dependencies are sorted to obtain a plurality of code dependencies with different influence strengths. 8.如权利要求1所述的方法,其特征在于,所述待分析软件包是代码发生了修改的软件包,基于所述待分析软件包和所述目标对象,执行目标操作,包括:8. The method according to claim 1, wherein the software package to be analyzed is a software package whose code has been modified, and performing a target operation based on the software package to be analyzed and the target object comprises: 获取所述待分析软件包以及所述目标对象对应的测试用例;Obtain the software package to be analyzed and the test case corresponding to the target object; 运行所述测试用例。Run the test case. 9.如权利要求1所述的方法,其特征在于,所述待分析软件包是出现异常的软件包,所述目标对象包括多个对象,所述多个对象被按照与所述待分析软件包的影响关系强弱划分为多个层级;9. The method according to claim 1, wherein the software package to be analyzed is a software package that has an abnormality, the target object includes a plurality of objects, and the plurality of objects are divided into a plurality of levels according to the strength of their influence on the software package to be analyzed; 基于所述待分析软件包和所述目标对象,执行目标操作,包括:Based on the software package to be analyzed and the target object, a target operation is performed, including: 当未在所述待分析软件包中定位到异常时,按照影响关系从强到弱的规则逐层级地对所述多个对象进行异常定位。When no anomaly is located in the software package to be analyzed, the anomaly is located for the multiple objects layer by layer according to the rule of influence relationship from strong to weak. 10.一种电子设备,其特征在于,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:10. An electronic device, comprising: at least one processor, and a memory communicatively connected to the at least one processor, wherein: 所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-9任一所述的方法。The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can perform the method according to any one of claims 1 to 9.
CN202411624494.0A 2024-11-13 2024-11-13 Software analysis method and electronic device Pending CN119557189A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202411624494.0A CN119557189A (en) 2024-11-13 2024-11-13 Software analysis method and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202411624494.0A CN119557189A (en) 2024-11-13 2024-11-13 Software analysis method and electronic device

Publications (1)

Publication Number Publication Date
CN119557189A true CN119557189A (en) 2025-03-04

Family

ID=94737491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202411624494.0A Pending CN119557189A (en) 2024-11-13 2024-11-13 Software analysis method and electronic device

Country Status (1)

Country Link
CN (1) CN119557189A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120215472A (en) * 2025-04-15 2025-06-27 杭州智源电子有限公司 TBOX integrated vehicle-mounted anomaly detection and early warning method and system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120215472A (en) * 2025-04-15 2025-06-27 杭州智源电子有限公司 TBOX integrated vehicle-mounted anomaly detection and early warning method and system

Similar Documents

Publication Publication Date Title
EP3816806B1 (en) Utilizing neural network and artificial intelligence models to select and execute test cases in a software development platform
US10235277B2 (en) Method of detecting false test alarms using test step failure analysis
KR101989802B1 (en) Method for performing test using test case and apparatus for the same
US11157390B2 (en) Automatic software defect repair
US10565097B2 (en) Orchestrating and providing a regression test
US20150026664A1 (en) Method and system for automated test case selection
US9311064B1 (en) Systems and methods for automated centralized build/merge management
US8745589B2 (en) Automatic extraction of test case for a build in testing lifecycle
US20160378647A1 (en) Development supporting system
CN108776643B (en) Target code merging control method and system based on version control process
US20150324178A1 (en) Hash-based change tracking for software make tools
US10776100B1 (en) Predicting downtimes for software system upgrades
US11467824B2 (en) Method and system for fast building and testing software
US11308069B2 (en) Data configuration, management, and testing
CN119557189A (en) Software analysis method and electronic device
CN111158730B (en) System updating method, device, electronic equipment and readable storage medium
EP4246332A1 (en) System and method for serverless application testing
CN111813382A (en) Intangible asset management system and method
CN112748950B (en) Software code examination method and device
US20210349808A1 (en) Source quality check service
CN117193798A (en) Application deployment method, apparatus, device, readable storage medium and program product
US9396239B2 (en) Compiling method, storage medium and compiling apparatus
US20230297496A1 (en) System and method for serverless application testing
US11829230B2 (en) Globally unique error codes for knowledge document indexing in software systems
US11194702B2 (en) History based build cache for program builds

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