CN111475196B - Compiling alarm tracing method and device, electronic equipment and computer readable medium - Google Patents

Compiling alarm tracing method and device, electronic equipment and computer readable medium Download PDF

Info

Publication number
CN111475196B
CN111475196B CN202010238682.5A CN202010238682A CN111475196B CN 111475196 B CN111475196 B CN 111475196B CN 202010238682 A CN202010238682 A CN 202010238682A CN 111475196 B CN111475196 B CN 111475196B
Authority
CN
China
Prior art keywords
alarm
file
source file
information
version
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010238682.5A
Other languages
Chinese (zh)
Other versions
CN111475196A (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.)
Hangzhou DPtech Information Technology Co Ltd
Original Assignee
Hangzhou DPtech Information Technology 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 Hangzhou DPtech Information Technology Co Ltd filed Critical Hangzhou DPtech Information Technology Co Ltd
Priority to CN202010238682.5A priority Critical patent/CN111475196B/en
Publication of CN111475196A publication Critical patent/CN111475196A/en
Application granted granted Critical
Publication of CN111475196B publication Critical patent/CN111475196B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The disclosure relates to a compiling alarm tracing method, a compiling alarm tracing device, electronic equipment and a computer readable medium. The method comprises the following steps: analyzing the alarm information of the code library to obtain a plurality of alarm problems; acquiring a plurality of source files of the plurality of alarm problems and a plurality of corresponding submitting records based on an operation instruction of a user; determining a target source file from the plurality of source files; forming a header file with the same alarm problem as the target source file into an alarm problem set; determining a similarity between the target source file and each source file in the alert collection; and generating alarm tracing information of the target source file based on the similarity and the plurality of submitting records. The compiling alarm tracing method, the device, the electronic equipment and the computer readable medium can automatically trace the compiling alarm in the code base, find out the user introducing the alarm, further give the corresponding compiling alarm to the corresponding user for processing, and improve the processing efficiency of the compiling alarm.

Description

Compiling alarm tracing method and device, electronic equipment and computer readable medium
Technical Field
The disclosure relates to the field of computer information processing, and in particular relates to a compiling alarm tracing method, a compiling alarm tracing device, electronic equipment and a computer readable medium.
Background
In general, a method for clearing a large number of accumulated compiled alarms in a code library is to divide codes to special persons according to modules for elimination. That is, code files of different modules in a large code library are usually maintained by different project groups, compilation alarms in each code file can be given to one or a plurality of people in the corresponding project group, and the concentrated time is eliminated uniformly. The version control tool can also be utilized to track the history of the alarm introduction, firstly, the line of the alarm is determined, the reason of the alarm is clarified, and then, the developer who submits the relevant code is found through the code submitting history recorded in the version control tool, namely, the developer is arranged to eliminate the compiled alarm.
The main disadvantage of eliminating compiled alarms by a dedicated person is that the compiled alarms to be eliminated by the person are often not introduced by himself, and when related alarms are eliminated, the alarms are often eliminated only for eliminating the alarms, and regardless of the history reasons of introducing the alarms, an erroneous elimination method may be used. If the code submitting history is firstly searched, the responsible person introducing the compiling alarm is found, and then the corresponding responsible person is arranged to eliminate the compiling alarm, the probability of correctly eliminating the alarm is higher, but the defect is that a great amount of energy is consumed in the searching process, and the execution efficiency is not ideal.
The above information disclosed in the background section is only for enhancement of understanding of the background of the disclosure and therefore it may include information that does not form the prior art that is already known to a person of ordinary skill in the art.
Disclosure of Invention
In view of this, the disclosure provides a method, an apparatus, an electronic device, and a computer readable medium for tracing a compilation alarm, which can automatically trace the compilation alarm in a code library to find out a user who introduces the alarm, and then give the corresponding compilation alarm to the corresponding user for processing, thereby improving the processing efficiency of the compilation alarm.
Other features and advantages of the present disclosure will be apparent from the following detailed description, or may be learned in part by the practice of the disclosure.
According to an aspect of the disclosure, a compiling alarm tracing method is provided, and the method includes: analyzing the alarm information of the code library to obtain a plurality of alarm problems; acquiring a plurality of source files of the plurality of alarm problems and a plurality of corresponding submitting records based on an operation instruction of a user; determining a target source file from the plurality of source files; forming a header file with the same alarm problem as the target source file into an alarm problem set; determining the similarity between the target source file and the code file corresponding to each source file in the alarm set; and generating alarm tracing information of the target source file based on the similarity and the plurality of submitting records.
In an exemplary embodiment of the present disclosure, before the analyzing the alarm information of the code library to obtain the plurality of alarm problems, the method further includes: and determining the analysis mode of the compiler and the SVN tool on the line change mark.
In an exemplary embodiment of the present disclosure, further comprising: performing format arrangement on the alarm problems based on an operation instruction of a user to generate a plurality of file information; and acquiring alarm tracing information of the plurality of file information through SVN name technology.
In an exemplary embodiment of the present disclosure, further comprising: acquiring a current code version number based on the alarm information; determining a preset version number based on the current code version number; and generating preset traceability information based on the preset version number.
In an exemplary embodiment of the present disclosure, generating the preset traceability information based on the preset version number includes: determining a target alarm problem corresponding to a target source file; updating the code library to the preset version number; and generating the preset traceability information by compiling a minimum range code file containing the target alarm problem.
In an exemplary embodiment of the present disclosure, acquiring a plurality of source files and a plurality of commit records corresponding thereto for the plurality of alert problems based on an operation instruction of a user includes: acquiring a plurality of source files of the plurality of alarm problems based on an operation instruction of a user; acquiring a plurality of header files contained in the plurality of source files; and acquiring a plurality of commit records from the plurality of header files based on SVN log technology.
In one exemplary embodiment of the present disclosure, determining a similarity between the target source file and each source file in the alert set includes: acquiring first contents of a plurality of lines before and after a line where an alarm problem corresponding to each source file in the alarm set exists; acquiring second contents of a plurality of rows before and after the alarm problem corresponding to the target source file; and carrying out similarity calculation on the first content and the second content.
In an exemplary embodiment of the present disclosure, generating alert traceability information of the target source file based on the similarity and the plurality of commit records includes: and when the similarity is larger than a threshold value, determining an initial version of the alarm problem corresponding to the target source file based on the submitting record, and generating the alarm tracing information.
In one exemplary embodiment of the present disclosure, determining, based on the commit record, an initial version of an alert problem to introduce to the target source file, includes: determining that the initial version of the alarm problem corresponding to the target source file is the earliest version based on the submitting record; or determining that the initial version of the alarm problem corresponding to the target source file is the later version of the preset version based on the submitting record.
In one exemplary embodiment of the present disclosure, determining a similarity between the target source file and each source file in the alert set includes: and when the similarity is smaller than or equal to a threshold value, determining that the version of the alarm problem corresponding to the target source file is the later version of the preset version based on the submitting record, and generating the alarm tracing information through the preset tracing information.
According to an aspect of the present disclosure, a compiling alarm tracing device is provided, the device includes: the analysis module is used for analyzing the alarm information of the code library to obtain a plurality of alarm problems; the first instruction module is used for acquiring a plurality of source files of the plurality of alarm problems and a plurality of corresponding submitting records based on an operation instruction of a user; a file module for determining a target source file from the plurality of source files; the collection module is used for forming a header file with the same alarm problem as the target source file into an alarm problem collection; a similarity module, configured to determine a similarity between the target source file and a code file corresponding to each source file in the alert set; and the information module is used for generating alarm tracing information of the target source file based on the similarity and the plurality of submitting records.
In an exemplary embodiment of the present disclosure, further comprising: the second instruction module is used for carrying out format arrangement on the alarm problems based on the operation instruction of the user to generate a plurality of file information; and the tracing module is used for acquiring the alarm tracing information of the plurality of file information through the SVN name technology.
According to an aspect of the present disclosure, there is provided an electronic device including: one or more processors; a storage means for storing one or more programs; when the one or more programs are executed by the one or more processors, the one or more processors are caused to implement the methods as described above.
According to an aspect of the present disclosure, a computer-readable medium is presented, on which a computer program is stored, which program, when being executed by a processor, implements a method as described above.
According to the compiling alarm tracing method, device, electronic equipment and computer readable medium, the alarm information of the code library is analyzed to obtain a plurality of alarm problems; acquiring a plurality of source files of the plurality of alarm problems and a plurality of corresponding submitting records based on an operation instruction of a user; determining a target source file from the plurality of source files; forming a header file with the same alarm problem as the target source file into an alarm problem set; determining the similarity between the target source file and the code file corresponding to each source file in the alarm set; based on the similarity and the mode of generating the alarm tracing information of the target source file by the plurality of submitting records, the compiling alarm in the code library can be traced automatically, the user introducing the alarm is found out, and then the corresponding compiling alarm is handed to the corresponding user for processing, so that the processing efficiency of the compiling alarm is improved.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The above and other objects, features and advantages of the present disclosure will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings. The drawings described below are merely examples of the present disclosure and other drawings may be obtained from these drawings without inventive effort for a person of ordinary skill in the art.
FIG. 1 is a flowchart illustrating a method of compiling alert tracing according to an exemplary embodiment.
FIG. 2 is a flowchart illustrating a method of compiling alert tracing according to another exemplary embodiment.
FIG. 3 is a flowchart illustrating a method of compiling alert tracing according to another exemplary embodiment.
Fig. 4 is a block diagram illustrating a compiled alarm tracing apparatus in accordance with an example embodiment.
FIG. 5 is a system block diagram illustrating a method and apparatus for compiling alert tracing in accordance with an exemplary embodiment.
Fig. 6 is a block diagram of an electronic device, according to an example embodiment.
Fig. 7 is a block diagram of a computer-readable medium shown according to an example embodiment.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. However, the exemplary embodiments can be embodied in many forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the example embodiments to those skilled in the art. The same reference numerals in the drawings denote the same or similar parts, and thus a repetitive description thereof will be omitted.
Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the disclosure. One skilled in the relevant art will recognize, however, that the disclosed aspects may be practiced without one or more of the specific details, or with other methods, components, devices, steps, etc. In other instances, well-known methods, devices, implementations, or operations are not shown or described in detail to avoid obscuring aspects of the disclosure.
The block diagrams depicted in the figures are merely functional entities and do not necessarily correspond to physically separate entities. That is, the functional entities may be implemented in software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.
The flow diagrams depicted in the figures are exemplary only, and do not necessarily include all of the elements and operations/steps, nor must they be performed in the order described. For example, some operations/steps may be decomposed, and some operations/steps may be combined or partially combined, so that the order of actual execution may be changed according to actual situations.
It will be understood that, although the terms first, second, third, etc. may be used herein to describe various components, these components should not be limited by these terms. These terms are used to distinguish one element from another element. Accordingly, a first component discussed below could be termed a second component without departing from the teachings of the concepts of the present disclosure. As used herein, the term "and/or" includes any one of the associated listed items and all combinations of one or more.
Those skilled in the art will appreciate that the drawings are schematic representations of example embodiments and that the modules or flows in the drawings are not necessarily required to practice the present disclosure, and therefore, should not be taken to limit the scope of the present disclosure.
FIG. 1 is a flowchart illustrating a method of compiling alert tracing according to an exemplary embodiment. The compiling alert tracing method 10 at least includes steps S102 to S112.
As shown in fig. 1, in S102, a plurality of alarm problems are acquired by parsing alarm information of a code base. Taking SVN as an example, the tool records the content and responsible person of the file that the SVN client (SVN local library) submits to the SVN server each time, and the SVN version number increases by 1 when the submission is successful. If the file managed by the SVN server is a text file (including a source code file), each historical version of the file can be queried with a SVN log command, text differences between any two historical versions can be queried with a SVN diff command, and the responsible person and version number specifying the current version of the file or each line modification of the historical version can be viewed with a SVN name command.
In S104, a plurality of source files of the plurality of alarm problems and a plurality of commit records corresponding thereto are acquired based on an operation instruction of a user. May include: acquiring a plurality of source files of the plurality of alarm problems based on an operation instruction of a user; acquiring a plurality of header files contained in the plurality of source files; and acquiring a plurality of commit records from the plurality of header files based on SVN log technology.
In S106, a target source file is determined from the plurality of source files. Multiple source files can be read one by one and processed sequentially.
In S108, the header files having the same alarm problems as the target source file are assembled into an alarm problem set.
In S110, a similarity between the target source file and each source file in the alert set is determined. Comprising the following steps: acquiring first contents of a plurality of lines before and after a line where an alarm problem corresponding to each source file in the alarm set exists; acquiring second contents of a plurality of rows before and after the alarm problem corresponding to the target source file; and carrying out similarity calculation on the first content and the second content.
In S112, alert traceability information of the target source file is generated based on the similarity and the plurality of commit records. Comprising the following steps: and when the similarity is larger than a threshold value, determining an initial version of the alarm problem corresponding to the target source file based on the submitting record, and generating the alarm tracing information. Further comprises: and when the similarity is smaller than or equal to a threshold value, determining that the version of the alarm problem corresponding to the target source file is the later version of the preset version based on the submitting record, and generating the alarm tracing information through the preset tracing information.
More specifically, the initial version of the alarm problem corresponding to the target source file is determined to be the earliest version based on the submission record; or determining that the initial version of the alarm problem corresponding to the target source file is the later version of the preset version based on the submitting record.
According to the compiling alarm tracing method disclosed by the invention, most compiling alarms existing in the code library in the project warehouse can be traced back to accurate introduction responsible persons, and part of special compiling alarms can determine module responsible persons, so that the efficiency of compiling alarm tracing can be greatly improved, and the mishandling phenomenon caused by inconsistency of the responsible persons due to the introduction of the alarms is reduced.
It should be clearly understood that this disclosure describes how to make and use particular examples, but the principles of this disclosure are not limited to any details of these examples. Rather, these principles can be applied to many other embodiments based on the teachings of the present disclosure.
In one embodiment, before the analyzing the alarm information of the code base to obtain the plurality of alarm problems, the method further includes: and determining the analysis mode of the compiler and the SVN tool on the line change mark.
In the prior art, the line number of the alarms reported by the compiler and the line number seen by other tools looking at the code file may be different, as the interpretation of the line feed by different tool software may be different. For example, for three line feed labels, namely, an individual carriage return r (which means that r is not immediately followed by n), an individual line feed r n, and r n, in combination, some tool software is approved as a line feed, and some tool software is only partially approved, so that the line number of the compiled alert prompt is not necessarily consistent with the line number displayed by various text viewing/editing tools. In this case, the compiled alert line number prompted by the compiler may not be consistent with the line number in the result output by the svn frame command, and the line number understood by the text viewing/editing tool may not be consistent. Therefore, there is a need to determine the manner in which the compiler, the svn tool, and the text viewing/editing tool used in the present solution interpret the line marking.
For the determination of the line feed flag of the compiler, the method may be: a source code file is constructed, four alarm sentences with different alarm contents are constructed (taking C language as an example, a compiler can prompt alarm information xxx by using the statement of "# warning" xxx "), and the four alarm sentences are sequentially separated by \r\r\n, \n and \r\n (separate \r and \n post-adding \r\n are used for ensuring that front and back contents are separated into two rows, because \r\n is taken as a real line-feed mark by using a compiler or any text viewing/editing tool). And adding the file to a code module directory, compiling the module, and checking the line of the compiling alarm prompt generated for the file. Since the file does not contain anything other than the alarm, the compiling result of the original module is not disturbed. Assuming that compiler considers individual\r to be a line feed flag, compiling 2 nd alarm generated by the file should report on line 4, otherwise should report on line 3; and others alike. Thus, the resolution mode of the compiler on the line change marks is determined.
For the determination of the line feed mark of the svn tool, the method may be: any one file is found in the local SVN code base, and the following character strings are inserted at the beginning of the file: a\r\nb\n\nc\r\nd. Then execute the svn diff command to the file to check the output result. The svn diff will be preceded by a "+" sign for each newly added row, thus: if there are two "+" between a and b, it is stated that an individual \r will be interpreted by the svn tool as a wrap mark, and if there is only one "+" it is stated that an individual \r will not be interpreted by the svn tool as a wrap mark. b and c, it can be determined whether the individual \n is interpreted by the svn tool as a wrap-mark. After analysis, the svn reverse command is used for returning the modification to the file.
In the embodiment of the disclosure, if the line feed mark type supported by the compiler is the same as that of the svn tool, the line number of the same file is understood to be the same, and no special processing is needed; otherwise, a file line number mapping table needs to be established for the related code file, so that the compiler and the svn tool can mutually convert the line numbers of the same file. The file line number mapping table splits the union of line feed marks of both sides of the file content into a plurality of lines, each line being marked with a line number considered by two tools for the corresponding line content.
When the compiler reports that the 1 st line of the file has a compiling alarm, the 1 st line and the 2 nd line of the execution output result of the svn frame should be checked and respectively modified (the character string c should be irrelevant to the alarm, but the svn frame cannot distinguish the character string b); when the compiler reports that the 2 nd line of the file has compiling alarm, checking who modifies the 2 nd line of the svn frame executing output result; when the compiler reports that line 3 of the file has a compilation alarm, it should be checked by whom line 3 of the svn frame execution output was modified.
Note that for a file in the SVN library, different versions of the file line number mapping table are required, because the updated content changes, and the line number mapping relationship may also change.
If the understanding of the line number is different between the compiler and the svn tool in a certain compiling environment, but if the line numbers in the file line number mapping table are in one-to-one correspondence for a specific file, the fact that the line numbers are not separated in the file is indicated, that is, the file line number mapping table is not needed, and the file is marked with a 'no need of line number conversion'.
1. The latest version code file in the project library is signed out from the SVN server, the current SVN version number v is recorded, compiling operation is carried out, and all output information (comprising normal compiling information and alarm information) is stored in a file common_results.v.log (v is a positive integer).
2. For the content of the file combole_results.v. log, the line where the word "warning:" exists (the string is the line where the compiler marks the compiled alarm) is found line by line.
Compiling alarms is various, and partially compiling alarms and code lines is not a simple one-to-one correspondence. Some compiled alarms may be introduced by one of a plurality of code lines, each line having the same suspicion; it is common that two compiled alarms correspond to the same problem. Taking the compiled alarm for prompting macro to repeatedly define as an example for explanation:
In file included from a.h:28,
from b.h:6,
from c.c:24:
d.h:414:1:warning:"HAVE_XXXX"redefined
In file included from c.c:9:
e.h:182:1:warning:this is the location of the previous definition
The above example illustrates c.c containing b.h, b.h containing a.h, a.h containing d.h, d.h, line 414 defining a have_xxx macro; meanwhile, the line 182 of e.h included in c.c also defines the macro, but the values of the macro and the macro are different, so that the macro is reported to repeatedly define the compiled alarm when the macro is compiled c.c. This may be due to two macros of different meaning but of the same name appearing in the same source file (the header file contained by the source file corresponds to a portion of the source file), which may occur for two reasons:
1) A macro is newly added in codes submitted by a developer or the name of an existing macro is modified to be the same as the name of the existing macro, the values of the macro and the name of the existing macro are different, and the macro and the name of the existing macro are in the same source file;
2) Originally, two macros with identical definitions are contained in the same source file, and no alarm is given in the situation; later one of the macro definitions is modified, resulting in an alarm;
3) Two macros of the same name have been previously included in the same source file (e.g., they are defined in two header files that are not included by the same source file), and now the developer has modified the header file inclusion relationship (e.g., c.c did not originally include e.h, and now included e.h; or a.h does not contain d.h and is now modified to contain d.h; etc.), resulting in two macros appearing in the same source file.
From the above analysis, it can be seen that each of the above locations (e.g., line a.h, line b.h, line 6, line c.c, line 9, etc.) where the relationship occurs may be where an alarm is introduced, and the exact location is determined by searching for the line in a.h where "# include" and "d.h" exist, the line in b.h where "# include" and "a.h" exist, and the line in c.c where "# include" and "b.h" substrings exist; and defining the location of the macro (e.g., line 414 of d.h, line 182 of e.h) may also be where the alert is introduced, the exact line number of the "have_xxxx" occurrence in both files should be searched. All the above positions need to be checked for commit records.
Therefore, for compiling alarms, it is not possible to simply process the alarms one by one, but rather to process the alarms in case of cases in combination with specific compiling alarm types. If the alarm is really corresponding to one code line, the code line can be simply subjected to a tracing operation; if the alarms aim at the same problem of the same line, combining the alarms, and performing only one-time tracing operation; if a plurality of code lines can possibly introduce the alarm, the tracing operation is respectively carried out on the code lines, and the results are summarized together. For this reason, all alarm problems are numbered, and for alarm problems with specific numbers, there are corresponding alarm contents, several groups of < files, line numbers >. One group of these < file, line number > information is always the source file, and the other is the header file.
In one embodiment, further comprising: acquiring a current code version number based on the alarm information; determining a preset version number based on the current code version number; and generating preset traceability information based on the preset version number. More specifically, it is possible, for example: determining a target alarm problem corresponding to a target source file; updating the code library to the preset version number; and generating the preset traceability information by compiling a minimum range code file containing the target alarm problem. With the binary compilation method, the time complexity of the compilation times is O (lg (n)), and the time complexity of the version-by-version compilation is O (n), so that the binary compilation method can greatly save the compilation times compared with the version-by-version compilation. In addition, because there may be multiple alarms in one source file, the log file of a.versions [ mid ]. Generated when tracing one of the alarms can also be used in the tracing process of other alarms, i.e. if the code of a version number of a certain module has been compiled, the compiling result file generated before can be reused. Therefore, when the source file containing m alarms and n submitted records is traced to the m alarms, the compiling times do not exceed n, namely, a smaller value is taken between n and m x lg2 (n).
In one embodiment, further comprising: and carrying out format arrangement on the alarm problems based on the operation instruction of the user to generate a plurality of file information. And acquiring alarm tracing information of the plurality of file information through SVN name technology. For specific steps, reference may be made to the corresponding embodiment of fig. 2. The flow shown in FIG. 2 may be a "fast mode" in which the following may be handled for each alarm problem one by one:
as shown in fig. 2, in S201, relevant information of an alarm problem to be processed is acquired.
In S202, whether the compiler and the SVN tool have the same line feed parsing scheme.
In S203, the < file, line number > in the alarm problem is directly used as the < file, line number > corresponding to the SVN tool.
In S204, a mapping table of file line numbers of the related code file is generated, and mapping tables corresponding to two groups of line numbers one by one are deleted, and the corresponding file is marked as "no line number mapping is needed".
In S205, < file, line number > in the alarm problem is converted into < file, line number > corresponding to the SVN tool.
In S206, an SVN name command is executed for each code file related to the present alarm, and the corresponding row is found by using the above < file, row number > information corresponding to the SVN tool, so as to find the corresponding responsible person.
In S207, a tracing result is generated, which includes an alarm number, alarm content, and a plurality of sets of < file, line number, code line content, responsible person > information.
In S208, whether there is still an alarm problem to be processed.
In S209, the tracing result is output.
(1) If the compiler and the svn tool are consistent in the analysis mode of the line changing mark, a mark which does not need a line number mapping table of the file is added to the file related to the alarm problem; otherwise, generating a file line number mapping table for the related file. If two groups of line numbers in the line number mapping table of a certain file are in complete one-to-one correspondence (namely, line changing marks identified by only one party do not exist in the file), the line number mapping table of the file is deleted, and a mark of 'no line number mapping table of the file' is also made on the file.
(2) The line numbers in the < file, line number > group in the alarm problem information are translated into line numbers corresponding to the svn tool: traversing each file, and if the file has a corresponding file line number mapping table, converting the line number reported by the compiler into a line number corresponding to the svn tool by using the mapping table; otherwise, no conversion is needed, and the two line numbers are equal.
Checking the file by using a svn frame, and determining a modifier of the corresponding row as a responsible person according to the converted < file, row number > group information; if the line does not find a modifier other than the SVN library administrator (e.g., the code library is a branch in the SVN control tree, and some historical versions of the branch are merged by the SVN library administrator from other branches, the branch loses its commit record, only merged historical modification records can be found from the present branch, and the historical modification records on other branches cannot be found), then the human responsibility for recently modifying the file is assumed; if no one ever changes from the historical version that this file can look up, the responsible person is displayed as unknown.
FIG. 3 is a flowchart illustrating a method of compiling alert tracing according to another exemplary embodiment. The flow as shown in fig. 3 may be an "advanced mode" in which the following may be handled individually for each alarm problem:
as shown in fig. 3, in S301, relevant information of an alarm problem to be processed is acquired.
In S302, a corresponding.d file is obtained from the source file in the alert problem, from which a header file is obtained. And executing SVN log command to obtain submitted records on the source file and the header file, arranging from small to large, storing version information into a versions array, and taking min=0 and max=the number of versions elements-1.
In S303, mid= (min+max)/2 is rounded, the code library is updated to Versions [ mid ] by the SVN update command, the minimum range code file including the source file corresponding to the warning is compiled, and the compiling result is stored in a.versions [ mid ]. Log.
In S304, the second alarm information, which is the same as the present alarm problem, in the source file is extracted, and the number of pieces of alarm information is recorded.
In S305, the number of bars >0? .
In S306, for each piece of the second alarm information of the version, the < file, line number > is converted into the < file, line number > information corresponding to the SVN tool, the content of the plurality of lines before and after the alarm line is obtained, text similarity detection is performed on the content of the plurality of lines before and after the alarm line, and the text similarity is calculated with the version-related code of the line number of the latest confirmed alarm in the larger version. And recording the code line number and the similarity value of one alarm with the highest similarity value.
In S307, it is considered that there is no alarm in this version, let min=mid+1.
In S308, whether the highest similarity is higher than a threshold.
In S309, the alarm is considered to exist in the version, and the code line number corresponding to the alarm is recorded, and max=mid-1.
In S310, min > max? .
In S311, it is determined that the version in which the alert is introduced is Versions [ mid+1].
In S312, max <0.
In S313, it is determined that the version in which the alert was introduced is earlier than the earliest version.
In S314, min > max? .
In S315, the version in which the alert was introduced is determined to be Versions mid.
In S316, a tracing result is generated, which includes an alarm number, alarm content and incoming version number, and responsible person information.
In S317, whether there is still an alarm problem to be processed.
In S318, the tracing result is output.
A line of code may be modified multiple times, and in most cases, if a line of code has a compilation alarm, the last modification will be done most of the time. Even if the incoming alarms are not modified the last time, the developer's role in the line code should in principle be fully understood, so that the elimination of the alarms by the developer is much more reliable than the random arrangement of a developer to eliminate the alarms. Therefore, it is generally reasonable to take the responsible person who submitted the code of a certain line for the last time as the responsible person who eliminates the compiled alarm reported by the code of the line. The svn frame can be executed for the file with the alarm, and the responsible person who modifies the code line corresponding to the alarm last time is determined as the alarm responsible person.
But in a few cases the compilation alarm may be introduced by the earliest version of the modification, or the compilation alarm may not be a problem for the code line it indicates. Such as: a certain line of code invokes a certain macro, and no alarm is introduced; the definition of the macro is modified later, and the code in the macro definition has an alarm, and the compiled alarm is reported on the code line for calling the macro. In this case, tracing the alarm responsibilities for the row to which the alarm refers is inaccurate. The macro definition and the macro reference may belong to different modules and different project groups, and it is not necessarily appropriate for a responsible person who calls the macro to process the compiled alarm in the macro definition. Thus, if possible, the actual introduction of the alarm should be as accurate as possible.
In order to more accurately find the corresponding responsible person, the responsible person introducing the alarm can be traced back by a binary compiling method. The method has the advantages that the trace-back introduction responsible person is more accurate, but the execution time is longer (depending on the compiling times and the code quantity of the module for executing the compiling), and the method is suitable for the scene of intensively processing the compiling alarm in a large batch under the condition of sufficient time. The specific scheme is as follows:
(1) And obtaining the.c file corresponding to the current alarm and all header files contained in the.c file through compiling the generated intermediate file.d file (the.d file lists the.h file directly or indirectly contained in the current.c file).
(2) And acquiring the submitted records of each file in the code base through a SVN log < file > command, and merging and arranging the files according to SVN version numbers from small to large. The commit records of a plurality of files with the same version number are combined into a strip. Version number information of the merge arrangement is exemplified as follows:
SVN version|file
100|xxx.c
102|yyy.h
103|yyy.h;xxx.c
108|zzz.h;xxx.c
……
(3) Since the alarm is introduced at a certain version number N, the code corresponding to the version number earlier than N does not exist the alarm, and the code corresponding to the version number later than N does exist the alarm (for the alarm already existing when creating the item, it can be understood that N is smaller than the version number of the code library that is the smallest). The version of the alert introduced is determined using binary coding:
1) Version number information of the merging arrangement is stored in one array version, wherein the minimum value of the array element number is min=0, and the maximum value is max=the element number-1. The number of elements is the number of the version number information.
2) Let mid= (min+max)/2 be an integer part, take version [ mid ] (i.e. version number of mid element of version array), update the project code library with SVN update command to SVN version number of version [ mid ], then compile the code file containing the minimum range of source file (in large project library, the minimum unit of compiling is typically a module, one module contains several source files), write the relevant information of source file in the compiled output information into a.version [ mid ]. Log (where a represents the file name of the source file, version [ mid ] refers to the current version number value, such as a.1999.log);
3) And analyzing A.versions [ mid ]. Log, searching for alarms which are the same as the contents of the compiled alarms being processed, and checking whether the compiled alarms still exist in the version. If so, it is stated that the alert was introduced at the latest in this version, so let max=mid-1, at which point: checking if max <0, indicating that the earliest version has the alarm, otherwise, if max < min, indicating that all the alarms are checked, introducing the alarm by version of versions [ mid ], otherwise, jumping to the step (2) to carry out next round of compiling and checking; if the version [ mid ] does not exist, the alarm is set to be min=mid+1, if min > max, the introduced version is determined to be version [ mid+1], otherwise, the next round of compiling checking is performed by jumping to the step (2).
The incoming version number of the alarm is found, and the incoming responsible person is also found.
How to check whether a particular alert still exists in a version: if it is directly checked whether there is an alarm of the same alarm content, there may be erroneous judgment: assuming that the file introduced an alarm in version 1, it was eliminated in version 2, and the same alarm was introduced in another row of version 3, to which the same file was not related. Then, when performing binary compilation tracing on the 2 nd alarm, the same alarm introduced by the version 1 may be mismatched (but not actually the same problem). To avoid such errors, it is necessary to check whether the code lines corresponding to the two alarms are logically identical. However, it is not reasonable to directly check whether the line numbers of the code lines corresponding to the two alarms in the two versions are consistent, because the version between the two versions may modify other contents of the file (adding or deleting a line in front of the line), so that the line number of the code line drifts, and it is difficult to ensure that the line number of a certain code line does not change among multiple versions; it is also unreasonable to determine if the code lines are identical in content because the version between them may modify other content of the line without affecting the existence of the alarm, and directly determining if the two code lines are identical in content may cause the alarm of the same line to be treated as two different alarms in different versions. For this reason, it is necessary to introduce text similarity checking techniques, namely: when a certain version of compiling result contains alarms which are the same as the alarms in the traceable mode, extracting all alarms of the same alarms in the version, and finding out the contents of the corresponding code line and the contents of a plurality of lines before and after the code line through file line number mapping (the method is the same as that used in the quick mode); finding the nearest version of the line number corresponding to the confirmed alarm in the larger version, and extracting the line and a plurality of lines before and after the line in the larger version; and checking the text similarity of the code texts corresponding to a plurality of alarms one by one with the code texts corresponding to the alarms, finding out one with the highest similarity, and if the similarity is higher than a certain threshold (proving that the two are the same code line), considering the two alarms as the same line and the two alarms as the same problem, and recording the line number corresponding to the alarm with the highest similarity. Otherwise, the current version is regarded as that no traceable alarm exists.
The tracing result is placed in a table file, and each row of the table contains alarm number, alarm content, file name, row number, code row content, responsible person name and other columns. For the case where one alarm is associated with multiple code lines, the alarm numbers of the lines are the same value, so that the operator can directly see that they belong to the same alarm.
Those skilled in the art will appreciate that all or part of the steps implementing the above described embodiments are implemented as a computer program executed by a CPU. The above-described functions defined by the above-described methods provided by the present disclosure are performed when the computer program is executed by a CPU. The program may be stored in a computer readable storage medium, which may be a read-only memory, a magnetic disk or an optical disk, etc.
Furthermore, it should be noted that the above-described figures are merely illustrative of the processes involved in the method according to the exemplary embodiments of the present disclosure, and are not intended to be limiting. It will be readily appreciated that the processes shown in the above figures do not indicate or limit the temporal order of these processes. In addition, it is also readily understood that these processes may be performed synchronously or asynchronously, for example, among a plurality of modules.
The following are device embodiments of the present disclosure that may be used to perform method embodiments of the present disclosure. For details not disclosed in the embodiments of the apparatus of the present disclosure, please refer to the embodiments of the method of the present disclosure.
Fig. 4 is a block diagram illustrating a compiled alarm tracing apparatus in accordance with an example embodiment. As shown in fig. 4, the compiling alert traceability apparatus 40 includes: parsing module 402, first instruction module 404, file module 406, aggregation module 408, similarity module 410, information module 412, second instruction module 414, and tracing module 416.
The analysis module 402 is configured to analyze the alarm information of the code library to obtain a plurality of alarm problems; the first instruction module 404 is configured to obtain a plurality of source files of the plurality of alarm problems and a plurality of commit records corresponding to the source files based on an operation instruction of a user; the file module 406 is configured to determine a target source file from the plurality of source files; the aggregation module 408 is configured to compose a header file having the same alarm problem as the target source file into an alarm problem set; the similarity module 410 is configured to determine a similarity between the target source file and a code file corresponding to each source file in the alert set; the information module 412 is configured to generate alert traceability information of the target source file based on the similarity and the plurality of commit records. The second instruction module 414 is configured to format the plurality of alarm questions based on an operation instruction of a user to generate a plurality of file information; the tracing module 416 is configured to obtain alarm tracing information of the plurality of file information through SVN name technology.
According to the compiling alarm tracing device disclosed by the invention, the compiling alarm in the code library can be traced automatically, the user introducing the alarm is found out, the corresponding compiling alarm is further processed by the corresponding user, and the processing efficiency of the compiling alarm is improved.
FIG. 5 is a system block diagram of a method, apparatus, electronic device, and computer readable medium for compiling alert tracing, according to an example embodiment.
As shown in fig. 5, the system architecture 50 may include terminal devices 501, 502, 503, a network 504, and a server 505. The network 504 is used as a medium to provide communication links between the terminal devices 501, 502, 503 and the server 501. The network 504 may include various connection types, such as wired, wireless communication links, or fiber optic cables, among others.
The user may interact with the server 501 via the network 504 using the terminal devices 501, 502, 503 to receive or send messages or the like. Various communication client applications, such as shopping class applications, web browser applications, search class applications, instant messaging tools, mailbox clients, social platform software, etc., may be installed on the terminal devices 501, 502, 503.
The terminal devices 501, 502, 503 may be a variety of electronic devices having a display screen and supporting web browsing, including but not limited to smartphones, tablets, laptop and desktop computers, and the like.
The server 501 may be a server providing various services, such as a background management server providing support for a code library edited by a user using the terminal devices 501, 502, 503. The background management server can record and analyze the received code data, and feed back the processing result (generating alarm information or tracing the compiled alarm information) to the terminal equipment.
The server 501 may, for example, parse the alarm information of the code library to obtain a plurality of alarm questions; the server 501 may obtain a plurality of source files of the plurality of alarm questions and a plurality of commit records corresponding thereto, for example, based on an operation instruction of a user; the server 501 may determine a target source file, for example, from the plurality of source files; the server 501 may, for example, group header files having the same alarm problems as the target source file into an alarm problem set; the server 501 may, for example, determine a similarity between the target source file and the code file corresponding to each source file in the alert set; the server 501 may generate alert traceability information for the target source file, for example, based on the similarity and the plurality of commit records.
The server 501 may also determine, for example, the manner in which the compiler and SVN tool parse the line marking.
The server 501 may also perform format sorting on the plurality of alarm questions based on, for example, an operation instruction of a user to generate a plurality of file information; the server 501 may further obtain the alert traceability information of the plurality of file information, for example, through SVN frame technology.
The server 501 may be an entity server, may be further composed of a plurality of servers, for example, and a part of the server 501 may be used as a code base in the present disclosure, for storing a code file, for example; and a portion of the server 501 may also be used, for example, as a compiled alarm tracing system in the present disclosure, to analyze alarm information in a code base to generate alarm tracing information.
It should be noted that, the compiling alarm tracing method provided by the embodiment of the disclosure may be executed by the server 501, and accordingly, the compiling alarm tracing device may be disposed in the server 501. And provided to the user for code manipulation are terminal devices 501, 502, 503.
According to the compiling alarm tracing method, the analysis mode of the compiler and the SVN tool on the line change mark is analyzed, if the line number is inconsistent, a file line number mapping table is generated on the code file, and the line number reported by the compiler and the line number used by the SVN tool can be mutually converted. And searching the latest modification record of the code row corresponding to the appointed alarm through the svn name, and taking the modifier as an alarm liability person. The version introduced by the alarm is found by a binary compiling method aiming at all SVN version numbers in the C file corresponding to each compiling alarm and the submitting records of all header files directly or indirectly contained by the C file. When checking the alarm information in the history version, checking the similarity of two code lines corresponding to the same alarm of the latest version through the text similarity checking tool to confirm whether the two code lines are the same line code.
Fig. 6 is a block diagram of an electronic device, according to an example embodiment.
An electronic device 600 according to such an embodiment of the present disclosure is described below with reference to fig. 6. The electronic device 600 shown in fig. 6 is merely an example and should not be construed to limit the functionality and scope of use of embodiments of the present disclosure in any way.
As shown in fig. 6, the electronic device 600 is in the form of a general purpose computing device. Components of electronic device 600 may include, but are not limited to: at least one processing unit 610, at least one memory unit 620, a bus 630 connecting the different system components (including the memory unit 620 and the processing unit 610), a display unit 640, etc.
Wherein the storage unit stores program code executable by the processing unit 610 such that the processing unit 610 performs steps according to various exemplary embodiments of the present disclosure described in the above-described electronic prescription flow processing methods section of the present specification. For example, the processing unit 610 may perform the steps as shown in fig. 1, 2, and 3.
The memory unit 620 may include readable media in the form of volatile memory units, such as Random Access Memory (RAM) 6201 and/or cache memory unit 6202, and may further include Read Only Memory (ROM) 6203.
The storage unit 620 may also include a program/utility 6204 having a set (at least one) of program modules 6205, such program modules 6205 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.
Bus 630 may be a local bus representing one or more of several types of bus structures including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or using any of a variety of bus architectures.
The electronic device 600 may also communicate with one or more external devices 600' (e.g., keyboard, pointing device, bluetooth device, etc.), one or more devices that enable a user to interact with the electronic device 600, and/or any devices (e.g., routers, modems, etc.) that enable the electronic device 600 to communicate with one or more other computing devices. Such communication may occur through an input/output (I/O) interface 650. Also, electronic device 600 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 network adapter 660. The network adapter 660 may communicate with other modules of the electronic device 600 over the bus 630. It should be appreciated that although not shown, other hardware and/or software modules may be used in connection with electronic device 600, including, but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, data backup storage systems, and the like.
From the above description of embodiments, those skilled in the art will readily appreciate that the example embodiments described herein may be implemented in software, or may be implemented in software in combination with the necessary hardware. Thus, as shown in fig. 7, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (may be a CD-ROM, a U-disk, a mobile hard disk, etc.) or on a network, and includes several instructions to cause a computing device (may be a personal computer, a server, or a network device, etc.) to perform the above-described method according to the embodiments of the present disclosure.
The computer-readable medium carries one or more programs which, when executed by one of the devices, cause the computer-readable medium to perform the functions of: analyzing the alarm information of the code library to obtain a plurality of alarm problems; acquiring a plurality of source files of the plurality of alarm problems and a plurality of corresponding submitting records based on an operation instruction of a user; determining a target source file from the plurality of source files; forming a header file with the same alarm problem as the target source file into an alarm problem set; determining the similarity between the target source file and the code file corresponding to each source file in the alarm set; and generating alarm tracing information of the target source file based on the similarity and the plurality of submitting records.
Those skilled in the art will appreciate that the modules may be distributed throughout several devices as described in the embodiments, and that corresponding variations may be implemented in one or more devices that are unique to the embodiments. The modules of the above embodiments may be combined into one module, or may be further split into a plurality of sub-modules.
Exemplary embodiments of the present disclosure are specifically illustrated and described above. It is to be understood that this disclosure is not limited to the particular arrangements, instrumentalities and methods of implementation described herein; on the contrary, the disclosure is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.

Claims (10)

1. A compiling alarm tracing method is characterized by comprising the following steps:
determining the analysis mode of the compiler and the SVN tool for the line changing mark;
analyzing the alarm information of the code library to obtain a plurality of alarm problems;
acquiring a plurality of source files of the plurality of alarm problems and a plurality of corresponding commit records based on operation instructions of users, wherein the method comprises the following steps: acquiring a plurality of source files of the plurality of alarm problems based on an operation instruction of a user, acquiring a plurality of header files contained in the plurality of source files, and acquiring a plurality of commit records from the plurality of header files based on an SVN log technology;
Determining a target source file from the plurality of source files;
forming a header file with the same alarm problem as the target source file into an alarm problem set;
determining the similarity between the target source file and the code file corresponding to each source file in the alarm set comprises the following steps: acquiring first contents of a plurality of lines before and after the line of the alarm problem corresponding to each source file in the alarm set, acquiring second contents of a plurality of lines before and after the line of the alarm problem corresponding to the target source file, and performing similarity calculation on the first contents and the second contents;
generating alert traceability information of the target source file based on the similarity and the plurality of commit records, including: and when the similarity is larger than a threshold value, determining an initial version of the alarm problem corresponding to the target source file based on the submitting record, and generating the alarm tracing information.
2. The method as recited in claim 1, further comprising:
performing format arrangement on the alarm problems based on an operation instruction of a user to generate a plurality of file information;
and acquiring alarm tracing information of the plurality of file information through SVN name technology.
3. The method as recited in claim 1, further comprising:
acquiring a current code version number based on the alarm information;
determining a preset version number based on the current code version number;
and generating preset traceability information based on the preset version number.
4. The method of claim 3, wherein generating preset traceability information based on the preset version number comprises:
determining a target alarm problem corresponding to a target source file;
updating the code library to the preset version number;
and generating the preset traceability information by compiling a minimum range code file containing the target alarm problem.
5. The method of claim 1, wherein determining, based on the commit record, an initial version of an alert problem to introduce to the target source file correspondence comprises:
determining that the initial version of the alarm problem corresponding to the target source file is the earliest version based on the submitting record; or (b)
And determining that the initial version of the alarm problem corresponding to the target source file is the later version of the preset version based on the submitted record.
6. The method of claim 1, wherein determining a similarity between the target source file and each source file in the alert set comprises:
And when the similarity is smaller than or equal to a threshold value, determining that the version of the alarm problem corresponding to the target source file is the later version of the preset version based on the submitting record, and generating the alarm tracing information through the preset tracing information.
7. A compiled alarm tracing device, comprising:
the analysis module is used for analyzing the alarm information of the code library to obtain a plurality of alarm problems;
the first instruction module is configured to obtain, based on an operation instruction of a user, a plurality of source files of the plurality of alarm problems and a plurality of commit records corresponding to the source files, and includes: acquiring a plurality of source files of the plurality of alarm problems based on an operation instruction of a user, acquiring a plurality of header files contained in the plurality of source files, and acquiring a plurality of commit records from the plurality of header files based on an SVN log technology;
a file module for determining a target source file from the plurality of source files;
the collection module is used for forming a header file with the same alarm problem as the target source file into an alarm problem collection;
a similarity module, configured to determine a similarity between the target source file and a code file corresponding to each source file in the alert set, including: acquiring first contents of a plurality of lines before and after the line of the alarm problem corresponding to each source file in the alarm set, acquiring second contents of a plurality of lines before and after the line of the alarm problem corresponding to the target source file, and performing similarity calculation on the first contents and the second contents;
The information module is configured to generate alarm tracing information of the target source file based on the similarity and the plurality of commit records, and includes: and when the similarity is larger than a threshold value, determining an initial version of the alarm problem corresponding to the target source file based on the submitting record, and generating the alarm tracing information.
8. The apparatus as recited in claim 7, further comprising:
the second instruction module is used for carrying out format arrangement on the alarm problems based on the operation instruction of the user to generate a plurality of file information;
and the tracing module is used for acquiring the alarm tracing information of the plurality of file information through the SVN name technology.
9. An electronic device, comprising:
one or more processors;
a storage means for storing one or more programs;
when executed by the one or more processors, causes the one or more processors to implement the method of any of claims 1-6.
10. A computer readable medium, on which a computer program is stored, characterized in that the program, when being executed by a processor, implements the method according to any of claims 1-6.
CN202010238682.5A 2020-03-30 2020-03-30 Compiling alarm tracing method and device, electronic equipment and computer readable medium Active CN111475196B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010238682.5A CN111475196B (en) 2020-03-30 2020-03-30 Compiling alarm tracing method and device, electronic equipment and computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010238682.5A CN111475196B (en) 2020-03-30 2020-03-30 Compiling alarm tracing method and device, electronic equipment and computer readable medium

Publications (2)

Publication Number Publication Date
CN111475196A CN111475196A (en) 2020-07-31
CN111475196B true CN111475196B (en) 2023-12-12

Family

ID=71750522

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010238682.5A Active CN111475196B (en) 2020-03-30 2020-03-30 Compiling alarm tracing method and device, electronic equipment and computer readable medium

Country Status (1)

Country Link
CN (1) CN111475196B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112130862B (en) * 2020-09-28 2024-04-05 平安国际智慧城市科技股份有限公司 Method, apparatus, device and computer readable storage medium for generating package file
CN113126998B (en) * 2021-04-21 2023-11-07 北京字节跳动网络技术有限公司 Incremental source code acquisition method and device, electronic equipment and storage medium
CN117251205B (en) * 2023-11-16 2024-02-06 沐曦集成电路(杭州)有限公司 Method, device, equipment and medium for processing header file

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778231A (en) * 1995-12-20 1998-07-07 Sun Microsystems, Inc. Compiler system and method for resolving symbolic references to externally located program files
CN103294594A (en) * 2013-05-08 2013-09-11 南京大学 Test based static analysis misinformation eliminating method
CN107678748A (en) * 2017-09-21 2018-02-09 杭州迪普科技股份有限公司 A kind of source code file Compilation Method and device
CN108052327A (en) * 2017-12-11 2018-05-18 北京奇虎科技有限公司 A kind of kernel module compiling, loading method and device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8566792B2 (en) * 2010-05-07 2013-10-22 Salesforce, Inc. Validating visual components
US20160306627A1 (en) * 2015-04-14 2016-10-20 International Business Machines Corporation Determining errors and warnings corresponding to a source code revision
US10387142B2 (en) * 2016-09-16 2019-08-20 Oracle International Corporation Using annotation processors defined by modules with annotation processors defined by non-module code

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778231A (en) * 1995-12-20 1998-07-07 Sun Microsystems, Inc. Compiler system and method for resolving symbolic references to externally located program files
CN103294594A (en) * 2013-05-08 2013-09-11 南京大学 Test based static analysis misinformation eliminating method
CN107678748A (en) * 2017-09-21 2018-02-09 杭州迪普科技股份有限公司 A kind of source code file Compilation Method and device
CN108052327A (en) * 2017-12-11 2018-05-18 北京奇虎科技有限公司 A kind of kernel module compiling, loading method and device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
廖瑛,曹琳.编译错误的一种处理策略.计算机工程与科学.1994,(02),全文. *

Also Published As

Publication number Publication date
CN111475196A (en) 2020-07-31

Similar Documents

Publication Publication Date Title
CN111475196B (en) Compiling alarm tracing method and device, electronic equipment and computer readable medium
WO2021017735A1 (en) Smart contract formal verification method, electronic apparatus and storage medium
US9928288B2 (en) Automatic modeling of column and pivot table layout tabular data
US20150331783A1 (en) Debugging data format conversion
CN110969517B (en) Bidding life cycle association method, system, storage medium and computer equipment
CN111796809A (en) Interface document generation method and device, electronic equipment and medium
CN113419789A (en) Method and device for generating data model script
CN113094625B (en) Page element positioning method and device, electronic equipment and storage medium
CN107562429A (en) A kind of android system static division method based on compiling rule
US11500619B1 (en) Indexing and accessing source code snippets contained in documents
Büchler et al. Efficient short read mapping to a pangenome that is represented by a graph of ED strings
US20130132322A1 (en) Scalable, rule-based processing
CN111435406A (en) Method and device for correcting database statement spelling errors
CN112818070A (en) Data query method and device based on global data dictionary and electronic equipment
CN110543641B (en) Chinese and foreign language information comparison method and device
US9898457B1 (en) Identifying non-natural language for content analysis
US11119761B2 (en) Identifying implicit dependencies between code artifacts
CN111898762B (en) Deep learning model catalog creation
CN109684437B (en) Content alignment method, device, storage medium and equipment for file comparison
CN116483735B (en) Method, device, storage medium and equipment for analyzing influence of code change
CN111279350B (en) System and method for providing globalization features in service management application interfaces
CN110347573B (en) Application program analysis method, device, electronic equipment and computer readable medium
US20230086619A1 (en) Globally unique error codes for knowledge document indexing in software systems
CN117591167A (en) Method and device for rapidly analyzing and warehousing messages in multiple formats
CN114238094A (en) Test script generation method, device, equipment and readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant