Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7562483B2 - Apparatus and method for assisting in identifying defective parts - Google Patents
[go: Go Back, main page]

JP7562483B2 - Apparatus and method for assisting in identifying defective parts - Google Patents

Apparatus and method for assisting in identifying defective parts Download PDF

Info

Publication number
JP7562483B2
JP7562483B2 JP2021105236A JP2021105236A JP7562483B2 JP 7562483 B2 JP7562483 B2 JP 7562483B2 JP 2021105236 A JP2021105236 A JP 2021105236A JP 2021105236 A JP2021105236 A JP 2021105236A JP 7562483 B2 JP7562483 B2 JP 7562483B2
Authority
JP
Japan
Prior art keywords
information
value
source file
suspicion
command
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
JP2021105236A
Other languages
Japanese (ja)
Other versions
JP2023003882A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2021105236A priority Critical patent/JP7562483B2/en
Publication of JP2023003882A publication Critical patent/JP2023003882A/en
Application granted granted Critical
Publication of JP7562483B2 publication Critical patent/JP7562483B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、ソースファイルにおける不具合箇所の特定を支援する技術に関する。 The present invention relates to a technology that assists in identifying defects in source files.

ソフトウェア開発において、プログラムに故障(開発者の意図と異なる動作)が発生した場合、当該故障の原因を特定し、当該故障が発生しないようにプログラムを修正する。プログラムの故障を引き起こす原因を不具合(欠陥、フォールト、バグ)と呼ぶ。プログラムのソースファイル中から不具合を含む箇所を特定し、当該箇所を書き換えることで不具合を取り除く作業をデバッグと呼ぶ。ソフトウェア開発工程の中でもデバッグ作業には多くの時間を要することから、開発工程の短縮に向けてデバッグ支援技術が開発されている。不具合原因箇所抽出の自動化技術はその1つである。 In software development, when a program malfunctions (behavior different from what the developer intended), the cause of the malfunction must be identified and the program must be modified so that the malfunction does not occur again. The cause of a program malfunction is called a defect (fault, bug). The process of identifying the part of the program source file that contains the malfunction and rewriting that part to remove the malfunction is called debugging. As debugging is one of the most time-consuming parts of the software development process, debugging support technologies are being developed to shorten the development process. Automated technology for extracting the cause of the malfunction is one such example.

不具合原因箇所抽出の自動化技術の中で近年最も盛んに研究されている手法が、テストケースによるソースファイル(ソースコード)内の実行経路の情報を用いて自動で不具合原因箇所抽出を行うSpectrum-Based Fault Localization(SBFL)である。SBFLは、ソースファイル内の各行のうち、失敗テストケースで実行された行は不具合原因箇所である可能性が高く、成功テストケースで実行された行は不具合原因箇所である可能性が低い、というアイデアに基づいて不具合原因箇所抽出を行う手法である。SBFLでは、各行が失敗テストケース、及び成功テストケースで何回実行されたかという情報を用いて、その行が不具合原因箇所である可能性の高さを示す値(以下、「疑惑値」という。)が計算される。 The technique that has been most actively researched in recent years for automating fault location extraction is Spectrum-Based Fault Localization (SBFL), which uses information about the execution path in a source file (source code) by test cases to automatically extract the fault location. SBFL is a technique for extracting the fault location based on the idea that, among the lines in a source file, lines executed in a failing test case are likely to be the fault location, and lines executed in a successful test case are unlikely to be the fault location. SBFL uses information about how many times each line was executed in failing and successful test cases to calculate a value (hereinafter referred to as the "suspicion value") that indicates the likelihood that the line is the fault location.

SBFLでは、テストケース実行時の実行経路(実行した行)と、テストの成功/失敗に関する情報のみから疑惑値を付与している。このことからソースファイル内の複数の命令文において同じ値の疑惑値の行が多く存在し、その中で順位付けをすることができず、不具合箇所の絞込みが困難になる問題がある。 In SBFL, suspicion values are assigned based only on the execution path (the executed line) when the test case is executed and information about the success or failure of the test. This means that there are many lines with the same suspicion value in multiple statements in a source file, and it is not possible to rank them, making it difficult to narrow down the location of the problem.

図1では、SBFLを用いた結果で、同値疑惑値が多数発生する例を示している。具体的には、図1のソースコードでは、○印がついているL48の命令文が不具合箇所であるが、L45~L49まで同じ値の疑惑値0.6が付与されており、この場合、L45~L49までに順位の差はなく、不具合箇所の絞込みが困難となる。 Figure 1 shows an example where a large number of suspected equivalent values occur as a result of using SBFL. Specifically, in the source code in Figure 1, the command statement L48 marked with a circle is the defective part, but the same suspect value of 0.6 is assigned to L45 to L49. In this case, there is no difference in ranking from L45 to L49, making it difficult to narrow down the defective part.

SBFLの問題に対し、特許文献1ではSBFLでの同値疑惑値多数発生時に不具合箇所の絞込みを支援する技術が開示されている。具体的には、コード規約違反回数に基づいて違反回数が多いソースファイルに対して、SBFLで算出された疑惑値を高く補正する。 To address the problem with SBFL, Patent Document 1 discloses a technology that helps narrow down the problem areas when a large number of suspected equivalent values occur in SBFL. Specifically, the suspicion value calculated by SBFL is corrected to be higher for source files with a large number of violations based on the number of violations of code conventions.

特開2021-005171号公報JP 2021-005171 A

SBFLの他の問題は、不具合箇所の中でもテストが成功する割合が高い箇所について、不具合箇所以外の箇所よりも疑惑値が小さくなり、不具合箇所の取りこぼしが発生することである。 Another problem with SBFL is that defective areas with a high rate of successful testing have a lower suspicion value than non-defective areas, resulting in defects being missed.

図2では、SBFLを用いた結果で、不具合箇所の疑惑値が不具合でない箇所の疑惑値よりも小さな例を示している。具体的には、図2のソースコードでは、○印がついているL83およびL86の命令文が不具合箇所であるが、L86の命令文に関しては非不具合箇所であるL81、L82の疑惑値0.7よりも小さい疑惑値0.3が付与されており、L86の順位がL81、L82の順位よりも低くなる。 Figure 2 shows an example of the results of using SBFL where the suspicion value of a defective part is smaller than the suspicion value of a non-defective part. Specifically, in the source code in Figure 2, the command statements L83 and L86 marked with a circle are defective parts, but the command statement L86 is assigned a suspicion value of 0.3, which is smaller than the suspicion value of 0.7 of the non-defective parts L81 and L82, and the ranking of L86 is lower than the rankings of L81 and L82.

特許文献1に記載された技術では、SBFLで算出された同一の疑惑値に対して、コード規約違反回数という追加情報により優劣をつけているが、元々疑惑値が低い不具合箇所に対しては高い疑惑値を付与することができず、該当の不具合箇所を上位で抽出することができない。 In the technology described in Patent Document 1, the same suspicion value calculated by SBFL is ranked based on additional information, namely the number of violations of code rules. However, it is not possible to assign a high suspicion value to a defect that originally has a low suspicion value, and the relevant defect cannot be extracted as a high-ranking defect.

本発明は、不具合箇所に適切な疑惑値を付与することにより、開発者の不具合箇所特定作業を支援し、デバッグ作業を効率化することを主な課題とする。 The main objective of the present invention is to assist developers in identifying defective areas and to make debugging more efficient by assigning appropriate suspicion values to defective areas.

本発明の好ましい一側面は、ソースファイル内の各命令文間の関連性を示すソースファイル内関連性情報を取得する、ソースファイル内関連性取得部と、テストケースの実行結果を保持するテスト実行情報と、前記テストケース実行時の前記ソースファイル内の各命令文の実行回数に基づき算出される疑惑値を保持するテスト結果起点疑惑値情報と、前記ソースファイル内関連性情報と、を用いて疑惑値を算出し、再計算疑惑値情報を生成する疑惑値再付与部と、を備えることを特徴とする、不具合箇所特定支援装置である。 A preferred aspect of the present invention is a defect location identification support device, characterized by comprising: a source file relevance acquisition unit that acquires source file relevance information that indicates the relevance between each command statement in a source file; test execution information that holds the execution results of a test case; test result starting point suspicious value information that holds a suspicious value calculated based on the number of times each command statement in the source file is executed when the test case is executed; and a suspicious value reassignment unit that calculates a suspicious value using the source file relevance information and generates recalculated suspicious value information.

本発明の好ましい他の一側面は、情報処理装置を用いてソースファイル内の不具合箇所を特定する不具合箇所特定支援方法であって、ソースファイル内の各命令文間の関連性情報を含むソースファイル内関連性情報と、テストファイルを実行した際の例外発生箇所情報を含むテスト実行情報と、ソースファイル内の命令文にSBFLの手法で生成された疑惑値を付与したテスト結果起点疑惑値情報を用い、前記ソースファイル内関連性情報を用いて、前記例外発生箇所情報に対応する命令文と関連性の高い命令文を抽出し、抽出した命令文に前記テスト結果起点疑惑値情報が付与した疑惑値より高い疑惑値を与える、不具合箇所特定支援方法である。 Another preferred aspect of the present invention is a defect location identification support method for identifying defect locations in a source file using an information processing device, which uses source file relevance information including relevance information between each command statement in the source file, test execution information including information on where an exception occurs when a test file is executed, and test result origin suspicious value information in which a suspicious value generated by the SBFL method is assigned to a command statement in the source file, and the source file relevance information is used to extract a command statement that is highly related to the command statement corresponding to the exception occurrence location information, and assigns a suspicious value to the extracted command statement that is higher than the suspicious value assigned by the test result origin suspicious value information.

本発明によれば、不具合箇所に適切な疑惑値を付与することにより、開発者の不具合箇所特定作業を支援し、デバッグ作業を効率化することができる。 According to the present invention, by assigning an appropriate suspicion value to a defective part, it is possible to assist a developer in identifying the defective part and to make the debugging process more efficient.

複数の命令文に同値疑惑値が付与された例を示す表図である。FIG. 13 is a table showing an example in which suspected-equivalence values are assigned to a plurality of statements. 不具合箇所疑惑値が非不具合箇所疑惑値よりも小さく付与された例を示す表図である。13 is a table showing an example in which a suspected defect value is assigned smaller than a suspected non-defective defect value. 本発明の実施形態における不具合箇所特定支援装置のハードウェア構成例を示すブロック図である。1 is a block diagram showing an example of a hardware configuration of a defect point identification support device according to an embodiment of the present invention. 本発明の実施形態における不具合箇所特定支援装置の機能構成例を示すブロック図である。1 is a block diagram showing an example of a functional configuration of a defect point identification support device according to an embodiment of the present invention; 本発明の実施形態におけるソースファイル群の例を示すリスト図である。FIG. 4 is a list diagram showing an example of a source file group according to the embodiment of the present invention. 本発明の実施形態におけるテストファイル群の例を示すリスト図である。FIG. 11 is a list diagram showing an example of a test file group in the embodiment of the present invention. 本発明の実施形態におけるテスト実行情報の例を示す表図である。FIG. 11 is a table showing an example of test execution information according to an embodiment of the present invention. 本発明の実施形態におけるテスト結果起点疑惑値情報の例を示す表図である。FIG. 11 is a table showing an example of test result starting suspicious value information in an embodiment of the present invention. 本発明の実施形態におけるソースファイル内関連性情報の例を示す表図である。11 is a table showing an example of intra-source file correlation information in the embodiment of the present invention. FIG. 本発明の実施形態における不具合可能性情報の例を示す表図である。FIG. 11 is a table showing an example of malfunction possibility information in the embodiment of the present invention. 本発明の実施形態における再計算疑惑値情報の例を示す表図である。FIG. 13 is a table showing an example of recalculated suspicious value information in an embodiment of the present invention. 本発明の実施形態における不具合箇所特定支援処理のフローチャート図である。FIG. 4 is a flowchart of a defect location identification support process according to an embodiment of the present invention. 本発明の実施形態における疑惑値付与処理のフローチャート図である。FIG. 11 is a flowchart of a suspicious value assignment process according to an embodiment of the present invention.

以下、図面を参照しつつ、実施形態について説明する。以下の説明において、同一の又は類似する構成について同一の符号を付して、重複した説明を省略することがある。 The following describes the embodiments with reference to the drawings. In the following description, identical or similar components are designated by the same reference numerals, and duplicate descriptions may be omitted.

本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。 The present invention should not be interpreted as being limited to the description of the embodiments shown below. Those skilled in the art will easily understand that the specific configuration can be changed without departing from the concept or spirit of the present invention.

同一あるいは同様な機能を有する要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。ただし、複数の要素を区別する必要がない場合には、添字を省略して説明する場合がある。 When there are multiple elements with the same or similar functions, they may be described using the same reference numerals with different subscripts. However, when there is no need to distinguish between multiple elements, the subscripts may be omitted.

本明細書等における「第1」、「第2」、「第3」などの表記は、構成要素を識別するために付するものであり、必ずしも、数、順序、もしくはその内容を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。 The designations "first," "second," "third," and the like in this specification are used to identify components and do not necessarily limit the number, order, or content. Furthermore, numbers for identifying components are used in different contexts, and a number used in one context does not necessarily indicate the same configuration in another context. Furthermore, this does not prevent a component identified by a certain number from also serving the function of a component identified by another number.

図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。 The position, size, shape, range, etc. of each component shown in the drawings, etc. may not represent the actual position, size, shape, range, etc., in order to facilitate understanding of the invention. Therefore, the present invention is not necessarily limited to the position, size, shape, range, etc. disclosed in the drawings, etc.

本明細書で引用した刊行物、特許および特許出願は、そのまま本明細書の説明の一部を構成する。 The publications, patents and patent applications cited herein are incorporated by reference in their entirety into the present specification.

本明細書において単数形で表される構成要素は、特段文脈で明らかに示されない限り、複数形を含むものとする。 In this specification, elements expressed in the singular include the plural unless the context clearly indicates otherwise.

以下で説明される実施例では、例えば、SBFLで取りこぼす不具合箇所に対して、適切に疑惑値を付与することによって、開発者のデバッグ作業を効率化することを主な課題とする。このため、一つの実施例の不具合箇所特定支援装置は、ソースファイルを用いてソースファイル内関連性情報を抽出するソースファイル内関連性取得部と、テスト実行情報と、テスト結果起点疑惑値情報と、前記ソースファイル内関連性情報と、を用いて疑惑値を算出し付与する疑惑値再付与部と、を備える。さらに詳細な手段は後述する。 In the embodiment described below, the main objective is to improve the efficiency of debugging work by developers, for example by appropriately assigning suspicion values to defect locations that are overlooked by SBFL. To this end, a defect location identification support device in one embodiment includes an intra-source file relevance acquisition unit that uses source files to extract intra-source file relevance information, and a suspicion value reassignment unit that calculates and assigns suspicion values using test execution information, test result starting point suspicion value information, and the intra-source file relevance information. More detailed means will be described later.

図3は、不具合箇所特定支援装置100のハードウェア構成例である。不具合箇所特定支援装置100は、プロセッサ110、主記憶装置120、補助記憶装置130、入力装置140、出力装置150、及び通信装置160を備える。これらは図示しないバス等の通信手段を介して互いに通信可能に接続されている。 Figure 3 shows an example of the hardware configuration of the defect location identification support device 100. The defect location identification support device 100 includes a processor 110, a main memory device 120, an auxiliary memory device 130, an input device 140, an output device 150, and a communication device 160. These are connected to each other so that they can communicate with each other via a communication means such as a bus (not shown).

プロセッサ110は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)を用いて構成されている。プロセッサ110が、主記憶装置120に格納されているプログラムを読み出して実行することにより、不具合箇所特定支援装置100の様々な機能が実現される。 The processor 110 is configured using, for example, a CPU (Central Processing Unit) or an MPU (Micro Processing Unit). The processor 110 reads and executes a program stored in the main memory device 120, thereby realizing various functions of the defect location identification support device 100.

主記憶装置120は、プログラムやデータを記憶する装置であり、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、不揮発性半導体メモリ(NVRAM(Non Volatile RAM))等である。 The main memory device 120 is a device that stores programs and data, and is, for example, a read only memory (ROM), a random access memory (RAM), or a non-volatile semiconductor memory (NVRAM (Non Volatile RAM)).

補助記憶装置130は、例えば、ハードディスクドライブ、SSD(SolID State Drive)、光学式記憶装置(CD(Compact Disc)、DVD(Digital Versatile Disc)等)、ストレージシステム、ICカード、SDメモリカードや光学式記録媒体等の記録媒体の読取/書込装置、クラウドサーバの記憶領域等である。補助記憶装置130に格納されているプログラムやデータは主記憶装置120に随時読み込まれる。 The auxiliary storage device 130 is, for example, a hard disk drive, an SSD (SolID State Drive), an optical storage device (CD (Compact Disc), DVD (Digital Versatile Disc), etc.), a storage system, an IC card, a read/write device for recording media such as an SD memory card or optical recording media, a storage area of a cloud server, etc. The programs and data stored in the auxiliary storage device 130 are loaded into the main storage device 120 as needed.

入力装置140は、例えば、キーボード、マウス、タッチパネル、カードリーダ、音声入力装置等である。出力装置150は、ユーザに処理経過や処理結果等の各種情報を提供するユーザインタフェースであり、例えば、画面表示装置(液晶モニタ、LCD(Liquid Crystal Display)、グラフィックカード等)、音声出力装置(スピーカ等)、印字装置等である。尚、例えば、不具合箇所特定支援装置100が通信装置160を介して他の装置との間で情報の入力や出力を行う構成としてもよい。 The input device 140 is, for example, a keyboard, a mouse, a touch panel, a card reader, a voice input device, etc. The output device 150 is a user interface that provides the user with various information such as the process progress and the processing results, and is, for example, a screen display device (liquid crystal monitor, LCD (Liquid Crystal Display), graphics card, etc.), a voice output device (speaker, etc.), a printer, etc. For example, the defect location identification support device 100 may be configured to input and output information between it and other devices via the communication device 160.

通信装置160は、LANやインターネット等の通信手段を介した他の装置との間の通信を実現する有線方式又は無線方式の通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール、USB(Universal Serial Bus)モジュール、シリアル通信モジュール等である。 The communication device 160 is a wired or wireless communication interface that realizes communication with other devices via a communication means such as a LAN or the Internet, and is, for example, a NIC (Network Interface Card), a wireless communication module, a USB (Universal Serial Bus) module, a serial communication module, etc.

不具合箇所特定支援装置100のハードウェア構成は、単体のコンピュータで構成してもよいし、あるいは、任意の部分が、ネットワークで接続された他のコンピュータで構成されてもよい。 The hardware configuration of the defect location identification support device 100 may be configured as a stand-alone computer, or any part may be configured as another computer connected via a network.

ここで、本実施形態で使用する用語を定義する。「ソースファイル」は、ソフトウェア開発の対象となるプログラムであり、開発者の意図と異なる動作を引き起こす不具合を含んでいることもある。「命令文」は、ソースファイルを構成するプログラムステートメントである。「テストファイル」は、ソースコードの動作を検査するプログラムを格納したファイルである。「テストメソッド」は、テストコードをまとまった処理の単位で分割したものであり、1つのメソッドの動作を検査するプログラムである。テストコードは、1以上のテストメソッドを含む。「メソッド」は、サブルーチンであり、引数というデータをインプットし、戻り値というアウトプットを得る。 Here, we will define the terms used in this embodiment. A "source file" is a program that is the subject of software development, and may contain defects that cause behavior different from that intended by the developer. A "statement" is a program statement that constitutes a source file. A "test file" is a file that stores a program that checks the behavior of source code. A "test method" is a program that checks the behavior of a single method by dividing test code into units of integrated processing. Test code includes one or more test methods. A "method" is a subroutine that inputs data called arguments and obtains an output called a return value.

図4は不具合箇所特定支援装置の機能構成例を示す図である。不具合箇所特定支援装置100は、ソースファイル内関連性取得部210、不具合可能性判定部220、疑惑値再付与部230の各機能部を備える。これら機能部により実行される処理については、図12のフローチャートで後述する。 Figure 4 is a diagram showing an example of the functional configuration of a defect location identification support device. The defect location identification support device 100 includes the following functional units: a source file correlation acquisition unit 210, a defect possibility determination unit 220, and a suspicion value reassignment unit 230. The processing executed by these functional units will be described later with reference to the flowchart in Figure 12.

ソースファイル内関連性取得部210、不具合可能性判定部220、疑惑値再付与部230は、図3のプロセッサ110が主記憶装置120に格納された不具合箇所特定支援プログラムを実行することにより構成される。 The source file correlation acquisition unit 210, defect possibility determination unit 220, and suspicion value reassignment unit 230 are configured by the processor 110 in FIG. 3 executing the defect location identification support program stored in the main memory device 120.

情報記憶部240は、主に、図3の補助記憶装置130により構成される。情報記憶部240は、ソースファイル群241と、テストファイル群242と、テスト実行情報243と、テスト結果起点疑惑値情報244と、ソースファイル内関連性情報245と、不具合可能性情報246と、再計算疑惑値情報247と、を記憶する。これら情報記憶部290内の各種情報の詳細については、図5~図11にて後述する。 The information storage unit 240 is mainly composed of the auxiliary storage device 130 in FIG. 3. The information storage unit 240 stores a source file group 241, a test file group 242, test execution information 243, test result starting point suspicious value information 244, intra-source file correlation information 245, defect possibility information 246, and recalculated suspicious value information 247. Details of the various information in the information storage unit 290 will be described later with reference to FIGS. 5 to 11.

図5は、ソースファイル群241の例を示す図である。ソースファイル群241は、1以上のソースフォルダ510を含む。ソースフォルダ510は、フォルダ名がcoreである。ソースフォルダ510は、1以上のソースファイル520を含む。ソースファイル520は、ファイル名CreateCoreである。ソースファイル520は、1以上の行のソースコードを含み、図5では17行の例を示す。ソースファイル520は、1行目~17行目にcreateという名前のメソッドを含む。 Figure 5 is a diagram showing an example of a source file group 241. The source file group 241 includes one or more source folders 510. The source folder 510 has the folder name core. The source folder 510 includes one or more source files 520. The source file 520 has the file name CreateCore. The source file 520 includes one or more lines of source code, and Figure 5 shows an example of 17 lines. The source file 520 includes a method named create in lines 1 to 17.

なお、ソースフォルダは、1以上の他のソースフォルダを含んでもよい。また、ソースコードは、Java(登録商標)やC++等のプログラミング言語でもよく、その他の任意のプログラミング言語でもよい。 The source folder may contain one or more other source folders. The source code may be in a programming language such as Java (registered trademark) or C++, or any other programming language.

ソースファイル520に含まれる不具合について、5行目および7行目について、メソッド“createData”を呼び出しているが、本来はメソッド“createDate”を呼び出すべき箇所とすると、5行目および7行目の命令文は不具合箇所と言える。 The defect in source file 520 is that the method "createData" is called on lines 5 and 7, but if we assume that the method "createDate" should actually be called, then the statements on lines 5 and 7 can be considered to be the defective parts.

図6は、テストファイル群242の例を示す図である。テストファイル群242は、1以上のテストフォルダ610を含む。テストフォルダ610は、フォルダ名がcoretestである。テストフォルダ610は、1以上のテストファイル620を含む。テストファイル620は、ファイル名がCreateCoreTestである。 Figure 6 is a diagram showing an example of a test file group 242. The test file group 242 includes one or more test folders 610. The test folder 610 has the folder name coretest. The test folder 610 includes one or more test files 620. The test file 620 has the file name CreateCoreTest.

テストファイル620は、1以上の行のテストコードを含み、図6では23行の例を示す。テストファイル620は、1行目~5行目にtestCreate1という名前のテストメソッドを含み、7行目~11行目にtestCreate2という名前のテストメソッドを含み、13行目~17行目にtestCreate3という名前のテストメソッドを含み、19行目~23行目にtestCreate4という名前のテストメソッドを含む。テストメソッドtestCreate1と、testCreate2と、testCreate3と、testCreate4は全て、図5のソースファイル520に含まれるメソッドcreateの対応テストメソッドである。 Test file 620 includes one or more lines of test code; FIG. 6 shows an example of 23 lines. Test file 620 includes a test method named testCreate1 on lines 1 to 5, a test method named testCreate2 on lines 7 to 11, a test method named testCreate3 on lines 13 to 17, and a test method named testCreate4 on lines 19 to 23. Test methods testCreate1, testCreate2, testCreate3, and testCreate4 are all test methods corresponding to the method create included in source file 520 in FIG. 5.

図7は、SBFLの技法で用いるテスト実行情報243の例を示す図である。テスト実行情報243は、テストファイル620を実行した結果のログから生成でき、1以上のエントリを含む。テスト実行情報243のエントリは、テストファイルを実行した際の成功または失敗の結果と、失敗の場合の例外発生箇所情報と、のカラムを含む。例外発生箇所情報は、例えばテスト実行時のスタックトレースとして出力された情報が当てはまる。スタックトレースは、例外発生時にどの処理がどの順番で呼ばれたかを示す。 Figure 7 is a diagram showing an example of test execution information 243 used in the SBFL technique. The test execution information 243 can be generated from a log of the results of executing the test file 620, and includes one or more entries. An entry of the test execution information 243 includes columns for the success or failure result when the test file is executed, and information on the location where an exception occurred in the case of failure. The information on the location where an exception occurred corresponds to information output as a stack trace during test execution, for example. The stack trace indicates which processes were called and in what order when an exception occurred.

図7の例では、図6のテストファイル620を実行した際のテスト実行情報を示している。図7の例では、各カラムは、テストメソッド名、実行結果、失敗の場合の例外種類、失敗の場合の例外発生個所情報を含む。例外発生個所情報は、フォルダ名、ファイル名、行番号を含む。 The example in Figure 7 shows test execution information when the test file 620 in Figure 6 is executed. In the example in Figure 7, each column includes the test method name, execution result, exception type in case of failure, and information about the location where the exception occurred in case of failure. The information about the location where the exception occurred includes the folder name, file name, and line number.

図7では、テストメソッド“testCreate2”が失敗しており、AssertionErrorを発生していることを示している。また。AssertionError発生時に、図5に示すソースファイル“CreateCore”の5行目の命令文が処理されていることを示す。また、当該ソースファイル“CreateCore”の5行目の命令文が含まれるメソッド“create”が、図6のテストファイル“CreateCoreTest”の9行目の命令文で呼び出されていることを示す。 Figure 7 shows that the test method "testCreate2" has failed, causing an AssertionError. It also shows that the statement on line 5 of the source file "CreateCore" shown in Figure 5 is being processed when the AssertionError occurs. It also shows that the method "create", which contains the statement on line 5 of the source file "CreateCore", is being called by the statement on line 9 of the test file "CreateCoreTest" in Figure 6.

図8は、テスト結果起点疑惑値情報244の例を示す図である。テスト結果起点疑惑値情報244は、従来のSBFLの技法によってテストファイル620実行後に予め生成される。テスト結果起点疑惑値情報244は、1以上のエントリを含む。テスト結果起点疑惑値情報244のエントリは、対象のソースフォルダ名と、対象のソースファイル名と、対象の命令文の行番号と、対象の命令文の疑惑値と、のカラムを含む。 Figure 8 is a diagram showing an example of test result origin suspicious value information 244. Test result origin suspicious value information 244 is generated in advance after execution of test file 620 by conventional SBFL techniques. Test result origin suspicious value information 244 includes one or more entries. An entry of test result origin suspicious value information 244 includes columns for the target source folder name, the target source file name, the line number of the target statement, and the suspicious value of the target statement.

疑惑値は、ソースファイル内の各命令文が、失敗テストメソッド、及び成功テストメソッドで何回実行されたかという情報を用いて算出される。特許文献1の技術等により疑惑値を修正してもよい。図8は、図6のテストコード実行時に、図5に示すソースファイルに対して生成されたテスト結果起点疑惑値情報を示す。 The suspicion value is calculated using information on how many times each statement in the source file was executed in failing test methods and passing test methods. The suspicion value may be modified using the technology of Patent Document 1, for example. Figure 8 shows test result origin suspicion value information generated for the source file shown in Figure 5 when the test code in Figure 6 is executed.

図8に示すテスト結果起点疑惑値情報では、図5に示すソースファイル“CreateCore”の不具合箇所である5行目の命令文に対しては疑惑値1.0が、7行目の命令文に関しては疑惑値0.0が付与されており、特に7行目の命令文に関しては不具合箇所でない他の命令文よりも疑惑値が低い。 In the test result starting suspicion value information shown in Figure 8, the command statement on line 5, which is the defective part of the source file "CreateCore" shown in Figure 5, is assigned a suspicion value of 1.0, and the command statement on line 7 is assigned a suspicion value of 0.0. In particular, the command statement on line 7 has a lower suspicion value than the other command statements that are not defective.

図9は、ソースファイル内関連性情報245の例を示す図である。ソースファイル内関連性取得部210は、ソースファイルを入力としてソースファイル内関連性情報245を生成する。また、ソースファイル内関連性情報245は、併せて不具合可能性情報246を入力としてもよい。 Figure 9 is a diagram showing an example of intra-source-file relevance information 245. The intra-source-file relevance acquisition unit 210 uses a source file as input to generate intra-source-file relevance information 245. In addition, the intra-source-file relevance information 245 may also use defect possibility information 246 as input.

ソースファイル内関連性情報245は、1以上のエントリを含む。ソースファイル内関連性情報245のエントリは、比較元の命令文を含むソースファイル名と、比較元命令文の行番号と、関連する命令文を含むソースファイル名と、関連する命令文の行番号と、比較元命令文との関連性と、のカラムを含む。関連性の種類としては、類似命令文、使用変数設定命令文、などがある。比較元の命令文を含むソースファイルと関連する命令文を含むソースファイルは、同じものでもよいし、異なるものでもよい。 The source file relevance information 245 includes one or more entries. An entry of the source file relevance information 245 includes columns for the source file name including the original statement to be compared, the line number of the original statement to be compared, the source file name including the related statement, the line number of the related statement, and the relevance to the original statement to be compared. Types of relevance include similar statements, used variable setting statements, etc. The source file including the original statement to be compared and the source file including the related statement may be the same or different.

ソースファイル内関連性取得部210によるソースファイル内関連性情報245の生成についての詳細は、図12のS1210に示し後述する。 Details about the generation of the source file relevance information 245 by the source file relevance acquisition unit 210 are shown in S1210 of FIG. 12 and will be described later.

図10は、不具合可能性情報246の例を示す図である。不具合可能性判定部220では、ソースファイルと、テスト実行情報243と、テスト結果起点疑惑値情報244と、を入力として、ソソースファイル内の各命令文の不具合可能性を判定し、不具合可能性情報246を生成する。 Figure 10 is a diagram showing an example of defect possibility information 246. The defect possibility determination unit 220 receives the source file, the test execution information 243, and the test result starting point suspicious value information 244 as input, determines the defect possibility of each command statement in the source file, and generates defect possibility information 246.

不具合可能性情報246は1以上のエントリを含む。不具合可能性情報246のエントリは、ソースファイル名と、行番号と、不具合可能性の値と、不具合可能性の値設定の理由と、のカラムを含む。不具合可能性の値とは図10のようにレベルで示してもよいし、定量的な値で示してもよい。不具合可能性判定部220による不具合可能性情報246の生成についての詳細は、図12のS1220に示し後述する。 The malfunction possibility information 246 includes one or more entries. An entry of the malfunction possibility information 246 includes columns for the source file name, the line number, the malfunction possibility value, and the reason for setting the malfunction possibility value. The malfunction possibility value may be indicated by a level as in FIG. 10, or may be indicated by a quantitative value. Details of the generation of the malfunction possibility information 246 by the malfunction possibility determination unit 220 are shown in S1220 of FIG. 12 and will be described later.

図11は、再計算疑惑値情報247の例を示す図である。疑惑値再付与部230は、ソースファイル群241と、テスト実行情報243と、テスト結果起点疑惑値情報244と、ソースファイル内関連性情報245と、を入力として、再計算疑惑値情報247を生成する。また、疑惑値再付与部230は、併せて不具合可能性情報246を入力としてもよい。 Figure 11 is a diagram showing an example of recalculated suspicious value information 247. The suspicious value reassignment unit 230 receives as input a source file group 241, test execution information 243, test result starting suspicious value information 244, and intra-source file correlation information 245, and generates recalculated suspicious value information 247. The suspicious value reassignment unit 230 may also receive as input fault possibility information 246.

再計算疑惑値情報247は、1つ以上のエントリを含む。再計算疑惑値情報247のエントリは、対象のフォルダ名と、対象のソースファイル名と、対象の命令文の行番号と、対象の命令文の疑惑値と、のカラムを含む。また、再計算疑惑値情報247のエントリは、併せて、テスト結果起点疑惑値情報244から疑惑値の変更があった場合、疑惑値変更内容と、疑惑値変更理由のカラムを含んでもよい。疑惑値再付与部230による再計算疑惑値情報247の生成についての詳細は、図12のS1230に示す。 The recalculated suspicious value information 247 includes one or more entries. An entry of the recalculated suspicious value information 247 includes columns for the target folder name, the target source file name, the line number of the target command statement, and the suspicious value of the target command statement. In addition, if there has been a change in the suspicious value from the test result starting suspicious value information 244, the entry of the recalculated suspicious value information 247 may also include columns for the suspicious value change content and the suspicious value change reason. Details of the generation of the recalculated suspicious value information 247 by the suspicious value reassignment unit 230 are shown in S1230 of FIG. 12.

図12は、不具合箇所特定支援装置100が実施する処理(以下、不具合箇所特定支援処理1200と称する)を説明するフローチャートである。以下、図12を用いて、不具合箇所特定支援処理1200について説明する。尚、不具合箇所特定支援装置100は、例えば、ユーザからの指示を契機として不具合箇所特定支援処理1200を開始する。また、不具合箇所特定支援装置100は、例えば、スケジュールされたタイミングでバッチ処理等により自動的に不具合箇所特定支援処理1200を開始する。以下において、符号の前に付している文字「S」は処理ステップを意味する。 Figure 12 is a flowchart explaining the process performed by the defect location identification support device 100 (hereinafter referred to as defect location identification support process 1200). The defect location identification support process 1200 will be explained below with reference to Figure 12. Note that the defect location identification support device 100 starts the defect location identification support process 1200, for example, in response to an instruction from a user. Also, the defect location identification support device 100 starts the defect location identification support process 1200 automatically, for example, by batch processing at a scheduled timing. In the following, the letter "S" before the reference symbol indicates a processing step.

まず、ソースファイル内関連性取得部210は、情報記憶部240に記憶されているソースファイル群241を読み込み、ソースファイル520内の各命令文に対して、他命令文との命令文との関連性を抽出し、ソースファイル内関連性情報245を生成する(S1210)。 First, the source file relevance acquisition unit 210 reads the source file group 241 stored in the information storage unit 240, extracts the relevance of each command statement in the source file 520 to other command statements, and generates source file relevance information 245 (S1210).

抽出する関連性の種類としては、類似命令文、使用変数設定命令文、などがある。類似命令文と使用変数設定命令の抽出について、図5に示すソースファイル520を用いて説明する。尚、図9は、図5のソースファイルを入力としてソースファイル内関連性取得部210が生成するソースファイル内関連性情報245を示す。 The types of relationships that can be extracted include similar command statements, used variable setting command statements, etc. The extraction of similar command statements and used variable setting commands will be explained using the source file 520 shown in FIG. 5. Note that FIG. 9 shows the source file relationship information 245 that is generated by the source file relationship acquisition unit 210 using the source file in FIG. 5 as input.

まず、類似命令文の抽出について説明する。類似命令文は、命令文相互において共通する要素が含まれる度合いで判断することができる。類似命令文の判断は、例えば命令文に含まれるトークン(変数名、メソッド名など)の種類数を用いて、比較元命令文に含まれるトークンと、比較先命令文に含まれるトークンの共通トークン数を求め、共通トークン数と比較先命令文に含まれるトークン数の差分が、予め設定する閾値以下であれば類似と判断する。 First, we will explain how to extract similar command statements. Similar command statements can be determined by the degree to which the command statements contain elements in common. To determine whether a command statement is similar, for example, the number of types of tokens (variable names, method names, etc.) contained in the command statements is used to calculate the number of tokens common to the tokens contained in the source command statement and the tokens contained in the target command statement. If the difference between the number of common tokens and the number of tokens contained in the target command statement is below a preset threshold, the command statements are determined to be similar.

図9のソースファイル内関連性情報を求める例では、類似命令文探索の際の、共通トークン数と比較先命令文に含まれるトークン数の差分の閾値を1とする。図5のソースファイル520では、比較元命令文である5行目の命令文に含まれるトークンは(String、result、createData、str、name)、比較先命令文である7行目の命令文のトークンは(String、result、createData、name)となり、比較元命令文と比較先命令文の共通トークン数は4となる。共通トークン数と比較先命令文に含まれるトークン数の差分は、|4-5|=1となり、閾値1以下となるため、比較先命令文である7行目の命令文は比較元である5行目の命令文の類似命令文と判断される。そのため、図9に示すソースファイル内関連性情報245では、比較元命令文であるCreateCoreファイルの5行目の類似命令文として、同じくCreateCoreファイルの7行目が該当する、と示している。 In the example of obtaining the intra-source file relevance information in FIG. 9, the threshold value of the difference between the number of common tokens and the number of tokens contained in the comparison target command statement when searching for similar commands is set to 1. In the source file 520 in FIG. 5, the tokens contained in the command statement on the fifth line, which is the comparison source command statement, are (String, result, createData, str, name), and the tokens of the command statement on the seventh line, which is the comparison target command statement, are (String, result, createData, name), and the number of common tokens between the comparison source command statement and the comparison target command statement is 4. The difference between the number of common tokens and the number of tokens contained in the comparison target command statement is |4-5|=1, which is less than the threshold value of 1, so the command statement on the seventh line, which is the comparison target command statement, is determined to be a similar command statement to the command statement on the fifth line, which is the comparison source command statement. Therefore, the intra-source file relevance information 245 shown in FIG. 9 indicates that the seventh line of the CreateCore file corresponds to a command statement similar to the fifth line of the comparison source command statement, which is the comparison source command statement.

なお、差分の閾値は任意であり、また差分で判定する他、比較先命令文に含まれるトークン中の共通トークン数の比率等で判断してもよい。 The difference threshold can be set arbitrarily, and in addition to judging based on the difference, it can also be judged based on the ratio of the number of common tokens among the tokens contained in the compared command statements.

続いて、使用変数設定命令文の抽出について説明する。使用変数設定命令文とは、比較元命令文で使用している変数に、値を代入する命令文のことである。使用変数設定命令文の判断は、例えば比較元命令文にメソッド呼出し命令が含まれる場合に、該当のメソッド呼出しで引数として用いている変数に対して直近で値を代入している命令文を、構文木解析を用いて探索することにより実施する。 Next, we will explain how to extract used variable setting statements. A used variable setting statement is a statement that assigns a value to a variable used in the comparison source statement. For example, if the comparison source statement contains a method call statement, used variable setting statements are identified by using syntax tree analysis to search for the statement that most recently assigned a value to the variable used as an argument in the method call.

ここで、図5のソースファイル520では、比較元命令文である5行目のメソッド呼出し“createData(str, name)”での引数“name”に直近で値を代入している命令文は、3行目の“String name = tmp.get(“data”);”であるため、3行目の命令文は5行目の命令文に対する使用変数設定命令文と判断される。そのため、図9に示すソースファイル内関連性情報では、比較元命令文であるCreateCoreファイルの5行目の使用変数設定箇所として、同じくCreateCoreファイルの3行目が該当する、と示している。 Here, in source file 520 in FIG. 5, the statement that most recently assigned a value to the argument "name" in the method call "createData(str, name)" on line 5, which is the source statement, is "String name = tmp.get("data");" on line 3, so the statement on line 3 is determined to be the variable setting statement for the statement on line 5. Therefore, the intra-source file relevance information shown in FIG. 9 indicates that line 3 of the CreateCore file corresponds to the variable setting location on line 5 of the source statement.

このように、同じパラメータに対して定義、代入、あるいは使用等の処理を行う命令文は相互に関連する可能性が高く、共通して不具合が発生する可能性がある。 In this way, statements that define, assign, or use the same parameter are likely to be interrelated, and may cause common problems.

次に、不具合可能性判定部220は、ソースファイル520と、テスト実行情報243と、テスト結果起点疑惑値情報244を読み込み、ソースファイル内の各命令文の不具合可能性を判定し、不具合可能性情報246を生成する(S1220)。このとき、ソースファイル群241には、通常複数のソースファイルが含まれているので、例えばソースファイルを1件ずつ呼び出して、判定対象ソースファイルとして不具合を判定する。 Next, the defect possibility determination unit 220 reads the source file 520, the test execution information 243, and the test result starting point suspicious value information 244, determines the defect possibility of each command statement in the source file, and generates defect possibility information 246 (S1220). At this time, since the source file group 241 usually includes multiple source files, for example, the source files are called up one by one and a defect is determined for each source file to be determined.

ソースファイル内の命令文に対する不具合可能性の判定について、図5に示すソースファイルと、図7に示すテスト実行情報と、図8に示すテスト結果起点疑惑値情報と、を用いて説明する。尚、図10に示す不具合可能性情報246は、図5に示すソースファイル520と、図7に示すテスト実行情報243と、図8に示すテスト結果起点疑惑値情報244と、を入力として不具合可能性判定部220が生成する不具合可能性情報を示す。 The determination of the possibility of a malfunction for a statement in a source file will be explained using the source file shown in FIG. 5, the test execution information shown in FIG. 7, and the test result starting point suspicious value information shown in FIG. 8. Note that the malfunction possibility information 246 shown in FIG. 10 indicates the malfunction possibility information generated by the malfunction possibility determination unit 220 using the source file 520 shown in FIG. 5, the test execution information 243 shown in FIG. 7, and the test result starting point suspicious value information 244 shown in FIG. 8 as input.

不具合可能性判定部220は、例えば、テスト実行情報243の例外発生箇所情報で示されるソースファイルの命令文について、例外発生時に呼び出されていることから不具合可能性を高いと判断し、不具合可能性が高いことを示す情報を付与する。図7のテスト実行情報243の例では、図5に示すソースファイル”CreateCore”について、5行目の命令文で例外発生時に呼び出されていると示されている。そのため、図10では、ソースファイル”CreateCore”の5行目について、不具合可能性の値を“高”としている。また、不具合可能性“高”の判断理由として、「例外発生箇所」であることを示している。 For example, the malfunction possibility determination unit 220 determines that the command statement of the source file indicated in the exception occurrence location information of the test execution information 243 is highly likely to be malfunctioning because it was called when the exception occurred, and assigns information indicating a high malfunction possibility. In the example of the test execution information 243 in FIG. 7, the command statement on the fifth line indicates that the source file "CreateCore" shown in FIG. 5 is called when the exception occurred. Therefore, in FIG. 10, the malfunction possibility value for the fifth line of the source file "CreateCore" is set to "high". In addition, the reason for the "high malfunction possibility" is indicated as "exception occurrence location".

また、不具合可能性判定部220は、例えば、テスト結果起点疑惑値情報244で示される疑惑値が最も高い命令文について、失敗テストでの実行される傾向にあり、かつ成功テストで実行されない傾向にあることから、不具合可能性が高いと判断する。これは従来のSBFLの原理に基づく処理である。 In addition, the defect possibility determination unit 220 determines that the instruction statement with the highest suspicion value indicated in the test result starting point suspicion value information 244 has a high probability of being defective because it tends to be executed in failing tests and tends not to be executed in passing tests. This is processing based on the conventional SBFL principle.

図8のテスト結果起点疑惑値情報244の例では、図5に示すソースファイル”CreateCore”について、3行目と、4行目と、5行目の命令文に最高疑惑値1.0が付与されていることを示している。そのため、図10では、ソースファイル”CreateCore”の3行目と、4行目と、5行目について、不具合可能性の値を“高”としている。また、”CreateCore”の3行目と、4行目の不具合可能性“高”の判断理由として、「テスト起因疑惑値最高箇所」であることを示している。 The example of test result origin suspicion value information 244 in Figure 8 shows that for the source file "CreateCore" shown in Figure 5, the command statements on lines 3, 4, and 5 have been assigned a maximum suspicion value of 1.0. Therefore, in Figure 10, the malfunction possibility value is set to "high" for lines 3, 4, and 5 of the source file "CreateCore". In addition, the reason for determining that lines 3 and 4 of "CreateCore" have a "high" malfunction possibility is shown to be that they are the "locations with the highest test-induced suspicion value."

ここで、ソースファイル”CreateCore”の5行目のように、テスト起因疑惑値最高箇所と例外発生箇所であることが重複する場合には、双方の不具合可能性判断理由を示しても、図10のようにどちらか一方のみの不具合可能性判断理由を示しても、どちらかの表記をして構わない。 Here, in the case where the location of the highest test suspected value and the location where an exception occurred overlap, as in the fifth line of the source file "CreateCore", it is acceptable to indicate either the reason for determining the possibility of a malfunction for both, or the reason for determining the possibility of a malfunction for only one of them, as in Figure 10.

また、不具合可能性判定部220は、ソースファイル内の不具合に関係しない特定種類の命令を抽出し、不具合可能性が低いことを示す情報を付加する。例えば、ソースファイル内のデバッグ用の命令文について、テスト実行結果に関連しないことから、不具合可能性が低いと判断する。図5のソースファイルの例では、11行目および14行目の命令文“ System.err.println(e.getMessage());”は標準エラー出力を、12行目および15行目の命令文“e.printStackTrace();”はスタックトレースへの出力を意味し、それぞれデバッグ用の命令である。そのため、図10では、ソースファイル“CreateCore”の11行目と、12行目と、14行目と、15行目について、不具合可能性の値を“低”としている。また、不具合可能性“低”の判断理由として、「デバッグ命令」であることを示している。 The defect possibility determination unit 220 also extracts specific types of instructions in the source file that are not related to defects, and adds information indicating that the defect possibility is low. For example, it determines that a debug command in the source file has a low defect possibility because it is not related to the test execution results. In the example source file in FIG. 5, the command "System.err.println(e.getMessage());" in lines 11 and 14 indicates standard error output, and the command "e.printStackTrace();" in lines 12 and 15 indicates output to a stack trace, and are both debug commands. Therefore, in FIG. 10, the defect possibility values for lines 11, 12, 14, and 15 of the source file "CreateCore" are set to "low". Also, the reason for determining the defect possibility as "low" is indicated as "debug command".

ここで、不具合箇所特定支援処理1200の処理ステップの順序について、ソースファイル内関連性取得部210の実行(S1210)と、不具合可能性判定部220の処理(S1220)の順序は前後しても良い。すなわち、S1230の前に両者が準備できれば良い。 Here, regarding the order of the processing steps of the defect location identification support process 1200, the order of execution of the source file relation acquisition unit 210 (S1210) and the processing of the defect possibility determination unit 220 (S1220) may be reversed. In other words, it is sufficient if both are prepared before S1230.

不具合可能性判定部220を先に実行する場合、後に実行するソースファイル内関連性取得部210では、ソースファイルと併せて、不具合可能性情報246を入力として読み込んでもよい。ソースファイル内関連性取得部210で不具合可能性情報246を読み込んだ場合は、不具合可能性情報246で不具合可能性が“高”と示されている箇所のみを比較元命令文として、関連する命令文情報を抽出してもよい。 When the defect possibility determination unit 220 is executed first, the source file relation acquisition unit 210, which is executed later, may read the defect possibility information 246 as an input together with the source file. When the source file relation acquisition unit 210 reads the defect possibility information 246, only the parts indicated as having a "high" defect possibility in the defect possibility information 246 may be used as the comparison source command statements to extract related command statement information.

次に、疑惑値再付与部230は、テスト実行情報243と、テスト結果起点疑惑値情報244と、ソースファイル内関連性情報245と、不具合可能性情報246を用いて疑惑値を算出し、再計算疑惑値情報247を生成する(S1230)。 Next, the suspicion value reassignment unit 230 calculates the suspicion value using the test execution information 243, the test result starting point suspicion value information 244, the intra-source file relevance information 245, and the defect possibility information 246, and generates recalculated suspicion value information 247 (S1230).

図13は、疑惑値再付与部230が実施する処理(以下、疑惑値再付与処理1300と称する)を説明するフローチャートである。以下、図13を用いて、図11に示す再計算疑惑値情報を生成する疑惑値再付与処理1300について説明する。尚、図11に示す再計算疑惑値情報は、図5に示すソースファイルに関して、図7に示すテスト実行情報と、図8に示すテスト結果起点疑惑値情報と、図9に示すソースファイル内関連性情報と、図10に示す不具合可能性情報を用いて疑惑値を再付与した結果を表す。また、疑惑値再付与部230は、例えば、スケジュールされたタイミングでバッチ処理等により自動的に疑惑値再付与処理1300を開始する。 Figure 13 is a flowchart explaining the process performed by the suspicious value reassignment unit 230 (hereinafter referred to as suspicious value reassignment process 1300). Hereinafter, the suspicious value reassignment process 1300 for generating the recalculated suspicious value information shown in Figure 11 will be explained with reference to Figure 13. Note that the recalculated suspicious value information shown in Figure 11 represents the result of reassigning suspicious values for the source file shown in Figure 5 using the test execution information shown in Figure 7, the test result starting suspicious value information shown in Figure 8, the source file correlation information shown in Figure 9, and the defect possibility information shown in Figure 10. In addition, the suspicious value reassignment unit 230 automatically starts the suspicious value reassignment process 1300 by batch processing or the like at a scheduled timing, for example.

まず、疑惑値再付与部230は、テスト結果起点疑惑値情報244の情報を参照して、再計算疑惑値情報247の元データを生成する(S1310)。具体的には、例えば、図8に示すテスト結果起点疑惑値情報244のエントリに、疑惑値変更内容のカラムと疑惑値変更理由のカラムを付け加えたデータを、再計算疑惑値情報247の元データとする。 First, the suspicious value reassignment unit 230 generates the original data of the recalculated suspicious value information 247 by referring to the information of the test result starting suspicious value information 244 (S1310). Specifically, for example, data in which a column of suspicious value change content and a column of suspicious value change reason are added to the entry of the test result starting suspicious value information 244 shown in FIG. 8 is used as the original data of the recalculated suspicious value information 247.

次に、疑惑値再付与部230は、不具合可能性が高い命令文の関連命令文に疑惑値を付与し、再計算疑惑値情報247を更新する(S1320)。具体的には、不具合可能性情報246にて不具合可能性が“高”と示されている命令文の関連命令文情報を、ソースファイル内関連性情報245から抽出する。そして、再計算疑惑値情報247に該当の命令文情報が存在する場合は再計算疑惑値情報247の該当疑惑値を書換え、再計算疑惑値情報247に該当の命令文情報が存在しない場合は命令文情報および疑惑値情報を追加する。不具合可能性が高い命令文に関連性のある命令文に対する疑惑値算出としては、例えば、テスト結果起点疑惑値情報における最高疑惑値を付与する。以下で具体例を説明する。 Next, the suspicion value reassignment unit 230 assigns a suspicion value to the command statements related to the command statement with a high probability of malfunction, and updates the recalculated suspicion value information 247 (S1320). Specifically, the related command statement information of the command statement indicated as having a "high" probability of malfunction in the malfunction possibility information 246 is extracted from the source file relevance information 245. Then, if the corresponding command statement information exists in the recalculated suspicion value information 247, the corresponding suspicion value in the recalculated suspicion value information 247 is rewritten, and if the corresponding command statement information does not exist in the recalculated suspicion value information 247, the command statement information and the suspicion value information are added. For example, the highest suspicion value in the test result starting point suspicion value information is assigned as the suspicion value for the command statement related to the command statement with a high probability of malfunction. A specific example is described below.

図10に示す不具合可能性情報で不具合可能性が“高”と示されている、ソースファイル“CreateCore”の5行目の命令文に関連性のある命令文は、図9に示すソースファイル内関連性情報から、ソースファイル“CreateCore”の7行目と3行目の命令文が該当することが分かる。そのため、疑惑値再付与部230は、ソースファイル“CreateCore”の7行目と3行目の命令文に対し、図8に示すテスト結果起点疑惑値情報の最高疑惑値1.0を付与し、再計算疑惑値情報を更新する。 The source file relevance information shown in FIG. 9 reveals that the command statements related to the command statement on line 5 of the source file "CreateCore", which has a "high" defect possibility in the defect possibility information shown in FIG. 10, are the command statements on lines 7 and 3 of the source file "CreateCore". Therefore, the suspicion value reassignment unit 230 assigns the highest suspicion value of 1.0 in the test result starting point suspicion value information shown in FIG. 8 to the command statements on lines 7 and 3 of the source file "CreateCore", and updates the recalculated suspicion value information.

更新した結果は、図11の再計算疑惑値情報の例の#4行目に示される。尚、ソースファイル“CreateCore”の3行目の命令文については、図8に示すテスト結果起点疑惑値情報にて既に最高疑惑値1.0が付与されているため、疑惑値の変更はない。以上から、図5に示すソースファイル“CreateCore”内の不具合箇所である7行目の命令文に対し、適切に疑惑値が付与されることが分かる。 The updated result is shown in line #4 of the example of recalculated suspicion value information in Figure 11. Note that the suspicion value for the command statement on line #3 of the source file "CreateCore" is unchanged, since it has already been assigned the highest suspicion value of 1.0 in the test result starting suspicion value information shown in Figure 8. From the above, it can be seen that an appropriate suspicion value is assigned to the command statement on line #7, which is the defective part in the source file "CreateCore" shown in Figure 5.

以上の操作では、不具合可能性が高い命令文に関連する命令文の疑惑値を増加するという処理を行っている。上記の例では、関連する命令文に最高疑惑値1.0を付与することにしているが、所定点数を加算したり、係数をかけるなどしてもよい。 The above operations increase the suspicion value of commands related to commands that are likely to be defective. In the above example, the highest suspicion value of 1.0 is assigned to the related commands, but a specified number of points may be added or a coefficient may be multiplied.

次に、疑惑値再付与部230は、不具合可能性が高い命令文に疑惑値を付与し、再計算疑惑値情報247を更新する(S1330)。具体的には、不具合可能性情報246にて不具合可能性が“高”と示されている命令文を抽出する。そして、再計算疑惑値情報247に該当の命令文情報が存在する場合は再計算疑惑値情報247の該当疑惑値を書換え、再計算疑惑値情報247に該当の命令文情報が存在しない場合は命令文情報および疑惑値情報を追加する。例外発生箇所の命令文に対する疑惑値算出としては、例えば、テスト結果起点疑惑値情報244の最高疑惑値よりも高い疑惑値を付与する。以下で具体例を示す。 Next, the suspicion value reassignment unit 230 assigns a suspicion value to the command statement with a high probability of malfunction, and updates the recalculated suspicion value information 247 (S1330). Specifically, it extracts command statements whose malfunction possibility information 246 indicates a "high" probability of malfunction. If the recalculated suspicion value information 247 contains the corresponding command statement information, it rewrites the corresponding suspicion value in the recalculated suspicion value information 247, and if the recalculated suspicion value information 247 does not contain the corresponding command statement information, it adds the command statement information and the suspicion value information. For example, the suspicion value calculation for the command statement where the exception occurred is performed by assigning a suspicion value higher than the highest suspicion value in the test result starting point suspicion value information 244. A specific example is shown below.

図10に示す不具合可能性情報にて不具合可能性が“高”と示されているソースファイル“CreateCore”の5行目の命令文は例外発生箇所であることが分かる。そのため、疑惑値再付与部230は、ソースファイル“CreateCore”の5行目の命令文に対し、図8に示すテスト結果起点疑惑値情報の最高疑惑値1.0よりも高い疑惑値1.5を付与し、再計算疑惑値情報を更新する。更新した結果は、図11の再計算疑惑値情報の例の#1行目に示される。以上から、図5に示すソースファイル“CreateCore”内の不具合箇所である5行目の命令文に対し、それ以外の箇所よりも高い疑惑値が付与されたことが分かる。 It can be seen that the command statement on line 5 of the source file "CreateCore", which is indicated as having a "high" defect possibility in the defect possibility information shown in Figure 10, is the location where the exception occurred. Therefore, the suspicion value reassignment unit 230 assigns a suspicion value of 1.5, which is higher than the highest suspicion value of 1.0 in the test result starting point suspicion value information shown in Figure 8, to the command statement on line 5 of the source file "CreateCore", and updates the recalculated suspicion value information. The updated result is shown in line #1 of the example of recalculated suspicion value information in Figure 11. From the above, it can be seen that a higher suspicion value has been assigned to the command statement on line 5, which is the defect location in the source file "CreateCore" shown in Figure 5, than to other locations.

次に、疑惑値再付与部230は、再計算疑惑値情報247が保持する、不具合可能性が低い命令文の疑惑値情報を削除する(S1340)。具体的には、不具合可能性情報246にて不具合可能性が“低”と示されている命令文に対して、再計算疑惑値情報247に疑惑値情報が存在する場合は、該当の疑惑値情報を削除する。以下で具体例を示す。 Next, the suspicious value reassignment unit 230 deletes the suspicious value information of the command statement with a low malfunction probability held in the recalculated suspicious value information 247 (S1340). Specifically, if suspicious value information exists in the recalculated suspicious value information 247 for a command statement whose malfunction probability is indicated as "low" in the malfunction possibility information 246, the suspicious value information is deleted. A specific example is shown below.

図10に示す不具合可能性情報にて不具合可能性が“低”と示されているソースファイル“CreateCore”の11行目および12行目の命令文について、図8に示すテスト結果起点疑惑値情報にて疑惑値0.25が付与されている。そのため、疑惑値再付与部230は、疑惑値再付与情報からソースファイル“CreateCore”の11行目および12行目の疑惑値を削除する。削除した結果は、図11の再計算疑惑値情報の例の#11行目および#12行目に示される。以上から、図5に示すソースファイル“CreateCore”内の命令文の内、テスト実行結果に関連せず、不具合になりえない箇所に疑惑値が付与されないことが分かる。 The statements in lines 11 and 12 of the source file "CreateCore", which are indicated as having a "low" defect possibility in the defect possibility information shown in FIG. 10, are assigned a suspicion value of 0.25 in the test result starting suspicious value information shown in FIG. 8. Therefore, the suspicious value reassignment unit 230 deletes the suspicious values in lines 11 and 12 of the source file "CreateCore" from the suspicious value reassignment information. The result of the deletion is shown in lines #11 and #12 of the example of recalculated suspicious value information in FIG. 11. From the above, it can be seen that suspicious values are not assigned to the statements in the source file "CreateCore" shown in FIG. 5 that are not related to the test execution results and cannot be defects.

以上説明したように、本実施形態に係る不具合箇所特定支援装置100は、不具合可能性が高い例外発生箇所などの命令文に関連性がある命令文をソースファイル内関連性情報245をもとに特定し、高い疑惑値を付与する。これにより、テスト結果起点の疑惑値算出結果に対して同値疑惑値の補正を実施する方法に比べて、不具合箇所の命令文の疑惑値を高めて取りこぼしを防ぐことができるため、不具合箇所特定の工程を効率化する。 As described above, the defect location identification support device 100 according to this embodiment identifies command statements that are related to command statements such as exception occurrence points that are likely to be defective based on the intra-source file relevance information 245, and assigns a high suspicion value to them. This increases the suspicion value of command statements at defective points to prevent them from being overlooked, compared to a method in which the suspicion value calculation results based on the test results are corrected to the same suspicion value, thereby making the process of identifying defective points more efficient.

また、本実施形態に係る不具合箇所特定支援装置100は、不具合可能性情報246に応じてテスト結果起点の疑惑値を操作する。これにより、テスト結果起点疑惑値情報244の同値疑惑値の補正にも対応することができる。 The defect location identification support device 100 according to this embodiment also manipulates the suspected value of the test result starting point according to the defect possibility information 246. This makes it possible to also correct the equivalence suspected value of the test result starting point suspected value information 244.

なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。 The present invention is not limited to the above-described embodiment, and can be modified as appropriate without departing from the spirit of the present invention.

100…不具合箇所特定支援装置、210…ソースファイル内関連性取得部、220…不具合可能性判定部、230…疑惑値再付与部、240…情報記憶部、241…ソースファイル群、242…テストファイル群、243…テスト実行情報、244手数と結果起点疑惑値情報、245…ソースファイル内関連性情報、246…不具合可能性情報、247…再計算疑惑値情報 100...Fault location identification support device, 210...Source file correlation acquisition unit, 220...Fault possibility determination unit, 230...Suspicious value reassignment unit, 240...Information storage unit, 241...Source file group, 242...Test file group, 243...Test execution information, 244 Number of steps and result starting point suspicious value information, 245...Source file correlation information, 246...Fault possibility information, 247...Recalculated suspicious value information

Claims (12)

ソースファイル内の各命令文間の関連性を示すソースファイル内関連性情報を取得する、ソースファイル内関連性取得部と、
テストケースの実行結果を保持するテスト実行情報と、前記テストケース実行時の前記ソースファイル内の各命令文の実行回数に基づき算出される疑惑値を保持するテスト結果起点疑惑値情報と、前記ソースファイル内関連性情報と、を用いて疑惑値を算出し、再計算疑惑値情報を生成する疑惑値再付与部と、
を備えることを特徴とする、
不具合箇所特定支援装置。
a source file relation acquisition unit that acquires source file relation information indicating relations between each command in a source file;
a suspicion value reassignment unit that calculates a suspicion value using test execution information that holds the execution results of a test case, test result starting suspicion value information that holds a suspicion value calculated based on the number of executions of each statement in the source file when the test case is executed, and the source file relevance information, and generates recalculated suspicion value information;
The present invention is characterized in that it comprises
A device to assist in identifying defective areas.
前記ソースファイル内関連性取得部は、
前記ソースファイルに含まれる、ある1つの命令文に対して依存関係がある命令文および前記ある1つの命令文と類似性がある命令文の少なくともひとつを探索し抽出することで、前記ソースファイル内関連性情報を生成することを特徴とする、
請求項1に記載の不具合箇所特定支援装置。
The source file relation acquisition unit includes:
generating the intra-source-file relevance information by searching and extracting at least one of a command statement having a dependency relationship with a certain command statement and a command statement having similarity to the certain command statement, which are included in the source file;
The defect location identification support device according to claim 1 .
前記テスト実行情報は、テスト実行時の例外発生に関する命令文を特定する例外発生個所情報を含み、
前記疑惑値再付与部は、
前記例外発生に関する命令文と関連のある命令文を、前記ソースファイル内関連性情報を用いて抽出し、前記テスト結果起点疑惑値情報に記載の疑惑値よりも高い疑惑値を付与して再計算疑惑値情報を生成することを特徴とする、
請求項1に記載の不具合箇所特定支援装置。
the test execution information includes exception occurrence location information that identifies a statement related to an exception occurrence during test execution;
The suspicious value reassignment unit:
A command statement related to the command statement related to the occurrence of the exception is extracted using the relevance information in the source file, and a higher suspicion value than the suspicion value described in the test result starting point suspicion value information is assigned to the command statement, thereby generating recalculated suspicion value information.
The defect location identification support device according to claim 1 .
前記テスト実行情報は、テスト実行時の例外発生に関する命令文を特定する例外発生箇所情報を含み、
前記ソースファイルと、前記テスト実行情報と、前記テスト結果起点疑惑値情報を入力として前記ソースファイルの命令文の不具合可能性を判定し、不具合可能性情報を生成する不具合可能性判定部を備えることを特徴とする、
請求項1に記載の不具合箇所特定支援装置。
The test execution information includes exception occurrence location information that identifies a statement related to an exception occurrence during test execution,
a defect possibility determination unit that determines a defect possibility of a statement in the source file by inputting the source file, the test execution information, and the test result starting point suspicious value information, and generates defect possibility information.
The defect location identification support device according to claim 1 .
前記不具合可能性判定部は、
前記不具合可能性情報において、前記テスト実行時の例外発生に関する命令文に対して、不具合可能性が高いことを示す情報を付与することを特徴とする、
請求項4に記載の不具合箇所特定支援装置。
The malfunction possibility determination unit is
The malfunction possibility information is characterized in that information indicating a high malfunction possibility is added to a statement regarding an exception occurrence during the test execution.
The defect location identification support device according to claim 4.
前記不具合可能性判定部は、
前記不具合可能性情報において、前記テスト結果起点疑惑値情報に含まれる最も疑惑値の高い命令文に対して、不具合可能性が高いことを示す情報を付与することを特徴とする、
請求項4に記載の不具合箇所特定支援装置。
The malfunction possibility determination unit is
In the defect possibility information, information indicating a high defect possibility is added to a command statement having the highest suspicious value included in the test result starting suspicious value information.
The defect location identification support device according to claim 4.
前記不具合可能性判定部は、
前記不具合可能性情報において、不具合に関係しない特定種類の命令文に対して、不具合可能性が低いことを示す情報を付与することを特徴とする、
請求項4に記載の不具合箇所特定支援装置。
The malfunction possibility determination unit is
The malfunction possibility information is characterized in that information indicating that a malfunction possibility is low is added to a specific type of command statement that is not related to the malfunction.
The defect location identification support device according to claim 4.
前記疑惑値再付与部は、
前記不具合可能性情報において不具合可能性が高いことを示す情報が付与された命令文のうち、前記テスト実行時の例外発生に関する命令文に対して、前記テスト結果起点疑惑値情報に記載の疑惑値よりも高い第1の疑惑値を付与して再計算疑惑値情報を生成することを特徴とする、
請求項4に記載の不具合箇所特定支援装置。
The suspicious value reassignment unit:
Among the command statements to which information indicating a high probability of a malfunction is added in the malfunction possibility information, a first suspicion value higher than the suspicion value described in the test result starting suspicion value information is added to the command statements regarding the occurrence of an exception during the test execution, thereby generating recalculated suspicion value information.
The defect location identification support device according to claim 4.
前記疑惑値再付与部は、
前記不具合可能性情報において不具合可能性が高いことを示す情報が付与された命令文のうち、前記テスト実行時の例外発生に関する命令文以外の命令文に対して、前記テスト結果起点疑惑値情報に記載の疑惑値である第2の疑惑値を付与して再計算疑惑値情報を生成することを特徴とする、
請求項4に記載の不具合箇所特定支援装置。
The suspicious value reassignment unit:
Among the command statements to which information indicating a high probability of a malfunction is added in the malfunction possibility information, other than the command statements related to the occurrence of an exception during the test execution, a second suspicious value, which is a suspicious value described in the test result origin suspicious value information, is added to generate recalculated suspicious value information.
The defect location identification support device according to claim 4.
前記疑惑値再付与部は、
前記テスト実行時の例外発生に関する命令文と関連のある命令文を、前記ソースファイル内関連性情報を用いて抽出し、前記テスト結果起点疑惑値情報に記載の疑惑値よりも高い第3の疑惑値を付与して再計算疑惑値情報を生成することを特徴とする、
請求項4に記載の不具合箇所特定支援装置。
The suspicious value reassignment unit:
a command statement related to a command statement related to an exception occurrence during test execution is extracted using the intra-source file correlation information, and a third suspicion value higher than the suspicion value described in the test result starting suspicion value information is assigned to the command statement, thereby generating recalculated suspicion value information.
The defect location identification support device according to claim 4.
前記疑惑値再付与部は、
前記不具合可能性情報にて不具合可能性が低いことを示す情報が付与された命令文に対して、前記テスト結果起点疑惑値情報に記載の疑惑値よりも低い第4の疑惑値を付与して再計算疑惑値情報を生成することを特徴とする、
請求項4に記載の不具合箇所特定支援装置。
The suspicious value reassignment unit:
a fourth suspicious value lower than the suspicious value described in the test result starting suspicious value information is assigned to a command statement to which information indicating a low probability of a defect is assigned in the defect possibility information, thereby generating recalculated suspicious value information.
The defect location identification support device according to claim 4.
情報処理装置を用いてソースファイル内の不具合箇所を特定する不具合箇所特定支援方法であって、
ソースファイル内の各命令文間の関連性情報を含むソースファイル内関連性情報と、テストファイルを実行した際の例外発生箇所情報を含むテスト実行情報と、ソースファイル内の命令文にSBFLの手法で生成された疑惑値を付与したテスト結果起点疑惑値情報を用い、
前記ソースファイル内関連性情報を用いて、前記例外発生箇所情報に対応する命令文と関連性の高い命令文を抽出し、抽出した命令文に前記テスト結果起点疑惑値情報が付与した疑惑値より高い疑惑値を与える、
不具合箇所特定支援方法。
A defect location identification support method for identifying a defect location in a source file using an information processing device, comprising:
Using source file correlation information including correlation information between each command in the source file, test execution information including information on an exception occurrence location when the test file is executed, and test result origin suspicious value information in which a suspicious value generated by the SBFL technique is assigned to a command in the source file,
extracting a command statement that is highly related to the command statement corresponding to the exception occurrence location information by using the intra-source file relevance information, and assigning a suspicion value to the extracted command statement that is higher than the suspicion value assigned by the test result starting point suspicion value information;
A method to assist in identifying defective areas.
JP2021105236A 2021-06-24 2021-06-24 Apparatus and method for assisting in identifying defective parts Active JP7562483B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021105236A JP7562483B2 (en) 2021-06-24 2021-06-24 Apparatus and method for assisting in identifying defective parts

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021105236A JP7562483B2 (en) 2021-06-24 2021-06-24 Apparatus and method for assisting in identifying defective parts

Publications (2)

Publication Number Publication Date
JP2023003882A JP2023003882A (en) 2023-01-17
JP7562483B2 true JP7562483B2 (en) 2024-10-07

Family

ID=85100618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021105236A Active JP7562483B2 (en) 2021-06-24 2021-06-24 Apparatus and method for assisting in identifying defective parts

Country Status (1)

Country Link
JP (1) JP7562483B2 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
徳本 晋 他,命令削除ミューテーションに基づく欠陥局所化の産業用ソフトウェアにおける評価,情報処理学会 論文誌(ジャーナル),日本,情報処理学会,2020年10月,Vol.61 No.10 ,pp.1617-1628

Also Published As

Publication number Publication date
JP2023003882A (en) 2023-01-17

Similar Documents

Publication Publication Date Title
US7681180B2 (en) Parameterized test driven development
US9619373B2 (en) Method and apparatus to semantically connect independent build and test processes
US9959199B2 (en) Diagnosis of test failures in software programs
JP2006065845A (en) Generation of optimized restoration plan
US9183122B2 (en) Automated program testing to facilitate recreation of test failure
JP2006244195A (en) Program test support device, and its method
CN117493169A (en) A method, device, equipment and medium for detecting API behavior incompatibility between Java dependency library versions
JP7562483B2 (en) Apparatus and method for assisting in identifying defective parts
CN116166525A (en) Method and device for generating test script
US20050283763A1 (en) Exception test support technique
JP7380851B2 (en) Test script generation device, test script generation method and program
JP6792592B2 (en) Screen discrimination device, screen discrimination method and program
WO2024232193A1 (en) Information processing device, information processing method, and computer program
US12536095B2 (en) Test code generator, test code generation method, and, test code generation program
JP7811522B2 (en) Program correction device, program correction method, and program correction program
JP5578625B2 (en) Program analysis apparatus, program analysis method, and program
US9384118B2 (en) Overlay identification of data processing target structure
KR20180138130A (en) Method, Server and Computer Program for Crash Report Grouping
JP2024000386A (en) Test result visualization file generation device, test result visualization file generation method, and test result visualization file generation program
TW202311947A (en) Device and method for re-executing of test cases in software application
JP7456843B2 (en) Program modification device, program modification method, and program modification program
JP7504775B2 (en) Computer system, program, and program correction method
CN116451189B (en) Code feature hiding method and device
JP2016126700A (en) Program verification device, program verification method, and program verification program
JP2025097364A (en) Computer system and source code defect correction support method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240201

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240911

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240917

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240925

R150 Certificate of patent or registration of utility model

Ref document number: 7562483

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150