情報処理学会論文誌

Vol.62 No.4 1008–1018 (Apr. 2021)

組合せテストにおける実行順序に起因する
非決定的不具合誘発要因特定法の提案
西浦 生成1,a)

渡辺 大輝1,b)

水野 修1,c)

崔 恩瀞1,d)

受付日 2020年8月3日, 採録日 2021年1月12日

概要：組合せテストの結果から不具合誘発要因である入力パラメータ値の組を特定すること（FIL）によって，開発者がソフトウェアシステムから不具合をとり除くための有益な情報が得られる．既存の FIL 手法
はテスト結果が決定的であることを前提としている．一方で，同じテストケースの結果が一意に定まらない，非決定的なテストの存在が報告されており，既存の FIL 手法はこれに対応できない．本論文では，テスト結果が非決定的になる原因のうち実行順序に依存するものに焦点を絞り，非決定的なテスト結果に対応可能な新しい FIL 手法である F-CODE を提案した．F-CODE では，初めにテストの失敗を再現するテ
スト実行順序を特定し，それらを連続して実行するよう既存手法を改変することによって実行順序に依存する非決定性を排除することで，FIL 結果が正しく取得されることを可能にしている．さらに，実行順序に依存して不具合誘発要因が有効になる条件となる要因を同時に特定する．また実際のシステムに基づく
人工的なテスト結果を用いた評価実験によって，提案手法の特定精度およびテストの追加実行回数の増加
割合が良好であることを示した．
キーワード：ソフトウェアテスト，組合せテスト，不具合誘発要因特定

Faulty Interaction Localization Approach for Non-deterministic
Failure-inducing Combination Depends on Execution Order
Kinari Nishiura1,a)Daiki Watanabe1,b)Osamu Mizuno1,c)Eunjong Choi1,d)Received: August 3, 2020, Accepted: January 12, 2021

Abstract: Faulty interaction localization (FIL) is to locate interactions of input parameter values causing a
defect from the result of the combinatorial testing. FIL provides developers useful information for removing
the detect from the software system. Conventional FIL methods assume that test results are deterministic.
On the other hand, the existence of non-deterministic tests has been reported, and conventional FIL methods
cannot deal with them. In this paper, we focus on the causes of non-deterministic of test results that dependon the execution order, and propose a new FIL method, F-CODE, which can deal with non-deterministic
test results. In F-CODE, by identifying the test execution sequence that reproduces the test failures, thencustomizing a conventional method to execute them consecutively, the non-determinism that depends on theexecution sequence is eliminated, thus can obtain correct FIL results. Moreover, we confirmed that the identification accuracy and increase rate of the additional test execution of F-CODE were good by the evaluation
experiment using the artificial test result based on real software systems.
Keywords: software testing, combinatorial testing, faulty interaction localization

1. はじめに
1
a)
b)
c)
d)

京都工芸繊維大学
Kyoto Institute of Technology, Kyoto 606–8585, Japank-nishiura@se.is.kit.ac.jp
d-watanabe@se.is.kit.ac.jp
o-mizuno@kit.ac.jp
echoi@kit.ac.jp

c 2021 Information Processing Society of Japan

ソフトウェア開発において，ソフトウェアテストは製品の品質を維持するために重要な役割を果たす．一般に，1つのテストケースはテスト対象のシステムの 1 つの動作のみをテストするため，さまざまな条件下でのテストを行う

1008

情報処理学会論文誌

Vol.62 No.4 1008–1018 (Apr. 2021)には複数のテストケースが必要となる．ただし，大規模な定できる．一方，同じ対象への単純な OFOT 法の特ソフトウェアをテストする場合，複数の入力パラメータの定成功率は 10%未満である．

相互作用によって引き起こされる不具合を網羅的に検出す• F-CODE は，テスト結果の非決定性を排除するためるには膨大な数のテストケースが必要となり，そのすべてに，従来の FIL 手法よりも多くのテストケースを追をテストすることは現実的ではない．こうした場合，組合加実行する必要がある．ただし，実行回数の増加割合

せテストを使用することでテスト実行のコストを大幅に削

は，評価に使用したどのシステムでも平均で 2 倍未満減できる．組合せテストでは，特定の基準に対して入力パである．

ラメータがとる値のすべての組合せを網羅するようにテス• 不具合を誘発する要因が複数存在する場合，F-CODE

トケースを設計し，設計された一連のテストケースを使用

はそれらをつねに特定できるとは限らない．ただし，

してテストを実施する [1], [2]．

2 つおよび 3 つの独立した誘発要因が存在する場合にまた，不具合誘発要因特定（Faulty Interaction Localiza-

tion，以下 FIL）は，得られた組合せテストの結果から不具合を含む動作を誘発する条件となるような入力パラメー
タ値の組合せを識別する工程である．開発者は組合せテス
トの結果を元に FIL を行って不具合動作を引き起こす条件

対しそれぞれ 92.6%および 79.9%と高い特定成功率を
維持する．

2. 背景
2.1 t-way テスト

を特定することで，欠陥のあるコンポーネントを簡単に特t-way テストは，組合せテストを実現する一種のテスト

定し修復できる．既存研究ではいくつかの FIL 手法が提案方法である．t-way テストでは，最小限のテストケース数されている [3], [4], [5], [6], [7]．例として，OFOT 法 [3] はで t 個以下のパラメータ値のすべての組合せが少なくともパラメータ値を変更して追加のテストを行うことで誘発原

1 回テストされる．t = 2 の場合の t-way テストはペアワ

因に関係するパラメータ値を特定する．

イズテストとしても知られる．いくつかの t-way テストス

ただし，OFOT 法などの既存 FIL 手法では，同じテス

イート生成ツールの実装が提案されている [9]．たとえば，

トケースからつねに同じ結果が得られると仮定している．

Czerwonka によって提案された PICT [10], [11] は，貪欲なしたがって，同じテストケースの結果が一意に定まらない

ヒューリスティックアルゴリズムを使用している．

ような非決定的なテスト結果から正しい FIL 結果を導く

表 1 に示す入力パラメータを持つシステムの例を考えことは，既存の FIL 手法では非常に困難である．一方で，る．このシステムは pa ，pb ，pc ，pd の 4 つの入力パラメー

Luo らは 51 件の Apache オープンソースプロジェクトかタを有し，そのうち 2 つは 3 種類の値を，他の 2 つは 2 種ら非決定的な不具合を含む 201 のテストに関するコミット

類の値をとることができる．これらのパラメータ値間のすを調査し，非決定性の要因を 10 種類に分類した [8]．さらべての可能な組合せは 3 × 3 × 2 × 2 = 36 パターンあり，こに，その内の約 12%が実行順序に依存するものであり，このすべてを網羅するには合計 36 のテストケースが必要とな

れら 10 種類の非決定的要因の中で大きな割合を占めている．次に，PICT で生成されたこの例題システムの 2-way

ることが報告されている．

テストスイートを表 2 に示す（テスト結果列は含まない）．

そこで本論文では非決定的なテスト結果が得られる原因

2-way テストの定義どおり，任意の 2 つのパラメータ値のに着目し，実行順序に依存して不具合を誘発する要因の特組合せが網羅されていることが確認できる．またこの例で定に焦点を絞った新しい FIL 手法である F-CODE（FIL

は，2-way テストスイートに含まれるテストケースは 9 つConsidered Order Dependency）を提案する．本手法は最になる．このように，組合せテストを使用することで網羅

初に，非決定的なテストケースがつねに欠陥のある動作を基準とのトレードオフとしてテストケースの数を大幅に減検出するために必要なテストケースの順序を特定する．特らすことができる．

定されたテスト実行順序を用いてテスト結果の非決定性を排除することで，OFOT 法などの既存 FIL 手法の適用が可能となり，不具合誘発要因を特定できる．加えて本手法

2.2 スキーマおよび MFS
スキーマ（Schema）は，入力パラメータ値の組合せの表は，順序依存性の原因となる要因を合わせて特定する．これは，そのパラメータ値を含むテストケースを事前に実行

表 1 例題システムの入力パラメータすることで，順序依存性を持つテストケースをつねに失敗

Table 1 Input parameters of an example system.

させるようなものを指す．こうした依存関係を特定することで，より効果的なデバッグの提供が期待できる．
実際のソフトウェアシステムに基づく人工的なテスト結果を用いて F-CODE を評価し，次の結果が示された．

• F-CODE は，不具合を誘発する単一の要因をつねに特c 2021 Information Processing Society of Japan


パラメータ

とりうる値

pa

0, 1, 2pb

0, 1, 2

pc

0, 1

pd

0, 1

1009

情報処理学会論文誌

Vol.62 No.4 1008–1018 (Apr. 2021)

表 2 例題システムの 2-way テストスイート例

Table 2 An example 2-way test suite of an example system.
テストケース

t1

pa
0

pb
0

pc
0

pd
0

表 3

OFOT 法による FIL に必要となる追加テストケース

Table 3 Additional test cases in OFOT method.

テスト結果

テストケース

pa

pb

pc

pd

テスト結果

失敗

ta1

1

0

0

0

失敗

0

1

0

0

失敗

t2

0

1

1

1

成功

ta2

t3

0

2

1

0

成功

ta3

0

0

1

0

成功

t4

1

0

0

1

成功

ta4

0

0

0

1

成功

t5

1

1

0

0

失敗

t6

1

2

1

1

成功

t7

2

0

1

1

成功

していることが確認できる．さらに，この MFS の存在に

t8

2

1

0

0

失敗

t9

よって t1 以外のすべてのテストの失敗も説明できるため，

2

2

0

0

失敗

MFS はほかに存在しないと見なすことが可能である．

現である．この表現は，いくつかの先行研究 [3], [7] で使2.4 Flaky Test

用されている．たとえば，例題システムにおけるスキーマ

Google の Micco は非決定的な出力結果をもたらすテス(-, 2, 1, -) は pb = 2 と pc = 1 の組合せを表し，また pa とトについて報告し，Flaky Test と名付けている [12]．また，pd の値はこの組合せに無関係であることを意味する．まLuo らは 51 件の Apache オープンソースプロジェクトかた，このスキーマはテストケース t3 と t6 に含まれている．

ら得られた 210 の Flaky Test を 10 種類の要因に分類し最小不具合誘発要因スキーマ（Minimal Failure-inducing

た [8]．その結果，非同期待機，同時実行，順序依存性が上Schema，以下 MFS）は，テストケースに含まれていること

位 3 つの原因であることを明らかにした．

が原因でテストが失敗する最小サイズのスキーマである．

既存の FIL 手法では同一のテストケースからはつねに同

この表現は [3] で定義されている．FIL の目的は，テストの一の結果が得られるといった仮定をおくなど，Flaky Test

失敗を再現するための最小条件である MFS を特定するこの存在に対応しておらず，その有効性に限界がある．我々とである．たとえば，pc = 0 および pd = 0 の場合に例題シ

はテスト結果の非決定性を引き起こす上位の要因のうち，ステムが失敗するとする．表 2 のテスト結果列は，この場順序依存性についてアルゴリズムによる解決が可能である

合に得られる 2-way テストスイートのテスト結果を示してことを本論文で示すことで，FIL 手法の持つ限界の拡張をいる．FIL の目的は，スキーマ (-, -, 0, 0) を MFS として試みる．

特定することである．また，たとえばスキーマ (-, 1, 0, 0)
は (-, -, 0, 0) を含むためテストケースに含まれているとテストを失敗させるが，不具合誘発の原因となる最小の条件
ではないため MFS ではない．

3. 提案手法 ：F-CODE
3.1 前提手法の提案にあたり，以下の前提条件を設定する．

• テスト対象システムは，テストスイートとして構成さ2.3 OFOT 法

れている複数のテストケースを順に連続して実行でき

代表的な FIL 手法として，Nie らは OFOT（One Factor

る．テストスイートに含まれるすべてのテストケース

One Time）法を提案している [3]．この手法では単一の失の実行が終了すると，テスト対象システムの状態は初敗したテストケースを入力として使用し，そのパラメータ期化される．

値を 1 つずつ変更して再テストすることで MFS を特定す• すべての MFS には，対応するトリガースキーマ（以る．あるパラメータ値を変更することによってテスト結果

下，TS）が 1 つ存在する．TS は，それを含むテスト

が失敗から成功に変わる場合，そのパラメータ値が MFS

ケースを実行すると，対応する MFS を含む後続のテの一部であることが分かることを利用している．

ストケースが失敗するスキーマを指す．対応する MFS

表 2 に示した組合せテスト結果への OFOT 法の適用例と TS のペアを不具合誘発条件対と呼称する．

を以下に示す．失敗したテストケース t1 に注目し，表 3• MFS を含むテストケースは，対応する TS を含む 1 つに示すように各パラメータごとに値を変更した新しいテス

以上のテストケースがそれ以前に実行されているとトケースを作成し実行する．その結果，ta1 と ta2 は依然ときに限り必ず失敗する．そうでない場合には必ず成功

してテストに失敗するが，ta3 と ta4 はテスト結果が合格にする．

変化した．このことから，テストケースがテストに失敗するためには，(-, -, 0, -) および (-, -, -, 0) が含まれる必要が

3.2 アルゴリズムあることが分かる．したがって，(-, -, 0, 0) が MFS として

F-CODE は実行されたテストスイートとその結果を入力特定される．これは実際にシステムが失敗する条件に一致として受け取り，特定されたすべての不具合誘発条件対を

c 2021 Information Processing Society of Japan


1010

情報処理学会論文誌

Vol.62 No.4 1008–1018 (Apr. 2021)

出力する．失敗したテストケースのリスト Lf ail からテス

表 4 F-CODE 適用例への入力テスト結果

トケースを取り出し，そこに含まれる MFS および対応すTable 4 Input test result used for application example of FCODE.

る TS の特定作業に移る．特定作業は以下の 3 つのフェイズで構成される．ただし，すでに発見された不具合誘発条

テストケース

pa

pb

pc

pd

テスト結果

件対がそのテストの失敗を説明できる場合，特定をスキッ

t1

0

0

0

0

成功

t2

0

1

1

1

成功

t3

0

2

1

0

成功

t4

1

0

0

1

成功

ストケースを tf ail とする．このフェーズでは，tf ail に

t5

1

1

0

0

失敗

含まれる MFS に対応する TS を含むテストケースを

t6

1

2

1

1

成功

特定する．入力された一連のテストケースで tf ail よ

t7

2

0

1

1

成功

t8

2

1

0

0

失敗

t9

2

2

0

0

失敗

プする．
フェイズ 1 ：TS を含むテストケースの特定 失敗したテりも前に実行されるテストケースを順に選び，そのテストケースと tf ail のペアを続けて実行する．tf ail がテストに失敗した場合，TS は選択したテストケースに含まれている．このテストケースを ttrg とする．
フェイズ 2 ：MFS の特定 このフェイズでは，次のように OFOT 法を適用することにより，tf ail に含まれる

MFS を識別する．OFOT 法によっていずれかのパラメータ値が変更された tf ail を実行する際に，ttrg の実

表 5

F-CODE 適用例における各フェイズで実行されるテストケー
スおよびその結果

Table 5 Executed test cases and their results in each phase of
application example of F-CODE.
フェイズ

行に続けて実行させる．これにより，tf ail のテスト結
果の非決定性が排除されるため，OFOT 法が適切に機テストケース

pa

pb

pc

pd

t1

0

0

0

0

-

t5

1

1

0

0

成功

テスト結果

t2

0

1

1

1

-

t5

1

1

0

0

成功

t3

0

2

1

0

-

t5

1

1

0

0

失敗

t3

0

2

1

0

-

ta1

2

1

0

0

失敗

ta2

1

2

0

0

失敗

ta3

1

1

1

0

成功

フェイズ 1 およびフェイズ 3 では，特定のテストケース

ta4

1

1

0

1

成功

によって MFS が有効化されるかどうかを調べるため，TS

ta5

1

2

1

0

-

を含むと思われるテストケースと MFS を含むと思われる

t5

1

1

0

0

失敗

ta6

0

0

1

0

-

1

1

0

0

成功

対してフェイズ 2 では，TS が含まれるテストケースに続

t5
ta7

0

2

0

0

-

けて，追加生成されたすべてのテストケースを続けて実行

t5

1

1

0

0

成功

できる．これは，追加実行するテストケースが MFS を含

ta8

0

2

1

1

-

むか否かのみによってテストの成否が決定され，他の追加

t5

1

1

0

0

失敗

フェイズ 1

能する．
フェイズ 3 ：TS の特定 このフェイズでは，フェイズ 2と同様に ttrg に OFOT 法を適用することにより，TSを特定する．具体的には，OFOT 法によって変更された ttrg に続いて実行される tf ail の実行結果の変化に

フェイズ 2

よって TS を特定できる．

テストケースの 2 つのみを連続して実行する必要がある．

フェイズ 3

実行するテストケースの存在に依存しないためである．
これらのフェイズを通じて，tf ail の失敗を説明する不る (-, 2, 1, -) を含むテストケースが実行されない限り，テ具合誘発条件対が得られる．Lf ail がまだ空でない場合，

ストは失敗しない．TS を含むテストケースは t3 で初めて

F-CODE は Lf ail から次の tf ail を取得し，その tf ail に対実行されるため，t1 は MFS を含むにもかかわらずテスト

してフェイズ 1 から 3 を再度実行して，新しい不具合誘発に失敗していない．

条件対を特定する．これを Lf ail が空になるまで繰り返す

F-CODE はまず，失敗したテストケースのリスト Lf ail

ことで，すべてのテストの失敗を説明するのに十分なだけ= {t5 , t8 , t9 } を取得し，最初に t5 を取り出す．表 5 は各の不具合誘発条件対が得られる．

フェイズで作成および実行されたテストケースを示している．フェイズ 1 では，t5 を失敗させるテストケースを特定

3.3 適用例するために，t5 より前に実行されたテストケースと t5 を続

表 4 に示されたテスト結果に対して F-CODE を適用す

けて順に実行する．t3 と t5 を続けて実行した場合に初める．これは，2 章で扱った例題システムの 2-way テストスて t5 が失敗したので，t3 には，t5 の MFS を誘発する TS

イートであり，MFS も同じく (-, -, 0, 0) である．ただし，が含まれていることが分かる．フェイズ 2 では，OFOT 法

この MFS は順序依存性を有しており，対応する TS であを適用するため t5 の一部を変更した追加テストケースとし

c 2021 Information Processing Society of Japan


1011

情報処理学会論文誌

Vol.62 No.4 1008–1018 (Apr. 2021)

表 6て ta1 から ta4 を作成し，t3 に続けてそれらを順に実行する．ta1 /ta2 /ta3 /ta4 の各テストケースはまったく依存がな
く独立に実行される．この例では ta1 や，ta2 の実行で失敗

テスト対象システムの情報

Table 6 Informations of systems under test.
システム名

入力パラメータモデル

しているが，そのあとに実行される ta3 や ta4 の実行に影響しない．したがってそれらのテストケースの実行は成功
する．ta3 および ta4 がテストに通過したことから，t5 に含まれる MFS は (-, -, 0, 0) であることが分かる．フェイ

Tomcat2 ×3 ×4

10

Hsqldb2 9 × 32 × 41

12

Gcc

29 × 6110Jflex

210 × 32 × 41

13

Tcas

27 × 32 × 41 × 102

12

ズ 3 では，TS が含まれる t3 に OFOT 法を適用するためその一部を変更した ta5 から ta8 を作成し，各テストケー
スと t5 が連続するよう順に実行する．ta6 および ta7 がテストに通過したことから，t3 に含まれる TS は (-, 2, 1, -)パラメータ数18

1

表 7 各 t-way テストスイートを構成するテストケース数

Table 7 The number of test cases composed each t-way test
suite.

であることが分かる．

システム名

t=2

t=3

t=4

Tomcat14

36

89

2, 1, -) という不具合誘発条件対は，他の失敗したテスト

Hsqldb

14

43

122

ケース t8 および t9 の失敗を説明できる．したがって Lf ail

Gcc

14

48

105

が空になり，F-CODE は動作を終了する．この適用例を通

Jflex

12

46

120

じて，F-CODE は 8 つの追加テストケースを作成し，19

Tcas

100

404

1,382

こうして発見された，MFS が (-, -, 0, 0) かつ TS が (-,のテストケースを追加実行した．

4. 実験準備
4.1 概要F-CODE の性能を評価するために 2 つの実験を行った．
実験 1

う．この不具合の想定は 4.3 節で詳述する．
テスト対象となるシステムの入力モデルを表 6 に示す．
これらのシステムは，先行研究 [7] で実験対象として使用されていたことから本実験でも使用した．また組合せテスト

システムに単一の不具合誘発条件対が存在する場

作成ツールとして，実テストで広く用いられている PICT合の組合せテストの結果に F-CODE を適用し，そのを使用した．PICT によって各システムの t-way テストス

不具合誘発条件対を実際に特定できたかを調べること

イートを生成すると，テストケース数は t のそれぞれの値

で，F-CODE の精度，および特定に必要な追加テストに対して表 7 のようになった．

実行数を調査する．実験対象には，いくつかの実際のシステムの入力モデルから人工的にランダムベースで4.3 準備

生成された多くの組合せテスト結果を使用する．さらまず，テスト対象のシステムごとに t-way テストスイーに，F-CODE の結果を従来の FIL メソッドの結果とト（t = 2, 3, 4）を作成する．次に，各システムごとに MFS比較する．

と TS をランダムに選択することで，想定する不具合誘発

実験 2

F-CODE は単一の不具合誘発条件対の存在を前提

条件対を設定する．ここで，MFS と TS のスキーマサイズ

として提案されているが，複数の不具合誘発条件対がはどちらも 4 以下であり，MFS と TS は同一でないよう選独立に存在する場合に対してもある程度の効果がある

択する．続けて，設定した不具合誘発条件対の存在を想定ことが期待できる．このことを確認するため，特定すした組合せテストの結果を生成する．生成には，設定したべき不具合誘発条件対が単一ではなく複数存在する場

不具合誘発条件対による不具合の検出を最小限の網羅度 t合について，実験 1 と同様に評価する．

で行える t-way テストを使用する．このような t の値は以下の方法で得られる．

4.2 実験対象
これまでの先行研究 [5], [7], [13] では，実際に不具合報• t = 2 の場合から順に，t-way テストの結果を確認す
る．テストケースが 1 つでも失敗した場合は，その告のあったシステムを対象に FIL 手法を適用することで評

t-way テストの結果を実験に用いる．一方，すべての価を行っている．しかし，本手法が評価したい順序依存性

テストケースが合格した場合は，続けて (t + 1)-way テのある不具合と，それを検出するテストケースを兼ね備え

ストの結果を確認する．4-way テストでもすべてのテ

た報告はこれまでに確認できておらず，再現ができない．

ストケースが成功した場合，設定した不具合誘発条件

また先行研究で行われているように，わずか数件の評価結対は使用せず，もう 1 度ランダムに不具合誘発条件対果では結果を一般化できない．こうした理由をふまえ，実を設定する．

際のシステムにおける架空の不具合を多数想定し，それを表 1 に示した例題システムを用いて，本節で述べる組合

元に得たテスト結果に提案手法を適用することで評価を行せテスト結果生成の例を示す．制約を考慮して MFS およc 2021 Information Processing Society of Japan

1012

情報処理学会論文誌

Vol.62 No.4 1008–1018 (Apr. 2021)

び対応する TS をランダムに選択した結果として，3.3 節

なさを表す．0 から 1 の値をとり，1 に近いほど正しいの適用例と同様に，MFS として (-, -, 0, 0) が，TS として

不具合誘発条件対のみを特定結果として検出できたこ(-, 2, 1, -) が選択されたとすると，これらがシステムに存とを表す．この評価尺度は実験 2 でのみ使用される．

在すると想定した場合の 2-way テスト結果として表 4 に示

以下の式によって計算される．

したものと同じテスト結果が得られる．このテストスイー
特定再現率 =

トのうち t5 ，t7 ，t8 がテストに失敗したので，生成された
テスト結果は FIL 能力を評価する実験に使用できる．また
別の場合として，MFS として (0, 0, 1, -) が，対応する TS

5. 実験結果として (-, 2, 1, -) が選択された場合，用意した 2-way テス

5.1 実験 1

正しい不具合誘発条件対数出力された全不具合誘発条件対数

トスイートの中のどのテストケースも失敗しないため，順

表 8 に，単一の不具合誘発条件対が存在する場合の各シに 3-way テストスイートおよび 4-way テストスイートにつステムの組合せテスト結果を対象とした提案手法および比いて，失敗するテストケースが存在するか確認する必要が較手法の特定精度を示す．表 9 に，同様の場合における追ある．

加実行されたテストケース数の平均値，中央値，最小値，

実験 1 のため，対象システムごとに，単一の不具合誘発および最大値を示す．ここから，以下の結果を観察できる．

条件対の存在を想定した 1,000 個の組合せテスト結果を重• F-CODE はすべての場合で単一の不具合誘発条件対を複なく収集する．実験 2 のため，対象システムごとに，2完全に特定することができた．一方，比較手法である

種類または 3 種類の不具合誘発条件対の存在を想定した

単純な OFOT 法の特定精度は，どのシステムのテス

1,000 個の組合せテスト結果を重複なく収集する．

ト結果を対象とした場合でも 0.1 以下にとどまった．

• F-CODE は Tcas を除くすべての対象システムで，比4.4 比較手法

較手法よりも多くの追加テストケースの実行を必要と単純な OFOT 法を比較手法として使用した．ただし，こした．F-CODE が必要とする追加テストケース数は，

こでは失敗したテストケースの一部のパラメータ値を変更

単純な OFOT 法と比較して全体の平均で 107%，中央

した追加テストケースを前もって必要なだけ作成し，それ値の平均で 154%となった．ただし，最大値は比較手

らを連続して実行するという方法をとる．これは，順序依法がはるかに高くなった．

存性を持つ MFS の特定には，少なくとも 2 つ以上のテス
トケースの連続した実行が必要なためである．

5.2 実験 2
順序依存性による非決定的なテスト結果に対する比較手

4.5 評価指標法のパフォーマンスが非常に低いことが実験 1 で示され準備した組合せテスト結果に提案手法と比較手法を適用ているため，実験 2 では F-CODE にのみ焦点を当てる．

し，以下の評価指標を得た．
特定精度 すべての正しい不具合誘発条件対を特定した

FIL の成功率を表す．以下の式によって計算される．

表 8

実験 1 における結果 ：特定精度の比較

Table 8 The result of experiment 1: the localization accuracy.
F-CODEOFOT 法Tomcat

1.000

0.083

Hsqldb

1.000

0.082

本実験では，FIL は，その出力結果がそれまでに実行

Gcc

1.000

0.095

されたテストケースに含まれる想定した不具合誘発条

Jflex

1.000

0.064

件対とすべて一致する場合に成功と判断される．これ

Tcas

1.000

0.100

は想定された複数の不具合誘発条件対のうちの一部

Ave.

1.000

0.085

特定精度 =

システム名

FIL 成功数
FIL 実施件数（= 1,000）

が，PICT によって設計されたテストスイート，および，FIL の過程で追加実行されるテストケースに 1 度

表 9 実験 1 における結果 ：追加テストケース数の比較

Table 9 The result of experiment 1: the number of additionalも含まれない場合，その不具合誘発条件対を特定対象と見なさず，実行されたテストケースに含まれていたtest cases.
F-CODE

システム名

不具合誘発条件対のみを特定対象として評価すべきと

OFOT 法

Ave. Med. Min.

Max.

Ave. Med. Min.

Max.

Tomcat

43.1

37

33

175

30.5

20

10

410

Hsqldb

49.7

43

39

161

37.5

24

12

384

Gcc

42.6

37

33

149

32.3

20

10

490

Jflex

53.1

46

33

188

40.2

26

13

507

特定再現率 1 度の FIL において，無関係であるにもかか

Tcas

85.7

49

33 1,541

116.7

48

12 6,504

わらず誤って不具合誘発条件対と特定されたものの少

Ave.

54.8

42.4

51.4

27.6

いう思想に基づく．
追加テストケース数 FIL を達成するために必要となる追加のテストケースの実行回数を表す．

c 2021 Information Processing Society of Japan


-

-

-

-

1013

情報処理学会論文誌

Vol.62 No.4 1008–1018 (Apr. 2021)

表 10 実験 2 における結果 ：不具合誘発条件対が n 個存在する場
合の F-CODE の特定精度および平均特定再現率

Table 10 The result of experiment 2: the localization accuracy and the average of recall of F-CODE with n
fault-inducing pairs.
システム名

法ではほとんどの場合で特定に失敗した．本節では，比較手法が特定に失敗した理由を分析する．

OFOT 法のメカニズム，および，4.4 節で示した我々の運用を考慮すると，使用した比較手法は次の特性を持つ．

• 連続して実行される追加テストケースのうち最初のテ

特定精度

平均特定再現率

ストケースはつねにテストに合格する．これは，仮に

n=2

n=3

n=2

n=3

Tomcat

0.928

0.776

0.983

0.957

Hsqldb

0.923

0.796

0.991

0.954

そのテストケースが失敗するためには，それ以前に対

Gcc

0.908

0.770

0.982

0.957

応する TS を含むテストケースが実行されていること最初のテストケースに MFS が含まれていた場合でも，

Jflex

0.929

0.793

0.981

0.958

が必要となるからである．しかし，純粋な OFOT 法

Tcas

0.942

0.862

0.992

0.956

では TS の存在を想定していないためそれが保証され

Ave.

0.926

0.799

0.986

0.956

ず，最初のテストケースに MFS が含まれていたとし

表 11 実験 2 における結果 ：不具合誘発条件対が n 個存在する場
合の F-CODE の追加テストケース数

Table 11 The result of experiment 2: the number of additional
test cases of F-CODE with n fault-inducing pairs.
n=2

システム名

ても，テストに合格することになる．したがって，最初の追加テストケースが，失敗したテストケースの n
番目（通常は 1 番目）のパラメータの値を変更したものである場合，失敗したテストケースの n 番目のパラメータの値が自動的に MFS の一部と見なされてしま

n=3

い，誤検出の発生原因となる．

Ave. Med. Min. Max.

Ave. Med. Min. Max.

Tomcat

54.4

43

33

262

66.8

68

33

243

• MFS を含む追加テストケースが失敗するためには，そHsqldb

65.4

51

39

184

78.1

80

39

507

れ以前に実行される追加テストケースの中に対応する

Gcc

56.2

43

33

272

67.8

68

33

418

Jflex

68.4

50

42

264

82.7

86

42

440

Tcas

110.8

91

39

800 149.7

134

39 2,330

Ave.

71.1

57.4

-

-

89.0

87.2

-

-

TS が偶然に含まれる必要があるが，多くの場合これは低い確率でしか起こらない．OFOT 法において MFSを含むにもかかわらず失敗しないテストケースが存在する場合，誤検出の発生原因となる．

表 10 に，不具合誘発条件対が 2 個および 3 個存在する

以上を理由として，単純な OFOT 法は実行順序に依存

場合の F-CODE の特定精度および平均特定再現率を示す．

するテスト結果の FIL に適さないといえる．加えて，運良

表 11 に，同様の場合における F-CODE で追加実行され

く MFS を特定できたとしても，対応する TS を特定する

たテストケース数を示す．ここから，以下の結果を観察でメカニズムを持たないため，不具合の発生を再現する正確

きる．

な条件が得られず，結果が無意味となる可能性が高い．

• 複数の不具合誘発条件対が存在する場合，F-CODE は
完全な特定を達成できなかった．また不具合誘発条件

6.2 追加テストケース数に関する考察

対の数が増えるごとに特定精度が低下した．ただし，

表 9 に示す実験 1 の結果から，F-CODE および単純な

3 つの不具合誘発条件対が存在する場合でも，特定精OFOT 法が必要とするテストケースの追加実行数を比較す度は極端に低くなることはなく，たとえば 77%を下回

ると，だいたい同程度の平均値および中央値となっていた．

ることはなかった．

ただし多くの場合，F-CODE は単純な OFOT 法よりも 10• どの対象システムでも，平均特定再現率は 95%を超え

から 25 程度多くの追加テストケースの実行を必要とした．

た．したがって，F-CODE の特定精度が低い場合でこれは，F-CODE が，OFOT 法では表 3 に，F-CODE でも，誤った不具合誘発条件対を特定結果として出力す

は表 5 のフェイズ 2 に示したような MFS の特定作業に加ることはほとんどない．

えて，表 5 のフェイズ 1 に示す TS の特定，およびフェイ• 不具合誘発条件対の数が増えると，追加実行されるテ

ズ 3 に示す TS を含むテストケースの特定にもテストの追ストケース数が増えた．実行数は不具合誘発条件対が加実行を必要とすることが原因である．フェイズ 1 におけ1 つの場合と比較して，不具合誘発条件対が 2 つの場

る追加実行数はテストスイート内での失敗したテストケー

合では平均 130%，3 つの場合では平均 162%増加した．

スの位置に依存し，フェイズ 3 における追加実行数はテス

6. 議論
6.1 比較手法の特定失敗に関する原因分析

トケースのパラメータ数に依存する．
次に，対象システムによる結果の差について考察する．
実験に使用したテスト対象システムはパラメータ数にほぼ

実験 1 の結果から，F-CODE はすべての場合で不具合差がないため，提案手法のフェイズ 2 およびフェイズ 3 で誘発条件対を特定できたが，比較手法である単純な OFOT

発生する追加テストケース数にもあまり差は出ず，フェイc 2021 Information Processing Society of Japan


1014

情報処理学会論文誌

Vol.62 No.4 1008–1018 (Apr. 2021)

ズ 1 で発生する追加テストケース数に大きく依存することになる．前述のとおり，この数はテストスイート内での失敗したテストケースの位置に依存する．したがって提案手

表 12 原因 1・原因 2 の説明で用いる FIL の対象となるテストス
イートおよびその結果

Table 12 FIL targeted test suite and the results used for explanation of cause 1 and cause 2.

法では，追加実行数の最大値および平均値はテストスイー

テストケース

pa

pb

pc

pd

結果

t1

0

0

0

0

成功

t2

0

1

1

1

成功

t3

0

2

1

0

失敗

t4

1

0

0

1

成功

1,382 という数に近く，使用した 4-way テストスイートの

t5

1

1

0

0

成功

最後尾付近のテストケースが初めて失敗したことに由来す

t6

1

2

1

1

成功

ることが分かる．一方で，比較手法では提案手法における

t7

2

0

1

1

成功

t8

2

1

0

0

成功

t9

2

2

0

0

成功

トを構成するテストケース数に依存することが分かる．たとえば，表 9 における Tcas に F-CODE を適用した際の追加実行数の最大値である 1,541 は，表 7 に示した Tcasの 4-way テストスイートを構成するテストケース数である

フェイズ 2 の処理しか行わないため，追加実行数は単純にシステムのパラメータ数に依存する．ただし，比較手法は特定精度が低いため，他のテスト失敗を説明できる不具合
誘発条件対を見つけることができず，その場合は特定作業を何度も繰り返すことになる．最大値で比較した場合に比表 13 原因 1 の説明で用いるフェイズ 2 で追加実行されたテストス
イートおよびその結果

Table 13 Additional executed test suite and the results in

較手法が上回ったのはこのことが原因だと思われる．加えphase 2 used for explanation of cause 1.

て，Tcas ではテストスイートに含まれるテストケース数がテストケース

pa

pb

pc

pd

結果

0

0

0

0

-

では比較手法の追加実行数の平均値が提案手法を上回った

t1
ta1

1

2

1

0

失敗

のだと考えられる．

ta2

0

0

1

0

失敗

さらに実験 2 の結果から，特定すべき不具合誘発条件対

ta3

0

2

0

0

失敗

の数が増えると，F-CODE が要する追加実行回数も増える

ta4

0

2

1

1

失敗

突出して多いため，最大値も高くなり，それによって Tcas

ことも分かった．この単純な理由は，複数の不具合誘発条
件対を特定するためにフェイズ 1 からフェイズ 3 の処理を複数回繰り返す必要があるためである．

を適用すると，まずフェイズ 1 が適切に機能し，t1 が先に実行されることで t3 が失敗することを特定する．次に，フェイズ 2 が表 13 に示すように動作したとする．ta1 と6.3 複数の要因に対する提案手法の特定失敗に関する原因分析

ta2 には MFS1 は存在しないが，MFS2 が存在するため失敗する．同様に，ta3 と ta4 には MFS2 は存在しないが，

実験 2 の結果から，複数の不具合誘発条件対が存在する

MFS1 が存在するため失敗する．ta1 から ta4 がすべて失敗

場合，F-CODE はそのすべてを特定できない場合があっしたため，MFS が (-, -, -, -) である，つまり無条件でテスた．特定に失敗した数十件のケースを目視で確認し，失敗

トが失敗すると判断されるが，これは誤った結果となる．

の原因を以下の 3 種類に分類した．簡単のため，具体例のこの原因に対して効果的な改善を行うことは難しく，一

説明には表 1 に示した例題システムおよび表 2 に示した

度に複数のパラメータを改変して追加テストケースを設計

その 2-way テストに置き換えたものを用いる．

するような，OFOT 法のメカニズムに代わる方法が必要で6.3.1 複数の MFS が同じテストケースに含まれる場合ある．

同じテストケースに複数の MFS が含まれ，そのテスト

6.3.2 OFOT 法の過程で新たな MFS が混入する場合

ケースのみが失敗し，またそれらに対応する TS が両方とフェイズ 2 において，tf ail の一部のパラメータ値を変もフェイズ 1 で特定されたテストケースに含まれている場

更することで別の MFS が含まれてしまい，かつその別の合，F-CODE による特定は失敗する．これはフェイズ 2 に

MFS に対応する TS がフェイズ 1 で特定された ttrg に含

おいて，OFOT 法によるパラメータ値の変更によって片方まれている場合，テスト結果は成功に変化せず，変更したの MFS がとり除かれたとしても，別の MFS によってテス

パラメータ値が MFS とは無関係であると判断されてしま

トが失敗することで OFOT 法による特定を失敗させるた

うため，F-CODE は特定に失敗する．

めである．

たとえば，前節の例と同様に MFS1-TS1 と MFS2-TS2

たとえば，MFS1-TS1 と MFS2-TS2 という 2 つの不具という 2 つの不具合誘発条件対が存在し，TS1 と TS2 は合誘発条件対が存在し，TS1 と TS2 は共通の (0, -, -, -) で共通の (0, -, -, -) であるとする．また MFS1 が (0, 2, -, -)，あるとする．また MFS1 が (0, 2, -, -)，MFS2 が (-, -, 1, 0)

MFS2 が (-, 0, 1, 0) である場合を考える．テスト結果は，とする．この場合のテスト結果を表 12 に示す．F-CODE

これも前節の例と同様に表 12 のとおり得られている．まc 2021 Information Processing Society of Japan


1015

情報処理学会論文誌

Vol.62 No.4 1008–1018 (Apr. 2021)

表 14 原因 2 の説明で用いるフェイズ 2 で追加実行されたテストス
イートおよびその結果

Table 14 Additional executed test suite and the results inphase 2 used for explanation of cause 2.

テストケースがテストに失敗する．このうち t2 と t8 にはMFS1 のみが含まれ，t5 には MFS1 と MFS2 の両方が含まれている．まず，t2 を対象に F-CODE による不具合誘発
要因特定を行う．その結果，t2 を失敗に導いた MFS1-TS1

テストケース

pa

pb

pc

pd

結果

t1

0

0

0

0

-

ta1

1

2

1

0

成功

ta2

0

0

1

0

失敗

ta3

0

2

0

0

失敗

ることになる．したがって F-CODE は t5 および t8 に対す

失敗

る特定作業をスキップし，MFS1-TS1 だけを報告して動作

ta4

0

2

1

1

について問題なく特定される．さらに，t5 および t8 にもMFS1 が含まれていることが分かるため，t5 および t8 のテ
スト失敗はどちらも MFS1-TS1 の存在によって説明できを完了する．しかし実際には t5 には MFS2 も含まれてお表 15 原因 3 の説明で用いる FIL の対象となるテストスイートお

りこちらは特定されていないため，ソフトウェアの修正によって MFS1-TS1 だけが誘発する不具合箇所がとり除か

よびその結果Table 15 FIL targeted test suite and the results used for explanation of cause 3.

れたとしても，t5 は MFS2-TS2 によって失敗してしまう．
この原因による特定失敗はスキップ機能を無効にするこ

テストケース

pa

pb

pc

pd

結果

とで改善できるが，代償として追加テストケース実行回数

t1

0

0

0

0

成功

は大幅に増加すると考えられる．

t2

0

1

1

1

失敗

t3

0

2

1

0

成功

t4

1

0

0

1

成功

t5

1

1

0

0

失敗

t6

1

2

1

1

成功

実験に用いた提案手法 F-CODE および比較手法を実現

t7

2

0

1

1

成功

するプログラムはいずれも著者が作成したものであり，実

t8

2

1

0

0

失敗

装に誤りがあった場合に結果に影響をもたらす可能性があ

t9

2

2

0

0

成功

る．したがって事前に試運転を行い，動作の正しさを入念

7. 妥当性への脅威
7.1 内的妥当性に確認することで妥当性を高めた．
たこれも同様に，フェイズ 1 は適切に機能し，t1 が先に実行されることで t3 が失敗することを特定できる．続くフェ7.2 外的妥当性

イズ 2 が，表 14 に示すように動作した場合を考える．ta1

実験では，13 個を上限とする入力パラメータ数を持つシで pa の値を 0 から 1 に変更すると，MFS1 が削除され，テステムを対象とした 4-way テスト以下の t-way テストを用

スト結果が成功に変わる．しかし，ta2 で，pb の値を 2 かい，一度に最大 3 つの不具合誘発条件対を想定したテスト

ら 0 に変更すると，MFS1 は削除されるが，新たに MFS2

結果を実験対象とした．そのため，これらの上限を上回るが含まれるようになるため，結果は失敗のままとなる．ta3

実験対象を用いた場合は異なる実験結果が得られる可能性と ta4 は MFS1 を削除しないため失敗のままである．ta2 ，がある．ただし，妥当性の確保のため，先行研究で用いら

ta3 ，ta4 が失敗したという結果から (0, -, -, -) が MFS と判れたものと同じ 5 種類のテスト対象システムを使用した．

断されるが，これは誤った結果となる．
こちらも OFOT 法のメカニズムに由来する失敗原因であるため，こうした問題に効果的な別の FIL 手法を開発し7.3 構成概念妥当性
我々の提案および評価は，3 章に示した前提に基づいて取り入れない限り，根本的な改善は不可能である．

いる．そのため，提案手法は前提に従わない順序依存性を

6.3.3 発見済みの不具合誘発条件対によって未発見の不持つ非決定的なテスト結果の FIL に適していない可能性

具合誘発条件対が隠される場合がある．たとえば他のバリエーションとして，1 つの MFS

F-CODE では効率を最大化するため，すでに発見されたに対応する TS が複数存在する場合や，TS に依存せず単不具合誘発条件対で説明できるテストの失敗に対する特定に実行回数に依存する場合が考えられる．ただし，我々の作業をスキップする．ただし，スキップされたテストケー

前提は実行順序への依存の形式として最も一般的なものでスに別の MFS が含まれている場合，そちらについては出あり，今回我々が提案したアイデアを適切に拡張すること力されず，したがって完全な特定には至らない．

で個別に対応が可能であると考えている．

たとえば，これまでの原因と同じく 2 種類の不具合誘発
条件対が存在し，TS は (0, -, -, -) で共通している．また

MFS1 が (-, 1, -, -)，および MFS2 が (1, -, 0, 0) とする．
この場合のテスト結果を表 15 に示す．t2 ，t5 ，t8 の 3 つのc 2021 Information Processing Society of Japan

8. 関連研究
これまでにいくつかの FIL 手法が提案されている．これ
らは大きく 2 種類に分類できる．

1016

情報処理学会論文誌

Vol.62 No.4 1008–1018 (Apr. 2021)

1 つは，事前に設計され実行された組合せテストの結果

果に提案手法と既存手法を適用し，FIL の精度と追加テスに基づいてテストを追加実行することで FIL を達成する

トケース数を比較した．また不具合要因が単一の場合と複方法である．OFOT 法 [3] および我々の提案手法 F-CODE数の場合でこれを行った．その結果，既存手法がほぼすべ

はこれに該当する．以下，この区分に含まれる他の代表的ての特定に失敗した一方で，提案手法は単一の要因に関しな手法を紹介する．Zhang らによる FIC 法 [4] は OFOTては完全に特定でき，また複数の要因についても高い水準法の拡張であり，反復作業によって複数の要因を特定でで特定が可能であることが示された．また，本手法によっきる．FIC 法の仕組みを取り入れることで，特定対象とて追加されるテストケース数についても極端に多くはならして複数の要因が含まれる場合の F-CODE の動作を改善ないことが示された．今後の発展として，複数の要因によできる可能性がある．Zheng らによる comFIL [13] は，失り対応できるよう，また必要な追加テストケースの数を減敗したテストケースにのみ含まれるパラメータ値の組合らすために，アルゴリズムを改善することが望まれる．

せを MFS の候補として保持し，追加のテストケースを実行することで候補を絞り込んでいく．Ghandihari らによ

謝辞 本研究は JSPS 科研費 JP19K20240，JP18H04094の助成を受けた．

る BEN [5], [14], [15] は，特定の計算式によって各 MFS 候
補の不審さを計算することで，優先付けによって効率的

参考文献

な特定を行う．Nishiura らは，ロジスティック回帰分析[1]を利用して複雑な MFS を予測的に特定する方法を提案した [16]．Zeller らによるデルタデバッギング [6] やその改良
手法 [17], [18] は，厳密には組合せテストの結果を対象と

[2]
[3]

する FIL 手法ではないが，新たなテストの作成と実行に基づいてプログラムの不具合原因を特定する部分で共通して
いる．

[4]

もう 1 つは，テスト結果から不具合誘発要因を特定できるよう拡張された組合せテストスイートを事前に作成する方法である．Colbourn らによって提案された LDA [19][5]は，組合せサイズ d + t を網羅するテストスイートを設計することで，t 以下のパラメータ値で構成された d 個以下の MFS をテスト結果から特定できる．Martı́nez らによる

ELA [20] はその拡張であり，パラメータのとりうる値の数[6]も考慮して設計する．こうしたアプローチはテストスイー
トの設計および実行プロセスと FIL プロセスを完全に分離[7]

できる一方，MFS の数と大きさに対する仮定が必要であること，また単純なテストスイートに比べてテストケースの数が大幅に増えることが不利益となる．

[8]

こうした既存手法はいずれも非決定的なテスト結果を処理できるよう構築されておらず，我々の提案には大きな新規性がある．また，Niu らの研究 [7] は，提案手法を評価[9]する際にテスト結果の非決定性を考慮した我々の知る唯一の研究である．彼らは同じテストケースを複数回実行する[10]

ことで非決定性の緩和を試みたが，この方法は確率的ゆえに不確実であり，また実行順序ではなく完全なランダム性に由来する非決定性にのみ機能する．

[11]

9. おわりに本研究では，FIL 手法の非決定的なテスト結果への拡張[12]として，非決定的なテスト結果が得られる原因に着目し，実行順序に依存して不具合を誘発する要因の特定に焦点を絞った新しい FIL 手法である F-CODE を提案した．評価
実験では，5 種類のシステムを対象とする組合せテスト結c 2021 Information Processing Society of Japan[13]

Nie, C. and Leung, H.: A survey of combinatorial testing, ACM Computing Surveys (2011).
Kuhn, D.R., Kacker, R.N. and Lei, Y.: Introduction tocombinatorial testing, CRC Press (2013).
Nie, C. and Leung, H.: The Minimal Failure-Causing
Schema of Combinatorial Testing, ACM Trans. Softw.
Eng. Methodol., Vol.20, No.4, pp.15:1–15:38 (online),
DOI: 10.1145/2000799.2000801 (2011).
Zhang, J., Ma, F. and Zhang., Z.: Faulty interaction
identification via constraint solving and optimization,
Proc. International Conference on Theory and Applications of Satisfiability Testing (SAT ), pp.186–199 (2012).
Ghandehari, L.S.G., Lei, Y., Xie, T., Kuhn, R. andKacker, R.: Identifying failure-inducing combinations in
a combinatorial test set, Proc. IEEE 5th International
Conference on Software Testing, Verification and Validation (ICST ), pp.370–379 (2012).
Zeller, A. and Hildebrandt, R.: Simplifying and isolating
failure-inducing input, IEEE Trans. Software Engineering, Vol.28, No.2, pp.183–200 (2002).
Niu, X., n. changhai, Leung, H.K.N., Lei, Y., Wang, X.,
Xu, J. and Wang, Y.: An interleaving approach to combinatorial testing and failure-inducing interaction identification, IEEE Trans. Software Engineering, p.1 (2018).
Luo, Q., Hariri, F., Eloussi, L. and Marinov, D.: An
Empirical Analysis of Flaky Tests, Proc. 22nd ACM
SIGSOFT International Symposium on Foundations ofSoftware Engineering, FSE 2014, pp.643–653 (2014).
Khalsa, S.K. and Labiche, Y.: An Orchestrated Survey of
Available Algorithms and Tools for Combinatorial Testing, 2014 IEEE 25th International Symposium on Software Reliability Engineering, pp.323–334 (2014).
PICT: Pairwise Independent Combinatorial Tool (online), available from http://github.com/Microsoft/pict(accessed 2020-07-30).
Czerwonka, J.: Pairwise testing in the real world: Practical extensions to test-case scenarios (online), available
from https://msdn.microsoft.com/en-us/library/
cc150619.aspx (accessed 2020-07-30).
Micco, J.: Flaky Tests at Google and How We Mitigate
Them (online), available from https://testing.
googleblog.com/2016/05/flaky-tests-at-google-and-howwe.html (accessed 2020-07-30).
Zheng, W., Wu, X., Hu, D. and Zhu, Q.: Locating
Minimal Fault Interaction in Combinatorial Testing, Advances in Software Engineering, Vol.2016, p.10 (2016).

1017

情報処理学会論文誌

[14]

[15]

[16]

[17]

[18]

[19]

[20]

Vol.62 No.4 1008–1018 (Apr. 2021)

Ghandehari, L.S., Chandrasekaran, J., Lei, Y., Kacker,
R. and Kuhn, D.R.: BEN: A combinatorial testing-based
fault localization tool, Proc. IEEE 8th International
Conference on Software Testing, Verification and Validation Workshops (ICSTW ), pp.1–4 (2015).
Sh. Ghandehari, L., Lei, Y., Kacker, R., Kuhn, D.R.R.,
Kung, D. and Xie, T.: A Combinatorial Testing-BasedApproach to Fault Localization, IEEE Trans. Software
Engineering, p.1 (2018).
Nishiura, K., Choi, E. and Mizuno, O.: Improving
Faulty Interaction Localization Using Logistic Regression, Proc. 2017 IEEE International Conference on
Software Quality, Reliability & Security (QRS2017 ),pp.138–149 (2017).
Wang, Z., Xu, B., Chen, L. and Xu., L.: Adaptive Interaction Fault Location Based on Combinatorial Testing,Proc. IEEE 10th International Conference on Quality
Software (QSIC ), pp.495–502 (2010).
Li, J., Nie, C. and Lei, Y.: Improved Delta Debugging Based on Combinatorial Testing, 2012 12th International Conference on Quality Software, pp.102–105(2012).
Colbourn, C.J. and McClary, D.W.: Locating and detecting arrays for interaction faults, Journal of combinatorial optimization, Vol.15, No.1, pp.17–48 (2008).
Martı́nez, C., Moura, L., Panario, D. and Stevens,
B.: Locating errors using ELAs, covering arrays, andadaptive testing algorithms, SIAM Journal on Discrete
Mathematics, Vol.23, No.4, pp.1776–1799 (2009).

水野 修 （正会員）
平成 11 年大阪大学大学院基礎工学研
究科助手．平成 13 年博士（工学）大阪
大学．平成 22 年京都工芸繊維大学大学院工芸科学研究科准教授．平成 29
年同情報工学・人間科学系教授．主にソフトウェアのバグ検出手法，ソフト
ウェアリポジトリのマイニングに関する研究に従事．IEEE
会員．

崔 恩瀞 （正会員）
平成 27 年大阪大学大学院情報科学研
究科博士後期課程修了．同年同大学大学院国際公共政策研究科助教．平成 28 年奈良先端科学技術大学院大学
情報科学研究科助教．平成 30 年同大学先端科学技術研究科助教（改組による）．同年京都工芸繊維大学情報工学・人間科学系助教．博士（情報科学）．コードクローン管理やリファクタリング
支援手法に関する研究に従事．

西浦 生成 （学生会員）
平成 30 年京都工芸繊維大学大学院工芸科学研究科博士前期課程情報工学専
攻修了．修士（工学）．同大学大学院
工芸科学研究科博士後期課程設計工学専攻在学中．平成 28 年より国立研究開発法人産業技術総合研究所リサーチアシスタント．ソフトウェアのテスト・不具合局所化に関する研究に従事．

渡辺 大輝
令和 2 年京都工芸繊維大学大学院工芸科学研究科博士前期課程情報工学専攻修了．修士（工学）．ソフトウェアの
テスト・不具合局所化に関する研究に従事．

c 2021 Information Processing Society of Japan

1018