CN109308253B - Code detection method and device - Google Patents

Code detection method and device Download PDF

Info

Publication number
CN109308253B
CN109308253B CN201710626452.4A CN201710626452A CN109308253B CN 109308253 B CN109308253 B CN 109308253B CN 201710626452 A CN201710626452 A CN 201710626452A CN 109308253 B CN109308253 B CN 109308253B
Authority
CN
China
Prior art keywords
code
target
code block
block
native
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710626452.4A
Other languages
Chinese (zh)
Other versions
CN109308253A (en
Inventor
陈晓晓
陈浩
童碧峰
涂小兵
吕洪雨
马宇驰
桂汪海
周平科
周犇
林英禄
东巍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Device Co Ltd
Original Assignee
Huawei Device 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 Huawei Device Co Ltd filed Critical Huawei Device Co Ltd
Priority to CN201710626452.4A priority Critical patent/CN109308253B/en
Publication of CN109308253A publication Critical patent/CN109308253A/en
Application granted granted Critical
Publication of CN109308253B publication Critical patent/CN109308253B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs

Abstract

The embodiment of the application provides a code detection method and device, relates to the technical field of communication, and can reduce the conflict phenomenon between a native code and an extended code caused by the upgrade of the native code and reduce the destructiveness of the extended code on the native code. The method comprises the following steps: the detection equipment acquires a target native code and a target extended code, wherein the target extended code is obtained based on the target native code; the detection equipment divides the target extended code into N continuous code blocks by comparing the target native code with the target extended code, wherein N is more than or equal to 1; the detection equipment evaluates at least one code block in the N code blocks to obtain an evaluation result of the target spreading code, wherein the evaluation result is used for indicating the probability of the collision phenomenon of the target spreading code; the detection device displays the evaluation result.

Description

Code detection method and device
Technical Field
The embodiment of the application relates to the technical field of communication, in particular to a code detection method and device.
Background
Currently, many developers choose to develop their own extended operating system on the native code of the native operating system (e.g., android), such as the MIUI operating system developed by millet android-based native code, the emui (emulation User interface) operating system developed by china for android-based native code, and so on. These codes that extend the operating system may be referred to as extension codes, which are typically obtained by modifying native code based on the native code.
For example, as shown in fig. 1, a developer modifies a first code segment 101 in native code 11 into a second code segment 102 based on the native code 11 in android version 3.0, resulting in an extended code 12 of an extended operating system a. While the android version 3.0 based on the native code 11 will be upgraded irregularly, if the first code segment 101 is modified to the third code segment 103 in the process of upgrading the android version 4.0, a collision phenomenon occurs between the upgraded native code 11 and the extended code 12 at the position of the third code segment 103, and at this time, the extended operating system a is likely to be incompatible with the upgraded android version 4.0. Developers are required to perform a great deal of work such as code recombination and function reconstruction on the extension code 12 to support the upgraded android version 4.0.
Disclosure of Invention
The embodiment of the application provides a code detection method and device, which can reduce the conflict phenomenon between a native code and an extended code caused by the upgrade of the native code and reduce the destructiveness of the extended code on the native code.
In order to achieve the above purpose, the embodiment of the present application adopts the following technical solutions:
in a first aspect, an embodiment of the present application provides a code detection method, including: the detection equipment acquires a target native code and a target extended code, wherein the target extended code is obtained based on the target native code; furthermore, the detection device can divide the target extended code into N continuous code blocks by comparing the target native code with the target extended code, wherein N is more than or equal to 1; then, the detection device may evaluate at least one code block of the N code blocks, so as to obtain an evaluation result of the target spreading code, where the evaluation result indicates a probability of a collision phenomenon of the target spreading code; therefore, after the detection device displays the evaluation result, developers can visually and clearly determine the destructiveness of the current target extended codes to the target native codes, so that the developers can accurately position the places, which are easy to conflict, in the target native codes, and the conflict phenomenon between the subsequent native codes and the extended codes is reduced.
In one possible design method, the detecting device displays the evaluation result in a display interface, including: the detection device displays the N code blocks in a display interface by using different color blocks, wherein the color of each code block is used for indicating the code block type of the code block, the size of each color block is used for indicating the size of the code block, and the probability of the occurrence of the collision phenomenon of the code blocks of different code block types is different, so that which part of the target extension code is easy to generate the collision phenomenon, the severity of the collision phenomenon and the like are visually displayed to a user, and the user can conveniently optimize the target extension code.
In a possible design method, after the detecting device displays the evaluation result in a display interface, the method further includes: when detecting that the user triggers the color block where the first code block in the N code blocks is located, the detection device displays the evaluation details when evaluating the first code block, so that the user can know the risk of collision of the code blocks in detail.
In one possible design method, since the destructiveness of the native code by the code blocks of different code block types is generally different, the detecting device evaluates at least one code block of the N code blocks to obtain an evaluation result of the target extension code, including: for each code block of the at least one N code blocks, the detection device scores the code block according to the code block type of the code block; the detection device takes the obtained scoring information of the at least one code block as an evaluation result of the target spread code.
In one possible design method, in addition to the code block type of the code block, the size of each code block in the target extension code and the total number of code blocks also affect the destructive size of the target native code, and therefore, the detecting device scores the code block according to the code block type of the code block, including: the detection device scores the code block according to the code block type of the code block and the size of the code block.
In one possible design method, the detection device divides the target spread code into N consecutive code blocks by comparing the target native code with the target spread code, including: the detection device obtains N continuous code blocks by comparing the target native code with the target extended code, taking a code paragraph in the target extended code which is continuously the same as the target native code as a code block, and taking a code paragraph in the target extended code which is continuously different from the target native code as a code block.
In one possible design approach, a detection device obtains target native code and target extension code, including: the detection equipment acquires an acquisition path input by a user; the detection device collects the target native code and the target extended code according to the collection path.
In one possible design method, after the detecting device displays the evaluation result, the method further includes: the detection equipment displays a modification strategy of the target extension code in a display interface; the detection device executes the modification policy in response to a user's trigger operation on the modification policy. Wherein the modification policy comprises: the code block type of the code block is converted (namely, the code block with higher collision risk in the target extension code is converted into the code block with lower collision risk), and/or at least two code blocks in the target extension code are combined (so that the total number of the code blocks of the target extension code is smaller, the size of the code block is larger, and the destructiveness of the target extension code on the target native code is reduced).
In a possible design method, after the detecting device evaluates at least one code block of the N code blocks to obtain an evaluation result of the target spreading code, the method further includes: and when the evaluation result does not accord with the preset warehousing condition, the detection equipment prohibits the target extension code from being put into a code library in the production environment from running from the development environment. Therefore, the code quality of the extended codes running in the code base can be strictly controlled, the extended codes with larger destructiveness to the native codes are effectively prevented from being used, and the conflict phenomenon between the native codes and the extended codes caused by the upgrade of the native codes is reduced.
In a second aspect, an embodiment of the present application provides a detection apparatus, including: an acquisition unit configured to acquire a target native code and a target extension code, the target extension code being obtained based on the target native code; the dividing unit is used for dividing the target extended code into N continuous code blocks by comparing the target native code with the target extended code, wherein N is more than or equal to 1; the evaluation unit is used for evaluating at least one code block in the N code blocks to obtain an evaluation result of the target spreading code, and the evaluation result is used for indicating the probability of the collision phenomenon of the target spreading code; and the display unit is used for displaying the evaluation result.
In one possible design method, the display unit is specifically configured to display the N code blocks in a display interface using different color blocks, where a color of each code block is used to indicate a code block type of the code block.
In a possible design method, the display unit is further configured to display evaluation details when evaluating a first code block of the N code blocks when detecting that a user triggers a color block in which the first code block is located.
In a possible design method, the evaluation unit is specifically configured to, for each code block of the at least one N code blocks, score the code block according to a code block type of the code block; taking the obtained scoring information of the at least one code block as the evaluation result of the target spreading code
In a possible design approach, the evaluation unit is specifically configured to score the code blocks according to their code block type and their size
In a possible design method, the dividing unit is specifically configured to compare the target native code with the target extension code, use a code section of the target extension code that is continuously the same as the target native code as a code block, and use a code section of the target extension code that is continuously different from the target native code as a code block, so as to obtain N consecutive code blocks.
In a possible design method, the obtaining unit is specifically configured to obtain an acquisition path input by a user; and acquiring the target native code and the target extension code according to the acquisition path.
In a possible design method, the display unit is further configured to display a modification strategy for the target extension code; the detection device further comprises an execution unit, which is used for responding to the trigger operation of the user to the modification strategy, and executing the modification strategy, wherein the modification strategy comprises the following steps: converting the code block type of the code block, and/or merging at least two code blocks in the target extension code.
In a possible design method, the execution unit is further configured to prohibit the target extension code from being launched from the development environment into a code library in the production environment to run when the evaluation result does not meet a preset warehousing condition.
In a third aspect, an embodiment of the present application provides a detection device, including a processor, a memory, an input device, and an output device, connected by a bus, where the processor is configured to: acquiring a target native code and a target extended code, wherein the target extended code is obtained based on the target native code; dividing the target extended code into N continuous code blocks by comparing the target native code with the target extended code, wherein N is more than or equal to 1; evaluating at least one code block in the N code blocks to obtain an evaluation result of the target spreading code, wherein the evaluation result is used for indicating the probability of the target spreading code for generating a collision phenomenon; the output device is configured to: and displaying the evaluation result.
In one possible design approach, the output device is specifically configured to: and displaying the N code blocks in a display interface by using different color blocks, wherein the color of each code block is used for indicating the code block type of the code block.
In one possible design approach, the input device is configured to: detecting a color block where a first code block in the N code blocks is triggered by a user; the output device is further configured to: evaluation details when evaluating the first code block are displayed.
In one possible design approach, the processor is specifically configured to: for each code block in the at least one code block, scoring the code block according to the code block type of the code block; and taking the obtained scoring information of the at least one N code blocks as an evaluation result of the target spreading code.
In one possible design approach, the processor is specifically configured to: and scoring the code block according to the code block type of the code block and the size of the code block.
In one possible design approach, the processor is specifically configured to: and comparing the target native code with the target extended code, taking the continuous same code paragraph in the target extended code as a code block, and taking the continuous different code paragraph in the target extended code as a code block to obtain N continuous code blocks.
In one possible design approach, the input device is further configured to: acquiring an acquisition path input by a user; the processor is further configured to: and acquiring the target native code and the target extension code according to the acquisition path.
In one possible design approach, the output device is further configured to: displaying a modification strategy of the target extension code in a display interface; the input device is further configured to: detecting the trigger operation of the user on the modification strategy; the processor is further configured to: the modification policy is executed.
In one possible design approach, the modification strategy includes: converting the code block type of the code block and/or combining at least two code blocks in the target extension code.
In one possible design approach, the processor is further configured to: and when the evaluation result does not accord with the preset warehousing condition, forbidding the target extension code from being put into a code library in the production environment from the development environment to run.
In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, where instructions are stored, and when the instructions are executed on any one of the detection devices, the instructions cause the detection device to execute any one of the code detection methods.
In a fifth aspect, embodiments of the present application provide a computer program product containing instructions that, when run on any one of the above detection apparatuses, cause the detection apparatus to perform any one of the above code detection methods.
In the embodiments of the present application, the names of the above-mentioned detection devices do not limit the devices themselves, and in practical implementations, the devices may appear by other names. As long as the functions of the respective devices are similar to those of the embodiments of the present application, they are within the scope of the claims of the present application and their equivalents.
In addition, the technical effects brought by any one of the design methods of the second aspect to the fifth aspect can be referred to the technical effects brought by the different design methods of the first aspect, and are not described herein again.
Drawings
FIG. 1 is a diagram illustrating a scenario in which a native code and an extended code conflict with each other in the prior art;
fig. 2 is a schematic flowchart of a code detection method according to an embodiment of the present application;
fig. 3 is a first scenario diagram of a code detection method according to an embodiment of the present application;
fig. 4 is a schematic view of a scenario of a code detection method according to an embodiment of the present application;
fig. 5 is a third scenario schematic diagram of a code detection method according to an embodiment of the present application;
Fig. 6 is a scene schematic diagram of a code detection method according to an embodiment of the present application;
fig. 7 is a scene schematic diagram five of a code detection method provided in the embodiment of the present application;
fig. 8 is a scene schematic diagram six of a code detection method provided in the embodiment of the present application;
fig. 9 is a seventh schematic view of a scenario of a code detection method according to an embodiment of the present application;
fig. 10 is a scene schematic diagram eight of a code detection method according to an embodiment of the present application;
fig. 11 is a scene schematic diagram nine of a code detection method provided in the embodiment of the present application;
fig. 12 is a scene schematic diagram ten of a code detection method provided in an embodiment of the present application;
fig. 13 is an eleventh schematic view of a scenario of a code detection method according to an embodiment of the present application;
fig. 14 is a scene schematic diagram twelve of a code detection method according to an embodiment of the present application;
fig. 15 is a schematic view thirteen of a scenario of a code detection method according to an embodiment of the present application;
fig. 16 is a schematic view fourteen of a scene of a code detection method provided in the embodiment of the present application;
fig. 17 is a first schematic structural diagram of a detection apparatus according to an embodiment of the present disclosure;
fig. 18 is a schematic structural diagram of a second detection apparatus according to an embodiment of the present application.
Detailed Description
In the following, the terms "first", "second" are used for descriptive purposes only and are not to be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of the embodiments of the present application, "a plurality" means two or more unless otherwise specified.
To clarify the explanation of a code detection method provided in the embodiments of the present application, some names that will appear in the embodiments will be explained first.
Native code, refers to the initial code of a native operating system (e.g., android, IOS, etc.) released by some native platform providers, e.g., android version 3.0 code, android version 4.0 code, etc., which is generally unmodified by third party developers.
The extended code refers to code of an extended operating system (e.g., hua ye EMUI, millet MIUI, etc.) obtained by modifying native code on the basis of the native code by a third party developer, for example, an Original Equipment Manufacturer (OEM) or a developer of application software, in order to implement some specific functions and services.
The modification of the native code may specifically include adding a new code field in the native code, deleting some fields in the native code, or modifying some fields in the native code, and the like, which is not limited in this embodiment of the application.
The conflict phenomenon is a phenomenon that after the extension code is upgraded, the extension code (obtained based on the native code before the upgrade) and the code of the native code after the upgrade are different at the same modification point.
The conflict phenomenon may increase the operation risk of the extension code, which may cause that the extension code may not support some new characteristics of the upgraded native code, and even the extension code may not normally operate on the upgraded native code. In this case, the developer needs to spend a lot of labor to perform the work such as code reorganization and function reconfiguration, which not only wastes labor but also affects the system stability of the entire extended operating system.
In this regard, an embodiment of the present application provides a code detection method, as shown in fig. 2, the method including:
201. the detection device obtains target native code and target extension code, the target extension code being derived based on the target native code.
The position of the target native code in the whole native code may be the same as the position of the target extended code in the whole extended code, for example, the target native code is 1-20 lines of page 3, and the target extended code developed based on the target native code is also 1-20 lines of page 3.
Alternatively, the target native code and the target extension code may also refer to a segment of code or function that implements the same function, for example, the target native code is a native code that implements a fingerprint unlocking function in android version 3.0, and the target extension code is an extension code that implements a fingerprint unlocking function in EMUI based on android version 3.0.
For example, the code detection method provided in the embodiment of the present application may be made into an application software, so that the detection device may complete the code detection method of steps 201 and 206 by running the application software.
For example, when a user starts a code detection function (e.g., starts running the application software), as shown in fig. 3, the detection device may display a setting interface 300, and the user (e.g., a developer of the extension code) may input an acquisition path 301 of the target native code and the target extension code that need to be extracted in the setting interface 300.
The acquisition path 301 may be a local path (for example, a folder a in a disk of the detection device D), or may also be any path that can capture a code body, such as a network path (for example, a URL link address), which is not limited in this embodiment of the present application. For example, for the linux system, the detection device can capture the target native code and the target extended code specified by the user through the git address.
Further, as shown in fig. 3, the setting interface 300 may further set constraints such as an acquisition range 302 and/or an acquisition period 303, so as to improve the capturing efficiency of the target native code and the target extended code.
Since the code amount of the native operating system and the extended operating system is very large, the user may further screen a certain part or a certain type of file under the acquisition path 301 set by the user by setting the acquisition range 302, for example, a file with an acquisition suffix of ". java" is set in the acquisition range 302. The target native code and the target extended code required by the user can be rapidly acquired in a targeted manner by setting the acquisition range 302, and the timeliness of the acquired target native code and the acquired target extended code can be ensured by setting the acquisition period 303.
Of course, those skilled in the art may set other constraint conditions, for example, set an acquisition date and the like, according to an actual application scenario or actual experience, which is not limited in this embodiment of the present application.
In step 201, the detection device may obtain a target native code and a target extended code specified by a user according to setting information such as a collection path input by the user. For example, when the acquisition path is a local path, the detection device may copy the target native code and the target extended code in the local path to the memory; when the collection path is a network path, the detection device may download the target native code and the target extended code from the network path to the local.
Of course, the detection device may also preset default setting information such as a default acquisition path, and then, through the default setting information, the detection device may automatically acquire the target native code and the target extended code, which is not limited in this embodiment of the present application.
Optionally, after the detection device acquires the target native code and the target extension code, the detection device may further display the acquired target native code and the target extension code to a user in a display interface of the detection device.
Further, as shown in fig. 4, the detection device may further mark, in a display interface of the detection device, a paragraph where a difference occurs between the obtained target native code 401 and the target extension code 402 (for example, by way of bolding and underlining marks in fig. 4), so that the user may quickly and intuitively know the difference between the current target native code 401 and the target extension code 402.
202. The detection equipment divides the target extended code into N continuous code blocks by comparing the target native code with the target extended code, wherein N is more than or equal to 1.
The code block is divided according to the following principle: the code sections of the target extension code that are continuously the same as the target native code may be regarded as one code block, and the code sections of the target extension code that are continuously different from the target native code may be regarded as one code block.
Then, as shown in FIG. 5, the detection device may determine by comparing the target native code 401 and the target extension code 402 shown in FIG. 4: lines 1-8 in the target extension code 402 are the same as lines 1-8 in the target native code 401, then lines 1-8 in the target extension code 402 may be considered as code block 1; line 9 in the target extension code 402 is not the same as line 9 in the target native code 401, then line 9 in the target extension code 402 may be taken as code block 2; lines 10-12 in target extension code 402 are the same as lines 10-12 in target native code 401, then lines 10-12 in target extension code 402 may be taken as code blocks 3, … … until target extension code 402 is divided into 7 consecutive code blocks as shown in FIG. 4.
Of course, as also shown in fig. 5, the process of dividing the target native code 401 into code blocks may also be displayed in a display interface of the detection device, for example, the target native code 401 and the target extension code 402 are displayed by a split-screen method, which is not limited in this embodiment.
203. And the detection equipment evaluates at least one code block in the N code blocks respectively to obtain the evaluation result of the whole target spread code.
The code block types that may occur may be preset in the detection device, for example, 4 code block types are stored in the detection device in advance. Type 1 refers to a case where one code block is identical in the target native code and the target extended code, for example, the code block 1 described above; type 2 refers to a case where a code block is not present in the target native code but is newly added in the target extended code, for example, the above-described code block 2; type 3 refers to a case where a code block appears in the target native code and is deleted in the target extended code; type 4 refers to a case where a code block is modified based on native code, for example, the value of the integer type (int) parameter c2 in the code block 6 of the target extension code 402 in fig. 5 is modified from 2 to 3.
For code block type 4, it may be further divided into different subtypes, for example, when only the variable is modified, its code block type is type 4-1; when only the function name is modified, its code block type is type 4-2; when only the return value is modified, its code block type is type 4-3; when the function name and the return value are modified at the same time, the code block type is type 4-4, and the like, which is not limited in any way by the embodiment of the present application.
In addition, the destructiveness of the code blocks of different code block types to the native code is generally different, that is, after the target native code is upgraded, the probability of the collision phenomenon of different code blocks in the target extended code is different.
For example, for the code block 1 shown in fig. 5, since the type of the code block 1 is type 1, that is, the code block 1 is completely the same as the code 1 'at the same position in the target native code, if the code 1' in the target native code is modified during upgrading, the code block 1 in the target extended code only needs to be modified the same, so that the code block 1 in the target extended code can be compatible with the upgraded target native code. That is, the type 1 code block is less destructive to the native code, and the probability of the subsequent collision phenomenon caused by the code upgrade is also less.
Whereas for the code block 6 shown in fig. 5, since the type of the code block 6 is type 4, i.e. the code block 6 is modified compared to the code 6 'at the same position in the target native code, if the code 6' in the target native code is modified when upgrading the new feature, then the code block 6 in the target extension code cannot support the new feature at this time. That is, the type 4 code block is more destructive to the native code, and the probability of the subsequent collision phenomenon caused by the code upgrade is also higher.
Then, in step 203, the detection device may evaluate each of at least one code block (e.g., each of the code blocks 1-7) of the N code blocks according to the type of the code block, so as to obtain an evaluation result that may reflect the risk of collision occurring subsequently to the target extension code. For example, after the detection device evaluates X (X < N) code blocks of the N code blocks, respectively, the evaluation results of the X code blocks in the target spreading code can be obtained, and the evaluation results of the X code blocks can also be used as the evaluation results of the entire target spreading code, so that the risk of occurrence of a collision phenomenon of the entire target spreading code is reflected to a certain extent. And after the detection device evaluates each of the N code blocks, the obtained evaluation results of the N code blocks can be used as the evaluation results of the whole target spread code, and the evaluation results can comprehensively reflect the risk of the collision phenomenon of the whole target spread code.
For example, each code block may be scored by a scoring system according to the type of the code block, for example, when the code block type of one code block is type 1, the score of the code block is 1; when the code block type of one code block is type 2 or type 3, the score of the code block is 3; when the code block type of one code block is type 4, the score of the code block is 5.
Thus, taking 7 code blocks shown in fig. 5 as an example, the scores of the code block 1, the code block 3, the code block 5, and the code block 7 are all 1 score, the scores of the code block 2 and the code block 4 are all 3 score, and the score of the code block 6 is 5 score. Then, the total score of the entire target spreading code 402 is: 1 × 4+3 × 2+5 is 15 points, and at this time, scoring information such as the score of the code block and the total score of the entire target spread code 402 may be used as the evaluation result of the target spread code 402.
Of course, the detection device may further determine, according to the total score of the entire target spreading code 402, a risk assessment of a subsequent collision phenomenon of the target spreading code 402 for the user, and at this time, the risk assessment may be used as an assessment result of the target spreading code 402.
For example, when the total score is greater than 12, the evaluation result of the target spreading code 402 is: the risk of collision is high; when the total score is greater than 5 and less than 12, the evaluation result of the target spreading code 402 is: the risk of collision phenomenon is general; when the total score is less than 5, the evaluation result of the target extension code 402 is: the risk of collision phenomena is small.
In addition, as shown in fig. 6, the detection device may further display the scoring process and the evaluation result to the user on a display interface thereof, so that the user can intuitively determine the probability of the occurrence of the collision phenomenon of different code blocks in the target spreading code.
Further, in addition to the code block type of the code block, the size of each code block in the target extension code (e.g., the number of lines of code in the code block) and the total number of code blocks may also affect the size of the corruption to the target native code.
Specifically, for a target extension code, the smaller the total number of code blocks, the better the continuity of the target extension code is compared with the target native code, and the smaller the difference with the target native code, the less destructive the target native code. And when the size of each code block is larger, the larger the size of each code block is, the better the continuity of the target extended code is compared with the target native code, and the less destructive the target native code is.
Therefore, in other embodiments of the present application, the detection device may further evaluate the target spreading code according to the type of each of the N code blocks, the size of each code block, and the total number of the code blocks, so as to obtain a risk of a subsequent collision phenomenon of each code block.
Still taking 7 code blocks shown in fig. 5 as an example, the detection device may record the type and size of each code block, and further, as shown in table 1, may still score each code block according to the type and size of each code block in a scoring manner. For example, the detection device may store scores corresponding to different code block types and scores corresponding to different code block sizes, and then the detection device may determine the score of each code block according to the corresponding relationships, and finally, as shown in table 1, the detection device may calculate the total score of the entire target extension code 402 as: 2+7+3+7+2+9+3 is 33 points.
TABLE 1
Code block 1 Code block 2 Code block 3 Code block 4 Code block 5 Code block 6 Code block 7
Type (B) 1 minute (1) 3 points of 1 minute (1) 3 points of 1 minute (1) 5 points of 1 minute (1)
Size and breadth 1 minute (1) 4 is divided into 2 is divided into 4 is divided into 1 minute (1) 4 is divided into 2 is divided into
Total score 2 is divided into 7 points of 3 points of 7 points of 2 is divided into 9 minutes 3 points of
Then, the detection apparatus may take the score of each code block described above and the calculated total score-equal score information of the entire target spread code 402 as the evaluation result of the target spread code 402. Or further determining a risk assessment of a subsequent collision phenomenon of the target spreading code 402 for the user according to the total score of the whole target spreading code 402, and adding the risk assessment into the assessment result of the target spreading code 402.
It should be noted that the target extension code may be a specific function, may be a part or all of the code in a code file, or may be a set of files (for example, all code files in a folder or under a path), and through the above embodiment, an evaluation result of the specified target extension code may be obtained.
In addition, in the above embodiments, a specific method for evaluating a code block in a target extension code is exemplified in a manner of scoring, and it can be understood that a person skilled in the art may also set other evaluation methods according to an actual application scenario or actual experience, for example, a risk of a collision phenomenon occurring in the code block in the target extension code is evaluated through technical means such as big data statistics or artificial intelligence, and the embodiments of the present application do not limit this.
204. And the detection equipment displays the evaluation result to a user.
In step 204, the detection device may visually and intuitively display the evaluation result obtained in step 203 to the user through a visualization means, so that the user can visually evaluate and analyze the destructiveness of the target extension code on the native code, thereby modifying the target extension code in time and reducing the probability of a collision phenomenon in a subsequent upgrade process.
For example, as shown in fig. 7, the detection device may present, in a display interface thereof, an evaluation result interface 701 shown in table 1 to a user, where a score of each code block in the target extension code is displayed in the evaluation result interface 701, and a risk situation of a collision phenomenon that is evaluated by the detection device according to the score of each code block.
Further, as shown in fig. 8, if the user clicks a certain code block or the scoring of the code block, or moves the cursor to the position of the corresponding code block. The detection device may present scoring details when evaluating the code block to the user in a form of popping up a floating window 702, for example, the floating window 702 in fig. 8 shows details of the code block type, the code block size, the risk level, and a modification policy of the code block 6, and if the user confirms to execute the modification policy, the detection device may automatically modify and optimize the code block 6, which is not limited in this embodiment of the present application.
The method for determining the code block modification policy by the detection device will be described in detail in step 205, and thus will not be described herein again.
Or, the detection device may also present the evaluation result to the user in a display interface thereof through the color and the size of the color block. Specifically, the detection device may mark different code block types as different colors, for example, as shown in fig. 9, according to the change of the color depth, the code block type 4 with the highest probability of occurrence of the collision phenomenon is marked as black, the code block types 2 and 3 with the same probability of occurrence of the collision phenomenon are marked as gray (indicated by diagonal filling in fig. 9), and the code block type 1 with the smaller probability of occurrence of the collision phenomenon is marked as white. And the size of the color block may indicate the size of the corresponding code block. Then, as shown in fig. 9, a color block 801 is used to indicate a code block 1, a color block 802 is used to indicate a code block 2, … …, and a color block 807 is used to indicate a code block 7. Through the specific position, color and size of the color blocks, which part of the target extension code is easy to generate the collision phenomenon, the severity of the collision phenomenon and the like can be vividly displayed to a user, and the user can conveniently optimize the target extension code.
Further, as shown in fig. 10, a specific code of a corresponding code block may also be displayed in each color block, which is convenient for a user to locate problems occurring in each code block in time.
Further, as shown in fig. 11, if the user clicks a color block or moves the cursor to the corresponding color block, the detection device may display scoring details when evaluating the code block in the color block to the user in a form of popping up a floating window 820, for example, the floating window 820 in fig. 11 displays details of the code block type, the code block size, the risk level, the modification policy, and the like of the code block 6, which is not limited in this embodiment of the application.
In addition, in the above embodiment, a specific method for presenting the evaluation result to the user is illustrated in the form of a table and a color block, and it can be understood that a person skilled in the art may also set other visualization presentation methods according to an actual application scenario or actual experience, which is not limited in this application embodiment.
205. And the detection equipment determines a modification strategy of the target extension code according to the evaluation result.
206. The detection equipment executes the modification strategy on the target extension code so as to reduce the destructiveness of the target extension code on the target native code.
In one possible design approach, modification strategies for different code block types may be pre-stored in the detection device. For example, for the type 4 code block, such as the code block 6, in which the int parameter value is directly modified, the modification policy may be preset as follows: the code block of the type 4 is optimized into the code block of the type 3 with smaller collision risk, so that the score of the code block 6 is reduced, and the destructiveness of the whole extension code to the native code is reduced.
That is, as shown in fig. 12, the detection device may convert the code block type of the code block 6 by performing semantic analysis on the target extension code, and convert the code block 6 with a high risk of collision in the target extension code into a code block of type 2 with a low risk of collision.
For example, in the code block 6, the target native code "int c2 ═ 2" is modified to "int c2 ═ 3", and this modification manner of directly modifying the value of the variable increases the probability of subsequent collision phenomenon, so the detection apparatus may modify "int c2 ═ 3" in the code block 6 to:
“int c2=2;
int c4=3;
c2=c4;”
in this way, compared with the target native code, the target extension code is obtained by adding two lines of code on the basis of "int c2 ═ 2" in the target native code, and the purpose of assigning c2 to 2 is also achieved, but at this time, the type of the modified code block 6 is converted into type 3 with less risk of collision, so that the destructiveness of the whole extension code on the native code is reduced.
In another possible design approach, the detection device may also set different modification strategies for the structure of the entire target spreading code.
Specifically, the less the total number of code blocks of the target extension code, the larger the size of the code blocks, the less destructive the target native code, that is, the less the color blocks of the target extension code, the larger the color blocks, the less destructive the target native code. Therefore, the detection device may preset a modification strategy for merging some color blocks, so as to reduce the total number of the color blocks of the target extension code, increase the size of each code block, thereby reducing the score of the whole target extension code (in this application, the lower the score of the target extension code is, the smaller the collision risk is, for example), and reduce the destructiveness of the extension code on the native code.
For example, as shown in fig. 13, the detection device performs semantic analysis on the target extension code to confirm that the setting position of the code block 4 does not affect the operation of the entire target extension code, and then the detection device may merge the code block 4 with the code 2, reduce the total number of code blocks in the merged target extension code from 7 blocks to 5 blocks, and increase the size of the code block accordingly, thereby reducing the score of the entire target extension code.
Of course, as shown in fig. 14, the detection device may also execute the two modification strategies, i.e., the conversion code block type shown in fig. 12 and the code block merging shown in fig. 13, on the target extension code at the same time, so as to further reduce the score of the whole target extension code, thereby reducing the destructiveness of the extension code on the native code, and reducing the probability of subsequent collision.
In addition, in step 206, after the detection device determines the modification policy for the target extension code, the modification policy may be automatically executed, or the detection device may be manually triggered by the user to execute the modification policy. For example, after obtaining the modification policy of combining the code block 4 and the code 2 in the target extension code, the detection device may prompt the user through the human-computer interaction interface as shown in fig. 15 whether to execute the modification policy, and if it is detected that the user clicks a confirmation button in the human-computer interaction interface, the detection device combines the code block 4 and the code 2 in the target extension code in response to the trigger operation.
Of course, when the user is prompted whether to execute the modification policy, the modification policy may be manually adjusted or parameters when the modification policy is executed may also be set in the human-computer interaction interface, for example, the time for executing the modification policy is modified, the number of code blocks that need to be merged, and the like, so that the user can control the execution process of the modification policy, and the modification efficiency of the target extension code is improved.
It should be noted that, in the embodiment of the present application, the execution order between steps 204 and 205 is not limited at all.
In addition, in the embodiment of the present application, the detection device may further set a storage condition for inputting the target extension code into the code library according to the evaluation result. For example, as shown in (a) of fig. 16, the warehousing condition may be: and when the total score of the target extension code is greater than a preset reference value, allowing the target extension code to be launched from the development environment into a code library in the production environment. For another example, as shown in fig. 16 (b), the storage condition may be: when the target extension code does not contain the code block of the code block type 4, the target extension code is allowed to be launched from the development environment into a code library in the production environment.
When the target extension code does not meet the warehousing condition, the target extension code cannot be warehoused, then developers need to further optimize the target extension code until the warehousing condition is met, and the optimized target extension code cannot be put into a code base in a production environment from a development environment to run.
Therefore, the code quality of the extended codes running in the code base can be strictly controlled, the extended codes with larger destructiveness to the native codes are effectively prevented from being used, and the conflict phenomenon between the native codes and the extended codes caused by the upgrade of the native codes is reduced.
It is to be understood that the above-mentioned detection device and the like include a hardware structure and/or a software module corresponding to each function for realizing the above-mentioned functions. Those of skill in the art will readily appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as hardware or combinations of hardware and computer software. Whether a function is performed as hardware or computer software drives hardware depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the embodiments of the present application.
In the embodiment of the present application, the detection device and the like may be divided into functional modules according to the method example, for example, each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode. It should be noted that, in the embodiment of the present application, the division of the module is schematic, and is only one logic function division, and there may be another division manner in actual implementation.
In the case of dividing each functional module by corresponding functions, fig. 17 shows a schematic diagram of a possible structure of the detection apparatus according to the above embodiment, and the detection apparatus includes: an acquisition unit 1101, a dividing unit 1102, an evaluation unit 1103, a display unit 1104, and an execution unit 1105.
The acquisition unit 1101 is configured to support the detection device to execute the process 201 in fig. 2; the dividing unit 1102 is configured to support the detection device to perform the process 202 in fig. 2; the evaluation unit 1103 is configured to support the detection device to perform the process 203 in fig. 2; display unit 1104 is used to support the detection device to perform process 204 in FIG. 2; the execution unit 1105 is used to support the detection device to execute the process 205 and 206 in fig. 2.
All relevant contents of each step related to the above method embodiment may be referred to the functional description of each functional module in the corresponding invention content, and are not described herein again.
Fig. 18 shows a schematic diagram of a possible configuration of the detection device according to the above-described embodiment, in the case of an integrated unit. The detection apparatus includes: including a processor 1201, a memory 1202, a transceiver 1203 (optional), an input device 1204, and an output device 1205 connected by a bus 1206.
The processor 1201 is used for controlling and managing the actions of the detection device. The transceiver 1203 is used to support communication of the detection device with other network entities. The detection device may also include a memory 1202 for storing program codes and data for the detection device. The detection device may also include an input device 1204 and an output device 1205 for interacting with a user, for example, the input device 1204 may be a keyboard, a microphone, etc.; the output device 1205 may be a display or the like.
It should be noted that, in the embodiment of the present invention, the processor 1201 may be configured to obtain the target native code and the target extended code. When the target native code (or target extended code) is stored in the memory 1202 of the detection device, the processor 1201 can directly obtain the target native code (or target extended code) from the memory 1202; when the target native code (or the target extended code) is stored in another device (for example, a server on the network side), the processor 1201 may send an acquisition instruction to the transceiver 1203, and the transceiver 1203 downloads the target native code (or the target extended code) from the other device into the local memory 1202.
The Processor 1201 may be a Central Processing Unit (CPU), a general purpose Processor, a Digital Signal Processor (DSP), an Application-Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other Programmable logic device, a transistor logic device, a hardware component, or any combination thereof. Which may implement or perform the various illustrative logical blocks, modules, and circuits described in connection with the disclosure. The processor may also be a combination of computing functions, e.g., comprising one or more microprocessors, DSPs, and microprocessors, among others.
The memory 1202 mainly includes a program storage area and a data storage area, wherein the program storage area can store an operating system and application programs (such as a sound playing function and an image playing function) required by at least one function; the storage data area may store data created upon use of the detection device. Further, the memory 103 may include high speed random access memory, and may also include non-volatile memory, such as a magnetic disk storage device, flash memory device, or other volatile solid state storage device. The memory 1202 may store various operating systems, such as those developed by apple Inc
Figure BDA0001362929120000121
Operating System, developed by Google
Figure BDA0001362929120000122
An operating system, etc. The memory 1202 may be independent and connected to the processor 1201 through the communication bus 1206; the memory 1202 may also be integrated with the processor 1201.
The transceiver 1203 may be a device that provides various interfaces, transceiver circuitry, or communication interfaces for external input/output devices (e.g., keyboard, mouse, external display, external memory, sim card, etc.).
In some embodiments, the present application further provides a computer-readable storage medium having stored therein instructions, which when run on the above-mentioned detection apparatus, can cause the detection apparatus to execute the code detection method described in the above-mentioned embodiments.
In some embodiments, the present application also provides a computer program product comprising instructions which, when run on the detection apparatus described above, can cause the detection apparatus to perform the code detection method described in any of the above embodiments.
In the above embodiments, all or part of the implementation may be realized by software, hardware, firmware or any combination thereof. When implemented using a software program, may appear, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the application to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
The above description is only an embodiment of the present application, but the scope of the present application is not limited thereto, and any changes or substitutions within the technical scope of the present disclosure should be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (22)

1. A method of code detection, comprising:
the detection equipment acquires a target native code and a target extension code, wherein the target extension code is obtained by adding, deleting or modifying a first code segment of the target native code;
the detection equipment divides the target extended code into N continuous code blocks by comparing the target native code with the target extended code, wherein N is more than or equal to 1;
the detection device evaluates at least one code block in the N code blocks to obtain an evaluation result of the target extended code, wherein the evaluation result is used for indicating the probability of the collision phenomenon between the target extended code and the subsequent native code at the position of the first code segment;
and the detection equipment displays the evaluation result.
2. The method of claim 1, wherein the detection device displays the assessment results in a display interface comprising:
The detection device displays the N code blocks in a display interface by using different color blocks, wherein the color of each code block is used for indicating the code block type of the code block.
3. The method of claim 2, further comprising, after the detection device displays the evaluation result in a display interface:
and when detecting that a user triggers a color block where a first code block in the N code blocks is located, the detection equipment displays evaluation details when the first code block is evaluated.
4. The method according to claim 1, wherein the evaluating at least one of the N code blocks by the detection device to obtain the evaluation result of the target spreading code comprises:
for each code block in the at least one N code blocks, the detection device scores the code block according to the code block type of the code block;
and the detection equipment takes the obtained scoring information of the at least one code block as an evaluation result of the target spreading code.
5. The method of claim 4, wherein the detecting device scores the code block according to the code block type of the code block, and comprises:
And the detection equipment scores the code block according to the code block type of the code block and the size of the code block.
6. The method according to claim 1, wherein the detection device divides the target spread code into N consecutive code blocks by comparing the target native code with the target spread code, and comprises:
the detection device compares the target native code with the target extended code, uses a code paragraph in the target extended code which is continuously the same as the target native code as a code block, and uses a code paragraph in the target extended code which is continuously different from the target native code as a code block, so as to obtain N continuous code blocks.
7. The method of claim 1, wherein the detection device obtaining the target native code and the target extended code comprises:
the detection equipment acquires an acquisition path input by a user;
and the detection equipment acquires the target native code and the target extended code according to the acquisition path.
8. The method of claim 1, further comprising, after the detection device displays the evaluation result:
The detection equipment displays a modification strategy of the target extension code;
and in response to the triggering operation of the user on the modification strategy, the detection equipment executes the modification strategy.
9. The method of claim 8, wherein the modification policy comprises: converting a code block type of a code block, and/or merging at least two code blocks in the target extension code.
10. The method according to any one of claims 1 to 9, further comprising, after the detecting device evaluates at least one of the N code blocks to obtain an evaluation result of the target spreading code:
and when the evaluation result does not accord with the preset warehousing condition, the detection equipment prohibits the target extension code from being put into a code library in a production environment from a development environment for running.
11. A detection device comprising a processor, a memory, an input device, and an output device connected by a bus, wherein,
the processor is configured to: acquiring a target native code and a target extension code, wherein the target extension code is obtained by adding, deleting or modifying a first code segment of the target native code; dividing the target extended code into N continuous code blocks by comparing the target native code with the target extended code, wherein N is more than or equal to 1; evaluating at least one code block in the N code blocks to obtain an evaluation result of the target extension code, wherein the evaluation result is used for indicating the probability of a collision phenomenon between the target extension code and a subsequent native code at the position of the first code segment;
The output device is to: and displaying the evaluation result.
12. The detection apparatus according to claim 11,
the output device is specifically configured to: and displaying the N code blocks in a display interface by using different color blocks, wherein the color of each code block is used for indicating the code block type of the code block.
13. The detection apparatus according to claim 12,
the input device is configured to: detecting a color block where a first code block in the N code blocks is triggered by a user;
the output device is further configured to: displaying evaluation details when evaluating the first code block.
14. The detection apparatus according to claim 11,
the processor is specifically configured to: for each code block in the at least one code block, scoring the code block according to the code block type of the code block; and taking the obtained scoring information of the at least one N code blocks as an evaluation result of the target spreading code.
15. The detection apparatus according to claim 14,
the processor is specifically configured to: and scoring the code block according to the code block type of the code block and the size of the code block.
16. The detection apparatus according to claim 11,
the processor is specifically configured to: and comparing the target native code with the target extended code, taking the code paragraphs which are continuous and same with the target native code in the target extended code as a code block, and taking the code paragraphs which are continuous and different from the target native code in the target extended code as a code block to obtain N continuous code blocks.
17. The detection apparatus according to claim 11,
the input device is further configured to: acquiring an acquisition path input by a user;
the processor is further configured to: and acquiring the target native code and the target extended code according to the acquisition path.
18. The detection apparatus according to claim 11,
the output device is further configured to: displaying a modification strategy of the target extension code in a display interface;
the input device is further configured to: detecting a trigger operation of a user on the modification strategy;
the processor is further configured to: and executing the modification strategy.
19. The detection apparatus of claim 18, wherein the modification policy comprises: converting a code block type of a code block, and/or merging at least two code blocks in the target extension code.
20. The detection apparatus according to any one of claims 11 to 19,
the processor is further configured to: and when the evaluation result does not accord with the preset warehousing condition, forbidding the target extension code from being put into a code library in the production environment from the development environment to run.
21. A computer-readable storage medium having instructions stored therein, which when run on a detection device, cause the detection device to perform the code detection method of any one of claims 1-10.
22. A computer program product comprising instructions for causing a detection device to perform the code detection method according to any one of claims 1-10 when the computer program product is run on the detection device.
CN201710626452.4A 2017-07-27 2017-07-27 Code detection method and device Active CN109308253B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710626452.4A CN109308253B (en) 2017-07-27 2017-07-27 Code detection method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710626452.4A CN109308253B (en) 2017-07-27 2017-07-27 Code detection method and device

Publications (2)

Publication Number Publication Date
CN109308253A CN109308253A (en) 2019-02-05
CN109308253B true CN109308253B (en) 2022-07-12

Family

ID=65202251

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710626452.4A Active CN109308253B (en) 2017-07-27 2017-07-27 Code detection method and device

Country Status (1)

Country Link
CN (1) CN109308253B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190583B (en) * 2019-12-31 2021-10-22 华为技术有限公司 Associated conflict block presenting method and equipment
CN114911467B (en) * 2021-10-22 2023-05-09 北京思明启创科技有限公司 Code detection method, device, electronic equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870382A (en) * 2012-12-10 2014-06-18 百度在线网络技术(北京)有限公司 Code risk detection method and device
CN104572260A (en) * 2013-10-22 2015-04-29 国际商业机器公司 Code versioning for enabling transactional memory promotion
CN106126410A (en) * 2016-05-26 2016-11-16 华为技术有限公司 The reminding method of code conflicts and device
CN106406918A (en) * 2016-11-25 2017-02-15 华胜信泰信息产业发展有限公司 Source code automatic merging method and apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870382A (en) * 2012-12-10 2014-06-18 百度在线网络技术(北京)有限公司 Code risk detection method and device
CN104572260A (en) * 2013-10-22 2015-04-29 国际商业机器公司 Code versioning for enabling transactional memory promotion
CN106126410A (en) * 2016-05-26 2016-11-16 华为技术有限公司 The reminding method of code conflicts and device
CN106406918A (en) * 2016-11-25 2017-02-15 华胜信泰信息产业发展有限公司 Source code automatic merging method and apparatus

Also Published As

Publication number Publication date
CN109308253A (en) 2019-02-05

Similar Documents

Publication Publication Date Title
US10747652B2 (en) Automatic risk analysis of software
US9336023B2 (en) Visual generation of mobile applications based on data models
EP3835987B1 (en) Method and system for automatically identifying and correcting security vulnerabilities in containers
US9720799B1 (en) Validating applications using object level hierarchy analysis
US8566901B2 (en) Setting default security features for use with web applications and extensions
CN102609328B (en) System difference upgrade method and device and mobile terminal
US9652220B2 (en) Zero down-time deployment of new application versions
US8719797B2 (en) System and method for debugging dynamically generated code of an application
US10191751B2 (en) Information processing device for generating application programming interface information
US9038019B2 (en) Paige control for enterprise mobile applications
US20160077831A1 (en) Accurate and performant code design using memoization
RU2611961C2 (en) Method and system of regression testing of web page functionality, machine-readable data storage media
CN109308253B (en) Code detection method and device
CN111177113A (en) Data migration method and device, computer equipment and storage medium
CN102855129B (en) The method of automatic establishment detached process and system thereof
CN110889116B (en) Advertisement interception method and device and electronic equipment
CN111191174A (en) Method, system and device for integrating Spanish Bitums
CN109522174B (en) Method, device, terminal and storage medium for controlling adb enabling
CN111385661B (en) Method, device, terminal and storage medium for voice control of full screen playing
CN110598142A (en) Webpage calibration method and device, computer equipment and storage medium
CN113377458B (en) Plug-in management method and device, electronic equipment and storage medium
US9824175B1 (en) Method and system of evaluation of validity of a refinement rule for a hardware emulation
CN109542300B (en) Method and device for updating web directory, electronic equipment and storage medium
US20220206934A1 (en) Test apparatus, test method and program
US20170123959A1 (en) Optimized instrumentation based on functional coverage

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 523808 Southern Factory Building (Phase I) Project B2 Production Plant-5, New Town Avenue, Songshan Lake High-tech Industrial Development Zone, Dongguan City, Guangdong Province

Applicant after: HUAWEI DEVICE Co.,Ltd.

Address before: 523808 Southern Factory Building (Phase I) Project B2 Production Plant-5, New Town Avenue, Songshan Lake High-tech Industrial Development Zone, Dongguan City, Guangdong Province

Applicant before: Huawei terminal (Dongguan) Co.,Ltd.

GR01 Patent grant
GR01 Patent grant