WO2020021588A1 - 点数化装置、点数化プログラム及び点数化方法 - Google Patents

点数化装置、点数化プログラム及び点数化方法 Download PDF

Info

Publication number
WO2020021588A1
WO2020021588A1 PCT/JP2018/027444 JP2018027444W WO2020021588A1 WO 2020021588 A1 WO2020021588 A1 WO 2020021588A1 JP 2018027444 W JP2018027444 W JP 2018027444W WO 2020021588 A1 WO2020021588 A1 WO 2020021588A1
Authority
WO
WIPO (PCT)
Prior art keywords
warning
information
type
defect
scoring
Prior art date
Application number
PCT/JP2018/027444
Other languages
English (en)
French (fr)
Inventor
勇人 金井
藤本 卓也
泰夫 細谷
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to US17/252,328 priority Critical patent/US11281566B2/en
Priority to PCT/JP2018/027444 priority patent/WO2020021588A1/ja
Priority to JP2020531836A priority patent/JP6873332B2/ja
Publication of WO2020021588A1 publication Critical patent/WO2020021588A1/ja

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/362Software debugging
    • G06F11/366Software debugging using diagnostics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • 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
    • G06F11/3616Software analysis for verifying properties of programs using software metrics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking

Definitions

  • the present invention relates to a scoring device, a scoring program, and a scoring method for giving a score to a result of a static analysis of a source code.
  • Static analysis is a technology that analyzes source code and extracts points that may cause malfunctions such as system shutdown. Conventionally, narrowing down warnings of static analysis using manually created weighting has been performed (for example, Patent Document 1).
  • Static analysis can detect problems such as memory buffer overflows and memory leaks.
  • problems such as memory buffer overflows and memory leaks.
  • a large amount of warnings about defects including minor defects are output. For this reason, it is difficult to grasp a warning that is likely to cause a failure in a product under development.
  • the present invention aims to provide a technique for extracting a warning that is likely to become a failure from the result of static analysis of a source code.
  • the scoring device of the present invention comprises: Correspondence information having a plurality of records in which a first warning type indicating a type of warning to be warned by the static analysis of the source code and a first defect cause type indicating a type of cause of a past defect are associated with each other. And the second defect cause type corresponding to the first defect cause type in the record by using the defect information having a plurality of second defect cause types indicating the types of past defect causes. Is determined, and a score is given to the first warning type corresponding to the first defect cause type in accordance with the determined number, and the first warning type is associated with the score.
  • a weighting unit for generating weighting information for generating weighting information;
  • the second warning type corresponding to the first warning type of the weighting information among the plurality of second warning types of the analysis result information including the plurality of second warning types that are the results of the static analysis of the source code.
  • a scoring unit that gives a score given to the first warning type to the warning type of Is provided.
  • FIG. 4 is a diagram of the first embodiment and is a functional block diagram of the scoring device.
  • FIG. 3 is a diagram of the first embodiment and shows a hardware configuration of a scoring device.
  • 5 is a flowchart of the first embodiment, showing an operation of the scoring device.
  • FIG. 10 is a diagram of the first embodiment and shows analysis result information.
  • FIG. 5 is a diagram of the first embodiment, showing defect information.
  • FIG. 10 is a diagram of the first embodiment, showing correspondence information.
  • FIG. 7 is a diagram of the first embodiment, showing threshold information.
  • FIG. 7 is a diagram of the first embodiment and shows weighting information;
  • 5 is a flowchart of the first embodiment, showing the content of step S12.
  • FIG. 6 is a diagram of the first embodiment and illustrates the contents of step S12.
  • FIG. 7 is a diagram of the first embodiment and illustrates the contents of step S13.
  • FIG. 6 is a diagram of the first embodiment, showing scoring information.
  • 7 is a diagram of the first embodiment, and is a functional block diagram of a scoring device that is a first modification.
  • FIG. FIG. 6 is a diagram of the first embodiment and is a hardware configuration diagram of a scoring device that is a first modification.
  • 9 is a diagram of the first embodiment and illustrates a circuit configuration of Modification Example 2.
  • FIG. 6 is a diagram of the first embodiment, showing scoring information.
  • 7 is a diagram of the first embodiment, and is a functional block diagram of a scoring device that is a first modification.
  • FIG. 6 is a diagram of the first embodiment and is a hardware configuration diagram of a scoring device that is a first modification.
  • 9 is a diagram of the first embodiment and illustrates a circuit configuration of Modification Example 2.
  • FIG. 6 is a diagram of the first embodiment, showing scoring information.
  • 7 is
  • FIG. 1 is a functional block diagram of a scoring device 10 for giving a score to a source code.
  • the static analysis result 31 of the source code is input to the scoring device 10, and the scoring device 10 displays the scoring information 13a on a display device.
  • the scoring device 10 includes a static analysis result acquisition unit 11, a weighting unit 12, a scoring unit 13, and a display processing unit 14 as functional elements. Further, the scoring device 10 includes an analysis result information storage unit 21, a scoring information storage unit 22, a defect information storage unit 23, a correspondence information storage unit 24, and a weighting information storage unit 25 as storage units.
  • FIG. 2 shows a hardware configuration of the scoring device 10 which is a computer.
  • the scoring device 10 includes a processor 91, a memory 92, an input / output interface 93, a display device 94, and a communication interface 95 as hardware.
  • the processor 91 is connected to other hardware via a signal line 96, and controls the other hardware.
  • the functions of the static analysis result acquisition unit 11, the weighting unit 12, the scoring unit 13, and the display processing unit 14, which are the functional elements of the scoring device 10, are realized by software.
  • the processor 91 is a device that executes a scoring program.
  • the scoring program is a program that implements the functions of the static analysis result acquisition unit 11, the weighting unit 12, the scoring unit 13, and the display processing unit 14.
  • the processor 91 is an integrated circuit (IC) that performs arithmetic processing. Specific examples of the processor 91 are a CPU (Central Processing Unit), a DSP (Digital Signal Processor), and a GPU (Graphics Processing Unit).
  • the memory 92 is a storage device that stores data.
  • the analysis result information storage unit 21, the scoring information storage unit 22, the defect information storage unit 23, the correspondence information storage unit 24, and the weighting information storage unit 25 are realized by the memory 92.
  • Specific examples of the memory 92 are an SRAM (Static Random Access Memory) and a DRAM (Dynamic Random Access Memory). Further, a specific example of the memory 92 may be an auxiliary storage device such as an HDD (Hard Disk Drive).
  • the memory 92 holds the operation result of the processor 91.
  • a device for inputting and outputting data and results is connected to the input / output interface 93. Examples of devices for inputting and outputting data and results include a mouse and a keyboard.
  • the display device 94 is controlled by the display processing unit 14 and displays information.
  • the communication interface 95 is an interface device for communicating with another device via a network.
  • a specific example of the communication interface 95 is a communication board.
  • the scoring program is read by the processor 91 and executed by the processor 91.
  • the memory 92 stores not only the scoring program but also an OS (Operating @ System).
  • the processor 91 executes the scoring program while executing the OS.
  • the scoring device 10 may include a plurality of processors instead of the processor 91. These processors share the execution of the scoring program. Each processor is a device that executes a scoring program, like the processor 91.
  • the scoring program reads the static analysis result acquisition unit 11, the weighting unit 12, the scoring unit 13, and the display processing unit 14 by replacing "parts" with “processing,” “procedures,” or “steps.”
  • the scoring method is a method performed by the scoring device 10 which is a computer executing a scoring program.
  • the scoring program may be stored in a computer-readable recording medium and provided, or may be provided as a program product.
  • the static analysis result acquisition unit 11 acquires the static analysis result 31.
  • the static analysis result acquisition unit 11 extracts a warning type, a file name, and the number of lines from the acquired static analysis result 31, and generates analysis result information 11a.
  • the static analysis result acquisition unit 11 stores the analysis result information 11a in the analysis result information storage unit 21.
  • the defect information storage unit 23 stores the defect information 32.
  • the correspondence information storage unit 24 stores correspondence information 33 indicating the correspondence between the warning type of the analysis result information 11a and the defect cause type of the defect information 32.
  • the weighting unit 12 acquires the failure information 32 from the failure information storage unit 23, and acquires the correspondence information 33 and the threshold information 34 from the correspondence information storage unit 24.
  • the weighting unit 12 generates the warning type weighting information 12a, and stores the weighting information 12a in the weighting information storage unit 25.
  • the scoring unit 13 acquires the analysis result information 11a from the analysis result information storage unit 21 and acquires the warning type weighting information 12a from the weighting information storage unit 25.
  • the scoring unit 13 generates the scoring information 13a and stores it in the scoring information storage unit 22.
  • the display processing unit 14 displays the scoring information 13a stored in the scoring information storage unit 22.
  • FIG. 3 is a flowchart showing the operation of the scoring device 10.
  • the operation of the scoring device 10 corresponds to a scoring method.
  • the operation of the scoring device 10 corresponds to the processing of a scoring program.
  • Step S11 is a process of acquiring the static analysis result 31.
  • Step S12 is a process of generating the weighting information 12a.
  • Step S13 is a process of generating the scoring information 13a.
  • Step S14 is a process of displaying the score information 13a.
  • the static analysis result obtaining unit 11 obtains the static analysis result 31 via the input / output interface 93 or the communication interface 95.
  • the static analysis result acquisition unit 11 converts the static analysis result 31 into the analysis result information 11a, and stores the analysis result information 11a in the analysis result information storage unit 21.
  • the static analysis result 31 is a result of static analysis of the source code.
  • the static analysis result 31 indicates a warning type indicating the type of a possible defect, a file name indicating a source code file including a possible defect, and the number of lines of the possible defect. Includes "number of rows”.
  • FIG. 4 shows the analysis result information 11a generated by the static analysis result acquisition unit 11.
  • the analysis result information 11a is information obtained by converting the static analysis result 31 into a table format.
  • the analysis result information 11a includes a warning type, a file name, and the number of lines.
  • the first line is a buffer overflow, a. c, 1432, the second line is not initialized, a. c, 25, the second line is not initialized, c. c, 154.
  • the weighting unit 12 reads the defect information 32 from the defect information storage unit 23, and reads the correspondence information 33 and the threshold information 34 from the correspondence information storage unit 24.
  • the weighting unit 12 generates weighting information 12a.
  • the weighting unit 12 stores the generated weighting information 12a in the weighting information storage unit 25.
  • the specific processing is as follows.
  • FIG. 5 shows the defect information 32.
  • the defect information 32 is information indicating a past result of a defect generated by executing the source code.
  • the defect information 32 shows past defects in a table format.
  • the failure information 32 has detailed contents for a plurality of failure cause types.
  • the defect cause type is information in which the cause of the defect is classified.
  • the failure cause type in the first row is an array index reference that does not exist.
  • the failure cause type in the second row is non-existent array index writing.
  • the failure cause type in the third line is a reference to an unintended value.
  • the details of the first line refer to the tenth of the array X, but the content of the array X is only up to the ninth, so that the operation is stopped.
  • the details of the second row are that the array Y was written to the 15th row, but the array Y was only up to the 11th row, and thus stopped.
  • the details of the third line are that a function that takes a variable containing an unintended value as an argument raises an exception and stops.
  • FIG. 6 shows the correspondence information 33.
  • the correspondence information 33 is information that associates the analysis result information 11a with the defect information 32. Specifically, the correspondence information 33 associates the warning type of the analysis result information 11a with the defect cause type of the defect information 32.
  • the first line is a buffer overflow and a reference to a nonexistent array index.
  • the second line is a reference to uninitialized and unintended values.
  • the second line is a buffer overflow and a nonexistent array index write.
  • FIG. 7 shows the threshold information 34.
  • the threshold information 34 indicates a relationship between a pair of the defect number X of the defect information 32 and a weighted score. As shown in FIG. 7, when the number of defects X is 1 or more and less than 50, the weighting score is 1, and when the number of defects X is 50 or more and less than 100, the weighting score is 5 and the number of defects X is 100. In the above case, the weighting score is 10.
  • FIG. 8 shows the weighting information 12a.
  • the weighting information 12a indicates a weighted score for each type of warning. Regarding the type of warning and the weighting point, the first line is buffer overflow and 10 points, and the second line is no initialization and 5 points.
  • FIG. 9 is a flowchart showing the contents of step S12, which is the processing for generating the weighting information 12a.
  • FIG. 10 is a diagram illustrating the contents of step S12. Steps S121 to S124 indicating the contents of step S12 will be described with reference to FIGS.
  • the scoring unit 13 calculates the number for each defect cause type in the defect information 32.
  • the scoring unit 13 refers to the non-existent array indexes (1-1), (1-2). . . , Non-existent array index writing (2-1), (2-2). . . , Unintended value reference (3-1), (3-2). . . Calculate the number of It is assumed that there are 30 array index references that do not exist, from (1-1) to (1-30). It is assumed that there are 90 non-existent array index writes from (2-1) to (2-90). It is assumed that there are 60 unintended value references from (3-1) to (3-60)
  • the scoring unit 13 calculates the number for each warning type of the correspondence information 33 using the calculation result based on the defect information 32. As shown in the correspondence information 33 of FIG. 10, the reference to the nonexistent array index and the writing of the nonexistent array index correspond to a buffer overflow. Accordingly, the scoring unit 13 calculates 30 + 90, and calculates the number of defects X of the buffer overflow as 120. Unintended value references correspond without initialization. The scoring unit 13 calculates 60 + 0, and calculates the number of defects X without initialization as 60.
  • the scoring unit 13 refers to the threshold information 34 and determines a weighted score based on the number of defects X obtained in step S122.
  • the number of defects X of buffer overflow is 120, and the number of defects X without initialization is 60. Therefore, the scoring unit 13 refers to the threshold information 34, determines the weighted score of the buffer overflow as 10, and determines the weighted score without initialization as 5.
  • the scoring unit 13 generates the weighting information 12a from the weighting points for each warning type determined in step S123.
  • the weighting score for buffer overflow is 10 and the weighting score without initialization is 5 points.
  • step S12 The processing of the weighting unit 12 in step S12 is summarized as follows.
  • the warning type of the correspondence information 33 is referred to as a first warning type
  • the warning type of the analysis result information 11a is referred to as a second warning type.
  • the defect cause type in the correspondence information 33 is called a first defect cause type
  • the defect cause type in the defect information 32 is called a second defect cause type.
  • the weighting unit 12 uses the correspondence information 33 and the defect information 32 to determine the number of second defect cause types corresponding to the first defect cause type in the record.
  • the correspondence information 33 is associated with a first warning type indicating a type of warning that is warned by the static analysis of the source code and a first defect cause type indicating a type of cause of a past defect.
  • This is information having a plurality of records.
  • the record corresponds to each of the first to third rows in FIG.
  • the defect information 32 has a plurality of second defect cause types indicating types of causes of past defects.
  • the weighting unit 12 gives a score to the first warning type corresponding to the first defect cause type in accordance with the determined number, and assigns a score to the first warning type. And the weighting information 12a in which the score and the score are associated with each other.
  • step S13 which is processing for generating the scored information 13a, will be described.
  • the scoring unit 13 gives, to the warning type of each line of the analysis result information 11a, a weighting point associated with the warning type of the warning type weighting information 12a, and assigns the given weighting point to a file name.
  • the scored information 13a is generated by summing the values for each item.
  • FIG. 11 is a diagram illustrating step S13.
  • the scoring unit 13 acquires the analysis result information 11a from the analysis result information storage unit 21 and acquires the weighting information 12a from the weighting information storage unit 25.
  • the scoring unit 13 refers to the weighting information 12a and gives a weighting score to each warning type of the analysis result information 11a.
  • a file name a. c is given 10 points for the buffer overflow, and the file names a. 5 points are given without initializing the file name c. Give 5 points without initializing c.
  • the scoring unit 13 generates the scoring information 13a by summing the weighted scores for each file name.
  • the file names a. c has a weighting score of 15, and the file name c.
  • the weighting score of c is 15 points.
  • the scoring unit 13 stores the generated scoring information 13a in the scoring information storage unit 22.
  • FIG. 12 is a diagram showing the scoring information 13a. For the file and the total score, the first line contains: a. c and 15 points, and the second line is c. c and 5 points.
  • step S13 The processing of the scoring unit 13 in step S13 is summarized as follows.
  • the scoring unit 13 assigns the first warning type of the weighting information 12a to the first warning type among the plurality of second warning types of the analysis result information 11a including the plurality of second warning types that are the results of the static analysis of the source code.
  • the score given to the first warning type is given to the corresponding second warning type.
  • the analysis result information 11a is associated with each of the plurality of second warning types, the file name indicating the source code, and the number of lines including the warning type.
  • the number of lines including the warning type is position information indicating a position where a warning type such as a buffer overflow exists in the source code.
  • the scoring unit 13 calculates the sum of the scores of the second warning type having the same file name.
  • the scoring unit 13 generates the weighting information 12a using the threshold information 34 in which the number of defects and the weighting score are associated with each other.
  • the display processing unit 14 reads the scoring information 13a from the scoring information storage unit 22, and displays the scoring information 13a on the display device 94.
  • FIG. 13 is a functional block diagram of a modified example of the scoring device 10.
  • the scoring device 10 of FIG. 13 further includes a defect information acquisition unit 15 in FIG.
  • the defect information acquisition unit 15 can acquire the defect information 32.
  • FIG. 14 shows a hardware configuration of the scoring device 10 of FIG.
  • the hardware configuration in FIG. 13 is different from that in FIG. 2 in that a defect information acquisition unit 15 is added.
  • the functions of the static analysis result acquiring unit 11, the scoring unit 13, the scoring unit 13, the display processing unit 14, and the defect information acquiring unit 15 are realized by a scoring program.
  • the defect information acquiring unit 15 acquires the defect information 32 via the input / output interface 93 or the communication interface 95.
  • the correspondence information 33 and the threshold information 34 can be set and changed by an input / output interface 96 such as a mouse or a keyboard in both the cases of FIGS.
  • the defect information acquisition unit 15 acquires the defect information 32 and stores the acquired defect information 32 in a memory. It is stored in the defect information storage unit 23.
  • the weighting unit 12 generates the weighting information 12a by using the defect information 32 acquired by the defect information acquiring unit 15.
  • the defect information 32 can be flexibly changed.
  • FIG. 15 shows a second modification.
  • the function of the “unit” illustrated as the processor 91 is realized by software.
  • the function of the “unit” illustrated as the processor 91 may be realized by hardware. More specifically, as shown in FIG. 15, the processing circuit 99 realizes the function of the “unit” and the function of “—storage unit” shown as the processor 91.
  • the processing circuit 99 is connected to the signal line 99a.
  • the processing circuit 99 is a dedicated electronic circuit that realizes the function of the “unit” and the function of “the storage unit” shown as the processor 91.
  • the processing circuit 99 is a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a logic IC, a GA (Gate Array), an ASIC (Application Specific Integrated Circuit), or And FPGA (Field-Programmable Gate Array).
  • the processor 91 and the processing circuit 99 are also called processing circuitry. That is, in the scoring device 10, the functions of the static analysis result acquisition unit 11, the weighting unit 12, the scoring unit 13, the display processing unit 14, and the failure information acquisition unit 15 are realized by the processing circuitry.
  • first embodiment has been described above, one of the first embodiments may be partially implemented. Alternatively, two or more of the first embodiment may be partially combined for implementation.
  • the present invention is not limited to the first embodiment, and various changes can be made as needed.
  • 10 scoring device 11 ⁇ static analysis result acquisition section, 11a analysis result information, 12 weighting section, 12a weighting information, 13 scoring section, 13a scoring information, 14 display processing section, 15 failure information acquisition section, 21 analysis result Information storage unit, 22 scored information storage unit, 23 defect information storage unit, 24 correspondence information storage unit, 25 weighting information storage unit, 31 static analysis result, 32 defect information, 33 correspondence information, 34 threshold information, 91 processor, 92 ⁇ memory, 93 ⁇ input / output interface, 94 # display device, 95 # communication interface, 99 # processing circuit, 99a # signal line.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

対応情報(33)は、第1の警告種類と第1の不具合原因種類とが対応付けられた複数のレコードを有する。不具合情報(32)は、複数の第2の不具合原因種類を有する。重み付け部(12)は、不具合情報(32)及び対応情報(33)を使用して、第1の不具合原因種類に対応する、第2の不具合原因種類の個数を決定する。点数化部(13)は、第1の不具合原因種類に対応する第1の警告種類に、決定した個数に応じて点数を与え、第1の警告種類と点数とが対応付けられた重み付け情報(12a)を生成する。点数化部(13)は、複数の第2の警告種類を含む解析結果情報(11a)の複数の第2の警告種類のうち、重み付け情報(12a)の第1の警告種類に対応する第2の警告種類に、第1の警告種類に与えられた点数を与える。

Description

点数化装置、点数化プログラム及び点数化方法
 この発明は、ソースコードの静的解析の結果に点数を与える、点数化装置、点数化プログラム及び点数化方法に関する。
 静的解析は、ソースコードを解析し、システム停止のような不具合になる可能性のある箇所を抽出する技術である。従来では、手動で作成された重み付けを利用して、静的解析の警告を絞ることは行われている(例えば特許文献1)。
特開2014-059775号公報
 静的解析では、メモリバッファオーバーフロー及びメモリリークのような不具合は、検出できる。しかし、従来技術では、軽微な不具合も含め、不具合の警告が大量に出力される。このため、開発中の製品において、不具合になる可能性の高い警告を把握することは、困難である。
 この発明は、ソースコードの静的解析の結果から、不具合になる可能性の高い警告を抽出する技術の提供を目的とする。
この発明の点数化装置は、
 ソースコードの静的解析によって警告される警告の種類を示す第1の警告種類と、過去の不具合の原因の種類を示す第1の不具合原因種類とが対応付けられた複数のレコードを有する対応情報と、過去の不具合の原因の種類を示す複数の第2の不具合原因種類を有する不具合情報とを使用することにより、前記レコードの前記第1の不具合原因種類に対応する前記第2の不具合原因種類の個数を決定し、前記第1の不具合原因種類に対応する前記第1の警告種類に、決定した前記個数に応じて点数を与え、前記第1の警告種類と前記点数とが対応付けられた重み付け情報を生成する重み付け部と、
 ソースコードの静的解析の結果である複数の第2の警告種類を含む解析結果情報の前記複数の第2の警告種類のうち、前記重み付け情報の前記第1の警告種類に対応する前記第2の警告種類に、前記第1の警告種類に与えられた点数を与える点数化部と、
を備える。
 この発明によれば、ソースコードの静的解析の結果から、不具合になる可能性の高い警告を抽出する技術を提供できる。
実施の形態1の図で、点数化装置の機能ブロック図。 実施の形態1の図で、点数化装置のハードウェア構成を示す図。 実施の形態1の図で、点数化装置の動作を示すフローチャート。 実施の形態1の図で、解析結果情報を示す図。 実施の形態1の図で、不具合情報を示す図。 実施の形態1の図で、対応情報を示す図。 実施の形態1の図で、閾値情報を示す図。 実施の形態1の図で、重み付け情報を示す図。 実施の形態1の図で、ステップS12の内容を示すフローチャート。 実施の形態1の図で、ステップS12の内容を説明する図。 実施の形態1の図で、ステップS13の内容を説明する図。 実施の形態1の図で、点数化情報を示す図。 実施の形態1の図で、変形例1である点数化装置の機能ブロック図。 実施の形態1の図で、変形例1である点数化装置のハードウェア構成図。 実施の形態1の図で、変形例2の回路構成を示す図。
 実施の形態1.
 図1は、ソースコードに点数を与える点数化装置10の機能ブロックである。点数化装置10にはソースコードの静的解析結果31が入力され、点数化装置10は点数化情報13aを表示装置に表示する。
***構成の説明***
 図1に示すように、点数化装置10は、機能要素として、静的解析結果取得部11、重み付け部12、点数化部13及び表示処理部14を有する。また、点数化装置10は、記憶部として、解析結果情報記憶部21、点数化情報記憶部22、不具合情報記憶部23、対応情報記憶部24及び重み付け情報記憶部25を有する。
 図2は、コンピュータである点数化装置10のハードウェア構成を示す。点数化装置10は、ハードウェアとして、プロセッサ91、メモリ92、入出力インタフェース93、表示装置94及び通信インタフェース95を有する。プロセッサ91は、信号線96を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
 点数化装置10の機能要素である、静的解析結果取得部11、重み付け部12、点数化部13及び表示処理部14との機能は、ソフトウェアにより実現される。
 プロセッサ91は、点数化プログラムを実行する装置である。点数化プログラムは、静的解析結果取得部11、重み付け部12、点数化部13及び表示処理部14との機能を実現するプログラムである。プロセッサ91は、演算処理を行うIC(Integrated Circuit)である。プロセッサ91の具体例は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
 メモリ92は、データを記憶する記憶装置である。解析結果情報記憶部21、点数化情報記憶部22、不具合情報記憶部23、対応情報記憶部24及び重み付け情報記憶部25はメモリ92によって実現される。メモリ92の具体例は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)である。また、メモリ92の具体例は、HDD(Hard Disk Drive)のような、補助記憶装置でもよい。メモリ92は、プロセッサ91の演算結果を保持する。
 入出力インタフェース93には、データ及び結果を入出力するための装置が接続される。データ及び結果を入出力するための装置の例としては、マウス及びキーボードである。
 表示装置94は表示処理部14によって制御されて、情報を表示する。
 通信インタフェース95は、ネットワークを介して他の装置と通信を行うためのインタフェース装置である。通信インタフェース95の具体例は通信ボードである。
 点数化プログラムは、プロセッサ91に読み込まれ、プロセッサ91によって実行される。メモリ92には、点数化プログラムだけでなく、OS(Operating System)も記憶されている。プロセッサ91は、OSを実行しながら、点数化プログラムを実行する。
 点数化装置10は、プロセッサ91を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、点数化プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ91と同じように、点数化プログラムを実行する装置である。
 点数化プログラムによって利用、処理または出力されるデータ、情報、信号値及び変数値は、メモリ92、または、プロセッサ91内のレジスタあるいはキャッシュメモリに記憶される。点数化プログラムは、静的解析結果取得部11、重み付け部12、点数化部13及び表示処理部14の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えた各処理、各手順あるいは各工程を、コンピュータに実行させるプログラムである。また、点数化方法は、コンピュータである点数化装置10が、点数化プログラムを実行することにより行われる方法である。
 点数化プログラムは、コンピュータ読取可能な記録媒体に格納されて提供されてもよいし、プログラムプロダクトとして提供されてもよい。
 静的解析結果取得部11は、静的解析結果31を取得する。静的解析結果取得部11は、取得した静的解析結果31から、警告種類、ファイル名、行数を抽出して、解析結果情報11aを生成する。静的解析結果取得部11は、解析結果情報11aを解析結果情報記憶部21へ格納する。
 不具合情報記憶部23は、不具合情報32を格納している。対応情報記憶部24は、解析結果情報11aの警告種類と、不具合情報32の不具合原因種類との対応を示す対応情報33を格納している。
 重み付け部12は、不具合情報記憶部23から不具合情報32を取得し、対応情報記憶部24から、対応情報33及び閾値情報34を取得する。重み付け部12は、警告種類の重み付け情報12aを生成し、重み付け情報12aを、重み付け情報記憶部25へ格納する。
 点数化部13は、解析結果情報記憶部21から解析結果情報11aを取得し、重み付け情報記憶部25から警告種類の重み付け情報12aを取得する。点数化部13は点数化情報13aを生成し、点数化情報記憶部22へ格納する。
 表示処理部14は、点数化情報記憶部22に記憶された点数化情報13aを表示する。
***動作の説明***
 図3は、点数化装置10の動作を示すフローチャートである。点数化装置10の動作は、点数化方法に相当する。点数化装置10の動作は、点数化プログラムの処理に相当する。
 図3を用いて、点数化装置10の処理を説明する。点数化装置10はステップS11からステップS14の処理を実行する。ステップS11は、静的解析結果31の取得処理である。ステップS12は、重み付け情報12aを生成する処理である。ステップS13は、点数化情報13aを生成する処理である。ステップS14は、点数化情報13aを表示する処理である。
<ステップS11>
 静的解析結果取得部11は、入出力インタフェース93または通信インタフェース95を介して、静的解析結果31を取得する。静的解析結果取得部11は、静的解析結果31を解析結果情報11aに変換し、解析結果情報11aを解析結果情報記憶部21に格納する。
 静的解析結果31とは、ソースコードの静的解析の結果である。静的解析結果31は、不具合の可能性のある種類を示す警告種類、不具合の可能性のある箇所を含むソースコードのファイルを示すファイル名、及び不具合の可能性のある箇所の行数を示す「行数」を含む。
 図4は、静的解析結果取得部11が生成する解析結果情報11aを示す。解析結果情報11aは、静的解析結果31が表形式に変換された情報である。解析結果情報11aは、警告種類、ファイル名及び行数を含む。警告種類、ファイル名及び行数に関して、1行目は、バッファーオーバーフロー、a.c、1432であり、2行目は、初期化なし、a.c、25であり、2行目は、初期化なし、c.c、154である。
<ステップS12>
 重み付け部12は、不具合情報記憶部23から不具合情報32を読み込み、対応情報記憶部24から、対応情報33及び閾値情報34を読み込む。重み付け部12は、重み付け情報12aを生成する。重み付け部12は生成した重み付け情報12aを、重み付け情報記憶部25へ格納する。
 具体的な処理は、以下のようである。
 図5は、不具合情報32を示す。不具合情報32は、ソースコードを実行することで発生した過去の不具合の実績を示す情報である。不具合情報32は、過去の不具合が表形式で示されている。不具合情報32は、複数の不具合原因種類に対して、詳細な内容が記載されている。不具合原因種類とは、不具合の原因が分類された情報である。1行目の不具合原因種類は、存在しない配列インデックス参照である。2行目の不具合原因種類は、存在しない配列インデックス書込である。3行目の不具合原因種類は、意図しない値の参照である。1行目の詳細は、配列Xの10番目を参照したが、配列Xは9番目までしかなかったため、停止したという内容である。2行目の詳細は、配列Yの15番目へ書込したが、配列Yは11番目までしかなかったため、停止したという内容である。3行目の詳細は、意図しない値が入った変数を引数に取った関数が例外を起こし、停止したという内容である。
 図6は、対応情報33を示す。対応情報33は、解析結果情報11aと不具合情報32とを対応付けた情報である。具体的には、対応情報33は、解析結果情報11aの警告種類と、不具合情報32の不具合原因種類とを、対応付けている。警告種類及び不具合原因種類に関して、1行目は、バッファーオーバーフロー及び存在しない配列インデックス参照である。2行目は、初期化なし及び意図しない値の参照である。2行目は、バッファーオーバーフロー及び存在しない配列インデックス書き込みである。
 図7は、閾値情報34を示す。閾値情報34は、不具合情報32の不具合数Xに対と、重み付点数との関係を示す。図7に示すように、不具合数Xが1以上50未満の場合には重み付け点数は1であり、不具合数Xが50以上100未満の場合には重み付け点数は5であり、不具合数Xが100以上の場合には重み付け点数は10である。
 図8は、重み付け情報12aを示す。重み付け情報12aは、警告種類ごとの重み付点数を示す。警告種類及び重み付け点数に関して、1行目は、バッファーオーバーフロー及び10点であり、2行目は、初期化なし及び5点である。
 図9は、重み付け情報12aを生成する処理であるステップS12の内容を示すフローチャートである。
 図10は、ステップS12の内容を説明する図である。図9及び図10を用いて、ステップS12の内容を示すステップS121からステップS124を説明する。
<ステップS121>
 点数化部13は、不具合情報32の不具合原因種類ごとに、個数を計算する。図10では、点数化部13は、存在しない配列インデックス参照(1-1),(1-2)...、存在しない配列インデックス書込(2-1),(2-2)...、意図しない値の参照(3-1),(3-2)...の個数を計算する。存在しない配列インデックス参照は、(1-1)から(1-30)の30あるとする。存在しない配列インデックス書込は、(2-1)から(2-90)の90あるとする。意図しない値の参照は、(3-1)から(3-60)の60あるとする
<ステップS122>
 点数化部13は、不具合情報32により計算結果を用いて、対応情報33の警告種類ごとに、個数を計算する。図10の対応情報33に示すように、存在しない配列インデックス参照と、存在しない配列インデックス書込とは、バッファーオーバーフローに対応する。よって、点数化部13は30+90を計算し、バッファーオーバーフローの不具合数Xを120と計算する。意図しない値の参照は、初期化なしに対応する。点数化部13は60+0を計算し、初期化なしの不具合数Xを60と計算する。
<ステップS123>
 点数化部13は、閾値情報34を参照して、ステップS122で求めた不具合数Xに基づき、重み付け点数を決定する。ステップS122では、バッファーオーバーフローの不具合数X=120であり、初期化なしの不具合数X=60である。よって、点数化部13は、閾値情報34を参照し、バッファーオーバーフローの重み付け点数を10と決定し、初期化なしの重み付け点数を5と決定する。
<ステップS124>
 点数化部13は、ステップS123で決定した警告種類ごとの重み付け点数から、重み付け情報12aを生成する。この例では、図10に示すように、重み付け情報12aでは、バッファーオーバーフローの重み付け点数は10点であり、初期化なしの重み付け点数は5点である。
 以上がステップS12の内容である。ステップS12の重み付け部12の処理をまとめると、以下のようである。以下では、対応情報33の警告種類を第1の警告種類と呼び、解析結果情報11aの警告種類を第2の警告種類と呼ぶ。また、対応情報33の不具合原因種類を第1の不具合原因種類と呼び、不具合情報32の不具合原因種類を第2の不具合原因種類と呼ぶ。重み付け部12は、対応情報33と、不具合情報32とを使用することにより、レコードの第1の不具合原因種類に対応する第2の不具合原因種類の個数を決定する。ここで、対応情報33は、ソースコードの静的解析によって警告される警告の種類を示す第1の警告種類と、過去の不具合の原因の種類を示す第1の不具合原因種類とが対応付けられた複数のレコードを有する情報である。レコードとは、図6の1行目から3行目の各行が該当する。不具合情報32は、過去の不具合の原因の種類を示す複数の第2の不具合原因種類を有する。重み付け部12は、第2の不具合原因種類の個数を決定した場合に、第1の不具合原因種類に対応する第1の警告種類に、決定した個数に応じて点数を与え、第1の警告種類と点数とが対応付けられた重み付け情報12aを生成する。
<ステップS13>
 次に、点数化情報13aを生成する処理であるステップS13を説明する。ステップS13では、点数化部13は、解析結果情報11aの各行の警告種類に対して、警告種類の重み付け情報12aの警告種類に対応付けられている重み付け点数を与え、与えた重み付け点数をファイル名ごとに合計することで、点数化情報13aを生成する。
 図11は、ステップS13を説明する図である。ステップS13において、点数化部13は、解析結果情報記憶部21から解析結果情報11aを取得し、重み付け情報記憶部25から重み付け情報12aを取得する。点数化部13は、重み付け情報12aを参照して、解析結果情報11aのそれぞれの警告種類に、重み付け点数を与える。図11の場合は、解析結果情報11aに対して、ファイル名a.cのバッファーオーバーフローに10点を与え、ファイル名a.cの初期化なしに5点を与え、ファイル名c.cの初期化なしに5点を与える。点数化部13は、ファイル名ごとに重み付け点数を合計して、点数化情報13aを生成する。この例では、ファイル名a.cの重み付け点数は、15点であり、ファイル名c.cの重み付け点数は15点である。点数化部13は、生成した点数化情報13aを点数化情報記憶部22へ格納する。
 図12は、点数化情報13aを示す図である。ファイル及び点数合計に関して、1行目は、a.c及び15点であり、2行目は、c.c及び5点である。
 以上がステップS13の内容である。ステップS13の点数化部13の処理をまとめると、以下のようである。点数化部13は、ソースコードの静的解析の結果である複数の第2の警告種類を含む解析結果情報11aの複数の第2の警告種類のうち、重み付け情報12aの第1の警告種類に対応する第2の警告種類に、第1の警告種類に与えられた点数を与える。
 なお、図11の説明で述べたように、解析結果情報11aは、複数の第2の警告種類のそれぞれと、ソースコードを示すファイル名と、警告種類を含む行数が対応付けられている。警告種類を含む行数は、ソースコードにおいてバッファーオーバーフローのような警告種類が存在する位置を示す位置情報である。点数化部13は、ファイル名が同一である第2の警告種類の点数の合計を計算する。また、図11の説明で述べたように、点数化部13は、不具合の個数と重み付けの点数とが対応付けられた閾値情報34を使用して、重み付け情報12aを生成する。
<ステップS14>
 表示処理部14は、点数化情報記憶部22から点数化情報13aを読み込み、点数化情報13aを表示装置94に表示する。
<変形例1>
 図13は、点数化装置10の変形例の機能ブロック図である。図13の点数化装置10は、図1に対して、さらに、不具合情報取得部15を有する。不具合情報取得部15は、不具合情報32を取得することができる。
 図14は、図13の点数化装置10のハードウェア構成を示す。図13のハードウェア構成は、図2に対して、不具合情報取得部15が追加されている。図2の場合と同様に、静的解析結果取得部11、点数化部13、点数化部13、表示処理部14及び不具合情報取得部15の機能は、点数化プログラムにより実現される。不具合情報取得部15は、不具合情報32を、入出力インタフェース93または通信インタフェース95を介して取得する。
 なお、対応情報33及び閾値情報34は、図1及び図13の場合ともに、マウスまたはキーボードのような入出力インタフェース96によって、設定及び変更が可能である。
 以上のように、不具合情報取得部15は、不具合情報32を取得し、取得した不具合情報32をメモリである。不具合情報記憶部23に格納する。重み付け部12は、不具合情報取得部15が取得した不具合情報32を使用することにより、重み付け情報12aを生成する。
 変形例1によれば、不具合情報32を柔軟に変更できる。
<変形例2>
 図15は、変形例2を示す。図2及び図14に示すハードウェア構成では、プロセッサ91として示す「部」の機能が、ソフトウェアで実現される。しかし、変形例2として、プロセッサ91として示す「部」の機能がハードウェアで実現されてもよい。具体的には、図15に示すように、処理回路99によって、プロセッサ91として示す「部」の機能及び「~記憶部」の機能が実現される。処理回路99は信号線99aに接続している。処理回路99は、プロセッサ91として示す「部」の機能及び「~記憶部」の機能を実現する専用の電子回路である。処理回路99は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate・Array)、ASIC(Application・Specific・Integrated・Circuit)、又は、FPGA(Field-Programmable・Gate・Array)である。
 プロセッサ91と処理回路99とは、プロセッシングサーキットリとも呼ばれる。つまり、点数化装置10において、静的解析結果取得部11、重み付け部12、点数化部13、表示処理部14及び不具合情報取得部15の機能は、プロセッシングサーキットリにより実現される。
***実施の形態1の効果***
 以上に説明した点数化装置は解析結果情報11aを生成するので、不具合に直結する確率の高い静的解析の警告と、その警告を含むファイル名及び不具合箇所である行数を特定できる。
 以上、実施の形態1ついて説明したが、実施の形態1うち、1つを部分的に実施しても構わない。あるいは、実施の形態1のうち、2つ以上を部分的に組み合わせて実施しても構わない。なお、本発明は、実施の形態1に限定されるものではなく、必要に応じて種々の変更が可能である。
 10 点数化装置、11 静的解析結果取得部、11a 解析結果情報、12 重み付け部、12a 重み付け情報、13 点数化部、13a 点数化情報、14 表示処理部、15 不具合情報取得部、21 解析結果情報記憶部、22 点数化情報記憶部、23 不具合情報記憶部、24 対応情報記憶部、25 重み付け情報記憶部、31 静的解析結果、32 不具合情報、33 対応情報、34 閾値情報、91 プロセッサ、92 メモリ、93 入出力インタフェース、94 表示装置、95 通信インタフェース、99 処理回路、99a 信号線。

Claims (6)

  1.  ソースコードの静的解析によって警告される警告の種類を示す第1の警告種類と、過去の不具合の原因の種類を示す第1の不具合原因種類とが対応付けられた複数のレコードを有する対応情報と、過去の不具合の原因の種類を示す複数の第2の不具合原因種類を有する不具合情報とを使用することにより、前記レコードの前記第1の不具合原因種類に対応する前記第2の不具合原因種類の個数を決定し、前記第1の不具合原因種類に対応する前記第1の警告種類に、決定した前記個数に応じて点数を与え、前記第1の警告種類と前記点数とが対応付けられた重み付け情報を生成する重み付け部と、
     ソースコードの静的解析の結果である複数の第2の警告種類を含む解析結果情報の前記複数の第2の警告種類のうち、前記重み付け情報の前記第1の警告種類に対応する前記第2の警告種類に、前記第1の警告種類に与えられた点数を与える点数化部と、
    を備える点数化装置。
  2.  前記解析結果情報は、
     複数の前記第2の警告種類のそれぞれと、ソースコードを示すファイル名とが対応付けられており、
     前記点数化部は、
     前記ファイル名が同一である前記第2の警告種類の点数の合計を計算する請求項1に記載の点数化装置。
  3.  前記点数化部は、
     不具合の個数と点数とが対応付けられた閾値情報を使用して、前記重み付け情報を生成する請求項1または請求項2に記載の点数化装置。
  4.  点数化装置は、さらに、
     メモリと、
     前記不具合情報を取得し、取得した前記不具合情報を前記メモリに格納する不具合情報取得部と、
    を備え、
     前記重み付け部は、
     前記不具合情報取得部が取得した前記不具合情報を使用することにより、前記重み付け情報を生成する請求項1から請求項3のいずれか一項に記載の点数化装置。
  5.  コンピュータに、
     ソースコードの静的解析によって警告される警告の種類を示す第1の警告種類と、過去の不具合の原因の種類を示す第1の不具合原因種類とが対応付けられた複数のレコードを有する対応情報と、過去の不具合の原因の種類を示す複数の第2の不具合原因種類を有する不具合情報とを使用することにより、前記レコードの前記第1の不具合原因種類に対応する前記第2の不具合原因種類の個数を決定し、前記第1の不具合原因種類に対応する前記第1の警告種類に、決定した前記個数に応じて点数を与え、前記第1の警告種類と前記点数とが対応付けられた重み付け情報を生成する処理、
     ソースコードの静的解析の結果である複数の第2の警告種類を含む解析結果情報の前記複数の第2の警告種類のうち、前記重み付け情報の前記第1の警告種類に対応する前記第2の警告種類に、前記第1の警告種類に与えられた点数を与える処理、
    を実行させるための点数化プログラム。
  6.  コンピュータが、
     ソースコードの静的解析によって警告される警告の種類を示す第1の警告種類と、過去の不具合の原因の種類を示す第1の不具合原因種類とが対応付けられた複数のレコードを有する対応情報と、過去の不具合の原因の種類を示す複数の第2の不具合原因種類を有する不具合情報とを使用することにより、前記レコードの前記第1の不具合原因種類に対応する前記第2の不具合原因種類の個数を決定し、前記第1の不具合原因種類に対応する前記第1の警告種類に、決定した前記個数に応じて点数を与え、前記第1の警告種類と前記点数とが対応付けられた重み付け情報を生成し、
     ソースコードの静的解析の結果である複数の第2の警告種類を含む解析結果情報の前記複数の第2の警告種類のうち、前記重み付け情報の前記第1の警告種類に対応する前記第2の警告種類に、前記第1の警告種類に与えられた点数を与える、
    点数化方法。
PCT/JP2018/027444 2018-07-23 2018-07-23 点数化装置、点数化プログラム及び点数化方法 WO2020021588A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/252,328 US11281566B2 (en) 2018-07-23 2018-07-23 Scoring device, computer readable medium, and scoring method
PCT/JP2018/027444 WO2020021588A1 (ja) 2018-07-23 2018-07-23 点数化装置、点数化プログラム及び点数化方法
JP2020531836A JP6873332B2 (ja) 2018-07-23 2018-07-23 点数化装置、点数化プログラム及び点数化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/027444 WO2020021588A1 (ja) 2018-07-23 2018-07-23 点数化装置、点数化プログラム及び点数化方法

Publications (1)

Publication Number Publication Date
WO2020021588A1 true WO2020021588A1 (ja) 2020-01-30

Family

ID=69180658

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/027444 WO2020021588A1 (ja) 2018-07-23 2018-07-23 点数化装置、点数化プログラム及び点数化方法

Country Status (3)

Country Link
US (1) US11281566B2 (ja)
JP (1) JP6873332B2 (ja)
WO (1) WO2020021588A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113485862A (zh) * 2021-07-13 2021-10-08 北京三快在线科技有限公司 业务故障的管理方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293409A (ja) * 1999-04-06 2000-10-20 Nec Commun Syst Ltd プログラム危険度チェック方法ならびに装置
US20160004517A1 (en) * 2014-07-01 2016-01-07 Bank Of America Corporation SOFTWARE DEVELOPMENT IMPROVEMENT TOOL - iREVIEW
US20170193801A1 (en) * 2015-12-30 2017-07-06 Cerner Innovation, Inc. Intelligent alert suppression
JP2018026135A (ja) * 2016-08-11 2018-02-15 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited 静的解析警告の効率的な運用のための原因ポイント解析のためのシステム及び方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1078890A (ja) 1996-09-02 1998-03-24 Toshiba Corp レビューチェック項目管理装置及びレビューチェック項目管理方法
JP2003029970A (ja) 2001-07-12 2003-01-31 Mitsubishi Electric Corp プログラム品質管理支援装置、プログラム品質管理支援方法、プログラム品質管理支援方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体、プログラム品質管理支援方法をコンピュータに実行させるためのプログラム
US7743286B2 (en) * 2005-05-17 2010-06-22 International Business Machines Corporation Method, system and program product for analyzing demographical factors of a computer system to address error conditions
JP4914609B2 (ja) 2005-12-28 2012-04-11 富士通株式会社 ソースコード問題予測プログラム
JP4886404B2 (ja) 2006-07-14 2012-02-29 株式会社東芝 ソースコード修正優先度付けシステムおよびその優先度付け方法
JP2008071110A (ja) 2006-09-14 2008-03-27 Xanavi Informatics Corp ソースコードレビュー支援装置
JP2009193099A (ja) 2008-02-12 2009-08-27 Nec Corp 検査配点方法および装置
JP2010117897A (ja) 2008-11-13 2010-05-27 Hitachi Software Eng Co Ltd プログラム静的解析システム
US8752001B2 (en) * 2009-07-08 2014-06-10 Infosys Limited System and method for developing a rule-based named entity extraction
JP2013131128A (ja) 2011-12-22 2013-07-04 Fuji Electric Co Ltd プログラム構造評価システム、プログラム
WO2013179076A1 (en) * 2012-05-31 2013-12-05 Freescale Semiconductor, Inc. A simulation system and method for testing a simulation of a device against one or more violation rules
JP6076660B2 (ja) 2012-09-18 2017-02-08 富士電機株式会社 プログラム構造評価システム、プログラム
JP6121828B2 (ja) 2013-07-26 2017-04-26 Necエンジニアリング株式会社 静的解析装置、静的解析方法、および、コンピュータ・プログラム
US9552549B1 (en) * 2014-07-28 2017-01-24 Google Inc. Ranking approach to train deep neural nets for multilabel image annotation
JP5793228B1 (ja) 2014-08-22 2015-10-14 三菱電機インフォメーションシステムズ株式会社 欠陥数予測装置及び欠陥数予測プログラム
JP2016128941A (ja) 2015-01-09 2016-07-14 日本電気株式会社 出力判定装置、出力判定方法、出力判定プログラム、及び、静的解析装置
US9916224B2 (en) * 2015-09-15 2018-03-13 Linkedin Corporation Integrating quality analysis with a code review tool
WO2017095727A1 (en) * 2015-11-30 2017-06-08 Jpmorgan Chase Bank, N.A. Systems and methods for software security scanning employing a scan quality index
US9928154B2 (en) * 2016-01-12 2018-03-27 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Leveling stress factors among like components in a server

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293409A (ja) * 1999-04-06 2000-10-20 Nec Commun Syst Ltd プログラム危険度チェック方法ならびに装置
US20160004517A1 (en) * 2014-07-01 2016-01-07 Bank Of America Corporation SOFTWARE DEVELOPMENT IMPROVEMENT TOOL - iREVIEW
US20170193801A1 (en) * 2015-12-30 2017-07-06 Cerner Innovation, Inc. Intelligent alert suppression
JP2018026135A (ja) * 2016-08-11 2018-02-15 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited 静的解析警告の効率的な運用のための原因ポイント解析のためのシステム及び方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113485862A (zh) * 2021-07-13 2021-10-08 北京三快在线科技有限公司 业务故障的管理方法、装置、电子设备及存储介质
CN113485862B (zh) * 2021-07-13 2022-07-15 北京三快在线科技有限公司 业务故障的管理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
US11281566B2 (en) 2022-03-22
US20210263831A1 (en) 2021-08-26
JPWO2020021588A1 (ja) 2021-02-15
JP6873332B2 (ja) 2021-05-19

Similar Documents

Publication Publication Date Title
CN112424836B (zh) 用于显示与光线跟踪图像相关联的着色器表的技术
US8667416B2 (en) User interface manipulation for coherent content presentation
JP5244826B2 (ja) ユーザーインターフェース要素を用いた分離、管理および通信
WO2020021588A1 (ja) 点数化装置、点数化プログラム及び点数化方法
JP2008210073A (ja) ログデータサイズ削減装置及びログデータサイズ削減装置のログデータサイズ削減方法
JP6667733B2 (ja) シミュレーション装置、シミュレーション方法およびシミュレーションプログラム
WO2023276162A1 (ja) データ作成装置、データ作成方法、及びプログラム
US20190369997A1 (en) Simulation device, simulation method, and computer readable medium
JP7116313B2 (ja) 修正候補特定プログラム
JP5219543B2 (ja) 情報処理装置及び情報処理方法及びプログラム
WO2022195892A1 (ja) トレース制御装置、エミュレータ、トレース制御方法、および、トレース制御プログラム
JP7250222B1 (ja) 変更履歴再生装置、変更履歴再生方法、および、変更履歴再生プログラム
JP6430086B1 (ja) 画像提供装置、画像提供方法および画像提供プログラム
JP6482362B2 (ja) ソースコード生成システム、ソースコード生成装置、ソースコード生成方法及びプログラム
JP6916327B1 (ja) 派生テスト装置、派生テスト方法、および、派生テストプログラム
WO2022153401A1 (ja) 情報処理方法、情報処理装置及びプログラム
JP6954806B2 (ja) 不具合検出装置、及び不具合検出方法
WO2019229916A1 (ja) 状態監視装置、状態監視方法および状態監視プログラム
US10740129B2 (en) Distinguishing portions of output from multiple hosts
JP2024030023A (ja) ソースコード解析装置、ソースコード解析方法およびソースコード解析プログラム
JP2021117536A (ja) 処理ユニット及び処理システム
WO2018163387A1 (ja) 解析装置、解析方法及び解析プログラム
JP2021033350A (ja) 認証装置、認証方法および認証プログラム
JP2022098366A (ja) 試験支援装置、試験支援方法及び試験支援プログラム
WO2016189725A1 (ja) シミュレーション装置及びシミュレーション方法及びシミュレーションプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18927437

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020531836

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18927437

Country of ref document: EP

Kind code of ref document: A1