JP7562483B2 - Apparatus and method for assisting in identifying defective parts - Google Patents
Apparatus and method for assisting in identifying defective parts Download PDFInfo
- 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
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,
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
本発明は、不具合箇所に適切な疑惑値を付与することにより、開発者の不具合箇所特定作業を支援し、デバッグ作業を効率化することを主な課題とする。 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.
以下、図面を参照しつつ、実施形態について説明する。以下の説明において、同一の又は類似する構成について同一の符号を付して、重複した説明を省略することがある。 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
プロセッサ110は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)を用いて構成されている。プロセッサ110が、主記憶装置120に格納されているプログラムを読み出して実行することにより、不具合箇所特定支援装置100の様々な機能が実現される。
The
主記憶装置120は、プログラムやデータを記憶する装置であり、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、不揮発性半導体メモリ(NVRAM(Non Volatile RAM))等である。
The
補助記憶装置130は、例えば、ハードディスクドライブ、SSD(SolID State Drive)、光学式記憶装置(CD(Compact Disc)、DVD(Digital Versatile Disc)等)、ストレージシステム、ICカード、SDメモリカードや光学式記録媒体等の記録媒体の読取/書込装置、クラウドサーバの記憶領域等である。補助記憶装置130に格納されているプログラムやデータは主記憶装置120に随時読み込まれる。
The
入力装置140は、例えば、キーボード、マウス、タッチパネル、カードリーダ、音声入力装置等である。出力装置150は、ユーザに処理経過や処理結果等の各種情報を提供するユーザインタフェースであり、例えば、画面表示装置(液晶モニタ、LCD(Liquid Crystal Display)、グラフィックカード等)、音声出力装置(スピーカ等)、印字装置等である。尚、例えば、不具合箇所特定支援装置100が通信装置160を介して他の装置との間で情報の入力や出力を行う構成としてもよい。
The
通信装置160は、LANやインターネット等の通信手段を介した他の装置との間の通信を実現する有線方式又は無線方式の通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール、USB(Universal Serial Bus)モジュール、シリアル通信モジュール等である。
The
不具合箇所特定支援装置100のハードウェア構成は、単体のコンピュータで構成してもよいし、あるいは、任意の部分が、ネットワークで接続された他のコンピュータで構成されてもよい。
The hardware configuration of the defect location
ここで、本実施形態で使用する用語を定義する。「ソースファイル」は、ソフトウェア開発の対象となるプログラムであり、開発者の意図と異なる動作を引き起こす不具合を含んでいることもある。「命令文」は、ソースファイルを構成するプログラムステートメントである。「テストファイル」は、ソースコードの動作を検査するプログラムを格納したファイルである。「テストメソッド」は、テストコードをまとまった処理の単位で分割したものであり、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
ソースファイル内関連性取得部210、不具合可能性判定部220、疑惑値再付与部230は、図3のプロセッサ110が主記憶装置120に格納された不具合箇所特定支援プログラムを実行することにより構成される。
The source file
情報記憶部240は、主に、図3の補助記憶装置130により構成される。情報記憶部240は、ソースファイル群241と、テストファイル群242と、テスト実行情報243と、テスト結果起点疑惑値情報244と、ソースファイル内関連性情報245と、不具合可能性情報246と、再計算疑惑値情報247と、を記憶する。これら情報記憶部290内の各種情報の詳細については、図5~図11にて後述する。
The
図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
なお、ソースフォルダは、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
図6は、テストファイル群242の例を示す図である。テストファイル群242は、1以上のテストフォルダ610を含む。テストフォルダ610は、フォルダ名がcoretestである。テストフォルダ610は、1以上のテストファイル620を含む。テストファイル620は、ファイル名がCreateCoreTestである。
Figure 6 is a diagram showing an example of a
テストファイル620は、1以上の行のテストコードを含み、図6では23行の例を示す。テストファイル620は、1行目~5行目にtestCreate1という名前のテストメソッドを含み、7行目~11行目にtestCreate2という名前のテストメソッドを含み、13行目~17行目にtestCreate3という名前のテストメソッドを含み、19行目~23行目にtestCreate4という名前のテストメソッドを含む。テストメソッドtestCreate1と、testCreate2と、testCreate3と、testCreate4は全て、図5のソースファイル520に含まれるメソッドcreateの対応テストメソッドである。
図7は、SBFLの技法で用いるテスト実行情報243の例を示す図である。テスト実行情報243は、テストファイル620を実行した結果のログから生成でき、1以上のエントリを含む。テスト実行情報243のエントリは、テストファイルを実行した際の成功または失敗の結果と、失敗の場合の例外発生箇所情報と、のカラムを含む。例外発生箇所情報は、例えばテスト実行時のスタックトレースとして出力された情報が当てはまる。スタックトレースは、例外発生時にどの処理がどの順番で呼ばれたかを示す。
Figure 7 is a diagram showing an example of
図7の例では、図6のテストファイル620を実行した際のテスト実行情報を示している。図7の例では、各カラムは、テストメソッド名、実行結果、失敗の場合の例外種類、失敗の場合の例外発生個所情報を含む。例外発生個所情報は、フォルダ名、ファイル名、行番号を含む。
The example in Figure 7 shows test execution information when the
図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
図8は、テスト結果起点疑惑値情報244の例を示す図である。テスト結果起点疑惑値情報244は、従来のSBFLの技法によってテストファイル620実行後に予め生成される。テスト結果起点疑惑値情報244は、1以上のエントリを含む。テスト結果起点疑惑値情報244のエントリは、対象のソースフォルダ名と、対象のソースファイル名と、対象の命令文の行番号と、対象の命令文の疑惑値と、のカラムを含む。
Figure 8 is a diagram showing an example of test result origin
疑惑値は、ソースファイル内の各命令文が、失敗テストメソッド、及び成功テストメソッドで何回実行されたかという情報を用いて算出される。特許文献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
図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
図9は、ソースファイル内関連性情報245の例を示す図である。ソースファイル内関連性取得部210は、ソースファイルを入力としてソースファイル内関連性情報245を生成する。また、ソースファイル内関連性情報245は、併せて不具合可能性情報246を入力としてもよい。
Figure 9 is a diagram showing an example of intra-source-
ソースファイル内関連性情報245は、1以上のエントリを含む。ソースファイル内関連性情報245のエントリは、比較元の命令文を含むソースファイル名と、比較元命令文の行番号と、関連する命令文を含むソースファイル名と、関連する命令文の行番号と、比較元命令文との関連性と、のカラムを含む。関連性の種類としては、類似命令文、使用変数設定命令文、などがある。比較元の命令文を含むソースファイルと関連する命令文を含むソースファイルは、同じものでもよいし、異なるものでもよい。
The source
ソースファイル内関連性取得部210によるソースファイル内関連性情報245の生成についての詳細は、図12のS1210に示し後述する。
Details about the generation of the source file
図10は、不具合可能性情報246の例を示す図である。不具合可能性判定部220では、ソースファイルと、テスト実行情報243と、テスト結果起点疑惑値情報244と、を入力として、ソソースファイル内の各命令文の不具合可能性を判定し、不具合可能性情報246を生成する。
Figure 10 is a diagram showing an example of
不具合可能性情報246は1以上のエントリを含む。不具合可能性情報246のエントリは、ソースファイル名と、行番号と、不具合可能性の値と、不具合可能性の値設定の理由と、のカラムを含む。不具合可能性の値とは図10のようにレベルで示してもよいし、定量的な値で示してもよい。不具合可能性判定部220による不具合可能性情報246の生成についての詳細は、図12のS1220に示し後述する。
The
図11は、再計算疑惑値情報247の例を示す図である。疑惑値再付与部230は、ソースファイル群241と、テスト実行情報243と、テスト結果起点疑惑値情報244と、ソースファイル内関連性情報245と、を入力として、再計算疑惑値情報247を生成する。また、疑惑値再付与部230は、併せて不具合可能性情報246を入力としてもよい。
Figure 11 is a diagram showing an example of recalculated
再計算疑惑値情報247は、1つ以上のエントリを含む。再計算疑惑値情報247のエントリは、対象のフォルダ名と、対象のソースファイル名と、対象の命令文の行番号と、対象の命令文の疑惑値と、のカラムを含む。また、再計算疑惑値情報247のエントリは、併せて、テスト結果起点疑惑値情報244から疑惑値の変更があった場合、疑惑値変更内容と、疑惑値変更理由のカラムを含んでもよい。疑惑値再付与部230による再計算疑惑値情報247の生成についての詳細は、図12のS1230に示す。
The recalculated
図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
まず、ソースファイル内関連性取得部210は、情報記憶部240に記憶されているソースファイル群241を読み込み、ソースファイル520内の各命令文に対して、他命令文との命令文との関連性を抽出し、ソースファイル内関連性情報245を生成する(S1210)。
First, the source file
抽出する関連性の種類としては、類似命令文、使用変数設定命令文、などがある。類似命令文と使用変数設定命令の抽出について、図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
まず、類似命令文の抽出について説明する。類似命令文は、命令文相互において共通する要素が含まれる度合いで判断することができる。類似命令文の判断は、例えば命令文に含まれるトークン(変数名、メソッド名など)の種類数を用いて、比較元命令文に含まれるトークンと、比較先命令文に含まれるトークンの共通トークン数を求め、共通トークン数と比較先命令文に含まれるトークン数の差分が、予め設定する閾値以下であれば類似と判断する。 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
なお、差分の閾値は任意であり、また差分で判定する他、比較先命令文に含まれるトークン中の共通トークン数の比率等で判断してもよい。 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
このように、同じパラメータに対して定義、代入、あるいは使用等の処理を行う命令文は相互に関連する可能性が高く、共通して不具合が発生する可能性がある。 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
ソースファイル内の命令文に対する不具合可能性の判定について、図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
不具合可能性判定部220は、例えば、テスト実行情報243の例外発生箇所情報で示されるソースファイルの命令文について、例外発生時に呼び出されていることから不具合可能性を高いと判断し、不具合可能性が高いことを示す情報を付与する。図7のテスト実行情報243の例では、図5に示すソースファイル”CreateCore”について、5行目の命令文で例外発生時に呼び出されていると示されている。そのため、図10では、ソースファイル”CreateCore”の5行目について、不具合可能性の値を“高”としている。また、不具合可能性“高”の判断理由として、「例外発生箇所」であることを示している。
For example, the malfunction
また、不具合可能性判定部220は、例えば、テスト結果起点疑惑値情報244で示される疑惑値が最も高い命令文について、失敗テストでの実行される傾向にあり、かつ成功テストで実行されない傾向にあることから、不具合可能性が高いと判断する。これは従来のSBFLの原理に基づく処理である。
In addition, the defect
図8のテスト結果起点疑惑値情報244の例では、図5に示すソースファイル”CreateCore”について、3行目と、4行目と、5行目の命令文に最高疑惑値1.0が付与されていることを示している。そのため、図10では、ソースファイル”CreateCore”の3行目と、4行目と、5行目について、不具合可能性の値を“高”としている。また、”CreateCore”の3行目と、4行目の不具合可能性“高”の判断理由として、「テスト起因疑惑値最高箇所」であることを示している。
The example of test result origin
ここで、ソースファイル”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
ここで、不具合箇所特定支援処理1200の処理ステップの順序について、ソースファイル内関連性取得部210の実行(S1210)と、不具合可能性判定部220の処理(S1220)の順序は前後しても良い。すなわち、S1230の前に両者が準備できれば良い。
Here, regarding the order of the processing steps of the defect location
不具合可能性判定部220を先に実行する場合、後に実行するソースファイル内関連性取得部210では、ソースファイルと併せて、不具合可能性情報246を入力として読み込んでもよい。ソースファイル内関連性取得部210で不具合可能性情報246を読み込んだ場合は、不具合可能性情報246で不具合可能性が“高”と示されている箇所のみを比較元命令文として、関連する命令文情報を抽出してもよい。
When the defect
次に、疑惑値再付与部230は、テスト実行情報243と、テスト結果起点疑惑値情報244と、ソースファイル内関連性情報245と、不具合可能性情報246を用いて疑惑値を算出し、再計算疑惑値情報247を生成する(S1230)。
Next, the suspicion
図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
まず、疑惑値再付与部230は、テスト結果起点疑惑値情報244の情報を参照して、再計算疑惑値情報247の元データを生成する(S1310)。具体的には、例えば、図8に示すテスト結果起点疑惑値情報244のエントリに、疑惑値変更内容のカラムと疑惑値変更理由のカラムを付け加えたデータを、再計算疑惑値情報247の元データとする。
First, the suspicious
次に、疑惑値再付与部230は、不具合可能性が高い命令文の関連命令文に疑惑値を付与し、再計算疑惑値情報247を更新する(S1320)。具体的には、不具合可能性情報246にて不具合可能性が“高”と示されている命令文の関連命令文情報を、ソースファイル内関連性情報245から抽出する。そして、再計算疑惑値情報247に該当の命令文情報が存在する場合は再計算疑惑値情報247の該当疑惑値を書換え、再計算疑惑値情報247に該当の命令文情報が存在しない場合は命令文情報および疑惑値情報を追加する。不具合可能性が高い命令文に関連性のある命令文に対する疑惑値算出としては、例えば、テスト結果起点疑惑値情報における最高疑惑値を付与する。以下で具体例を説明する。
Next, the suspicion
図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
更新した結果は、図11の再計算疑惑値情報の例の#4行目に示される。尚、ソースファイル“CreateCore”の3行目の命令文については、図8に示すテスト結果起点疑惑値情報にて既に最高疑惑値1.0が付与されているため、疑惑値の変更はない。以上から、図5に示すソースファイル“CreateCore”内の不具合箇所である7行目の命令文に対し、適切に疑惑値が付与されることが分かる。
The updated result is shown in
以上の操作では、不具合可能性が高い命令文に関連する命令文の疑惑値を増加するという処理を行っている。上記の例では、関連する命令文に最高疑惑値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
図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
次に、疑惑値再付与部230は、再計算疑惑値情報247が保持する、不具合可能性が低い命令文の疑惑値情報を削除する(S1340)。具体的には、不具合可能性情報246にて不具合可能性が“低”と示されている命令文に対して、再計算疑惑値情報247に疑惑値情報が存在する場合は、該当の疑惑値情報を削除する。以下で具体例を示す。
Next, the suspicious
図10に示す不具合可能性情報にて不具合可能性が“低”と示されているソースファイル“CreateCore”の11行目および12行目の命令文について、図8に示すテスト結果起点疑惑値情報にて疑惑値0.25が付与されている。そのため、疑惑値再付与部230は、疑惑値再付与情報からソースファイル“CreateCore”の11行目および12行目の疑惑値を削除する。削除した結果は、図11の再計算疑惑値情報の例の#11行目および#12行目に示される。以上から、図5に示すソースファイル“CreateCore”内の命令文の内、テスト実行結果に関連せず、不具合になりえない箇所に疑惑値が付与されないことが分かる。
The statements in
以上説明したように、本実施形態に係る不具合箇所特定支援装置100は、不具合可能性が高い例外発生箇所などの命令文に関連性がある命令文をソースファイル内関連性情報245をもとに特定し、高い疑惑値を付与する。これにより、テスト結果起点の疑惑値算出結果に対して同値疑惑値の補正を実施する方法に比べて、不具合箇所の命令文の疑惑値を高めて取りこぼしを防ぐことができるため、不具合箇所特定の工程を効率化する。
As described above, the defect location
また、本実施形態に係る不具合箇所特定支援装置100は、不具合可能性情報246に応じてテスト結果起点の疑惑値を操作する。これにより、テスト結果起点疑惑値情報244の同値疑惑値の補正にも対応することができる。
The defect location
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。 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.
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) |
-
2021
- 2021-06-24 JP JP2021105236A patent/JP7562483B2/en active Active
Non-Patent Citations (1)
| 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 |