1
日本ソフトウェア科学会第 36 回大会 (2019 年度) 講演論文集

ファズ・データセットを用いたメタモルフィック・テス
ティング 〜 機械学習ソフトウェアの検査 〜
中島 震
機械学習ソフトウェアの品質は，学習時に用いる訓練データセットに大きな影響を受ける．ソフトウェア・テスティ
ングからみると，訓練データセットは学習ソフトウェアへのテスト入力であり，適切なデータセットを作成する方法
が重要な役割を果たす．本稿では，学習プログラムを対象としたメタモルフィック・テスティング手法を基本とし，例外系テスティングで用いるファズ・データセットの系統的な生成方法を提案する．

Choice of training dataset has much impact on machine learning software quality. As such a dataset can be,from a viewpoint of software testing perspectives, regarded as a test input to a machine learning program,generating appropriate dataset plays a key role in the testing activities. This paper proposes a new metamorphic testing method with semi-randomly generated fuzz datasets. Generating such datasets is dependent
on distortions in trained learning models.

[26] に分類される．

1 はじめにオラクル問題への解決アプローチとして，メタモル

機械学習ソフトウェア技術の進展 [8] [9] と共に，極フィック・テスティング（Metamorohic Testing, MT）

めて高い信頼性（Extreme Reliability）が必要な応[5] [6] が有力な方法である．実際，深層ニューラル・

用サービスへの適用が期待されるようになってきた．

ネットワーク（DNN）などの機械学習ソフトウェア

一方で，道路上の対象認識を行う機械学習ソフトウェの品質検査に適用する研究が進み，学習プログラム

アの不具合が，自動運転車による人身事故を引き起[12] [15] [27] ならびに予測プログラム [23] [28] [29] の検こした可能性が指摘された [29]．機械学習ソフトウェ

査事例が報告されている．検査効率の良いテスト入力

ア品質評価方法の確立が急務となっている [16]．

の自動生成が技術的な関心の中心である．

機械学習ソフトウェアには，その品質を考える上本稿では，ニューラル・ネットワークの学習プログ

で，従来のソフトウェアと異なる難しさがある [14]．

ラムを対象として，想定外の状況下での検査での利第 1 に，品質を議論する対象が，訓練データセット用を考えたファズ・データセットの自動生成と，このを入力し訓練済み学習モデルを求める学習プログラ

ファズ・データセットを用いるメタモルフィック・テ

ムと，得られた訓練済み学習モデルが機能振舞いをスティングの方法を報告する．データセット多様性

規定する予測プログラムの 2 つに分かれている．第[13] を示すテスト入力の具体的な方法であって，訓練

2 に，計算結果が正しいか否かを判断する基準が明ら済み学習モデルの歪み [17] に着目するものである．

かでなく，オラクル問題 [3] への対応を考える必要がある．特に，学習プログラムは，訓練結果の正解値を2 機械学習ソフトウェアの特徴

予め知ることが困難であり，テスト不可能プログラム

ニューラル・ネットワークの教師あり分類学習を具体例として機械学習ソフトウェアの特徴を整理する．

Metamorphic Testing with Fuzz Dataset.
Shin Nakajima, 国立情報学研究所, National Instituteof Informatics.

日本ソフトウェア科学会第 36 回大会 (2019 年度) 講演論文集

2

LS を入力値として，この最適化問題を解く学習プロ
グラムを Lf (LS) と表記する．今，ℓ(y(W ; ⃗xn ), tn )を，⃗
xn に対する予測計算値 y(W ; ⃗xn ) と正解タグ tnの距離とする時，LS の大きさを N として，誤差関
数 E を次のように定義する．
N1∑ℓ(y(W ; ⃗xn ), tn )E(W ; {⟨⃗xn , tn ⟩}) =
N
n=1

図1

この誤差関数 E の最小化は，LS の経験分布 ρem に
Algorithmic Modeling2. 1 入出力マッピング
図 1 に示すように，DNN は未知の入出力関係を関数近似で具体的に表現したネットワーク計算モデル[9] である．入力の対象データから予測結果の出力値を計算する手順を表すことから，アルゴリズミック・
モデリング [4] と云われる．
入出力関係が複雑なことから，すべての場合を事前に分析し，プログラム化することが難しい．そこで，膨大な規模の訓練データセットから，DNN モデルを訓練学習する方法を用いる．以下，教師あり分類学習
タスクを想定して，訓練学習の基本的な方法を説明す
る．多次元ベクタとして表されたデータを C 個のカ
テゴリ（クラス）に分類する学習タスクである．
多次元データ・ベクタ ⃗xn と正解タグ tn の組の集
まりをデータセット DS とし，DS = {⟨⃗xn , tn ⟩} と表す．データ ⃗x を入力としパラメータ W を持つ非線形関数を y(W ; ⃗x) とする．W を学習パラメータと呼び，その値が確定して W c とする時，y(W c ; ⃗x) は入力⃗
x に対するタグ値の予測結果を返す．y(W c ; ⃗x) は求めた未知の入出力関係（図 1）の良い近似となる．
なお，パラメータ W の値が未定の時，y(W ; ) の全体は，W を指標とする関数の集まりを表し，学習モデルと呼ばれる．

対する ℓ の期待値を最小化する W ∗ を求める最適化問題

W ∗ = argmin E⟨⃗x,t⟩∼ρem [[ℓ(y(W ; ⃗x), t)]]Wである．
上記で求めた学習パラメータの最適解 W ∗ を用いて，運用時の入力データ ⃗x に対して予測結果を返す
推論プログラム If を，W ∗ あるいは y(W ∗ ; ⃗x) を用いて定義する．分類学習タスクでは，データ ⃗xm に対する If の計算結果を，C 個のカテゴリに属する確からしさを表す確率分布 P rob(⃗
xm , c) とする．
機械学習ソフトウェアの品質を論じる対象は，Lf
および If の２つがある．Lf は，用いた学習方式を実現した数値計算プログラムであって，上位仕様としての学習方式を忠実にプログラム化しているか否かが品質に関わる．If は予測性能が品質を論じる観点となる．また，予測性能は LS が含まない入力データに対する予測結果を基本とする．この予測結果は Lfの計算結果である訓練パラメータ W ∗ によって決まる．したがって，Lf および If 共に，その品質に関わる議論は訓練データセット LS に依存する．

2. 3 収束性と正解率
ニューラル・ネットワークの最適解探索は非凸問題であり，解への収束が保証されていない．また，訓練データセット LS に過適合，つまり，過学習の状況
は，期待する W ∗ として好ましくない．収束性の向2. 2 最適化問題
学習は，学習モデルを決めた後，与えられた訓練
データセット LS = {⟨⃗xn , tn ⟩} に対して，誤差関数 Eを最小化するパラメータ値 W ∗ を求める数値最適化
である．

W ∗ = argmin E(W ; {⟨⃗xn , tn ⟩})W

上と過学習の軽減が学習アルゴリズムの鍵となる [9]．
通常，繰り返し探索過程（エポック進行過程）で，収束性と正解率の推移を監視することで，学習過程を観測する．エポック e 時点でのパラメータ値を W eとする時，収束性は誤差関数の値 E(W e ; LS) である．
また，データセット DS = {⟨⃗xm , tm ⟩} の W e に対す日本ソフトウェア科学会第 36 回大会 (2019 年度) 講演論文集

3

る正解率を

acc(W e ; DS) = ♯(arg max P rob(⃗
xm , c) = tm )c∈Cとする．ただし，♯P (x) は，有限集合 X の要素 x について述語 P (x) が論理真となる頻度を表す．LS と異なるデータセット T S を試験データセットとして，エポッ
ク進行過程で acc(W e ; LS) ならびに acc(W e ; T S) を監視する．2 つが同等であれば，過学習が軽減されている．

(a) Probably Correct (ProgPC)

図 2 は収束性と LS および T S に対する正解率をエ
ポック進行に沿ってグラフ化した．ただし，LS と T S
は同じ経験分布を持つ異なる標本である．後の議論と関係することから，図 2(a) と (b) に２つのプログラ
ムに対するグラフを示す．図 2(a) は標準的な学習方法を恐らく正しく実現したプログラム（ProgPC†1 ）であり，図 2(b) は前記に欠陥を意図的に混入したプ
ログラム（ProgBI†2 ）である．

(b) Bug-Injected (ProgBI)

図 2 から，エポック進行と共に，収束傾向が見られること，ならびに，LS と T S の正解率が同等であり

図2

Loss and Accuracy: MNIST dataset

共に良い値（95% 以上）になっていること，がわかる．また，図 2(a) と (b) のグラフを区別することはグラムが，事前・事後条件を伴うとしよう．プログラ

難しく，プログラム欠陥の有無が判断できないことがわかる †3 ．

ム本体 Body と事前条件 P re，事後条件 P ost の間には，「事前条件を満たす時，プログラム本体実行後の状態で事後条件を満たす」という関係が成り立つ．事3 ソフトウェア・テスティング

前条件 P re を満たすテスト入力データに対して，上

ソフトウェア・テスティングでは，何をテスト入力

記の関係が成り立つ時，プログラム Body はテストとするか，どのようにして実行結果が正しいかを判定に合格したとする．

するか，という 2 つの観点が重要になる [2]．前者を例外系テスティングは，想定外の状態でプログラム

テスト入力生成問題，後者をオラクル問題と呼ぶ．

が破滅的な不具合を生じないことを確認する．一般に，プログラムは P re を満たさない入力に対しても，

3. 1 ファズ・テスティング

それなりの振舞いを示すことが期待される．¬P re を最初に，テスト入力生成の問題に関連する事項を説満たすデータが入力された場合に暴走して異常終了

明する．プログラムの品質を確認する際，正常系テスするようなことがあってはならない．従来から，システィング（Positive Testing）と例外系テスティング

テム・ソフトウェアやセキュリティ・システムなどの（Negative Testing）を適宜行う．

オープンなソフトウェアの例外系テスティングでは，正常系テスティングは，検査対象が想定した機能振ランダムに生成したデータをテスト入力とするファ舞いを示すことの確認である．説明の都合上，プロズ・テスティング（Fuzz Testing）の方法 [11] が知られている．

†1 Probably Correct.
†2 Bug-Injected.
†3 有無がわからないように欠陥を混入することが可能である．

日本ソフトウェア科学会第 36 回大会 (2019 年度) 講演論文集

4

3. 2 メタモルフィック・テスティングと云われる．

メタモルフィック・テスティング（MT） [5] は，数値計算あるいはコンパイラを含むトランスレータな3. 3 データセット多様性

ど，入力に対する計算結果の正解値を予め知ること

部分オラクルの役割を果たす黄金出力を作り出す方が難しいテスト不可能プログラム [26] の検査方法とし法として，従来は，デザイン多様性（Design Diver-て考案され，その後，暗黙のオラクルを用いるシステsity）とデータ多様性（Data Diversity）の２つが知ム・ソフトウェアやセキュリティ・システムの検査にられていた [1]．デザイン多様性は，N-バージョン・

適用された．機械学習を含む幅広いソフトウェアのテ

プログラミングで実現されることが多く，同じ機能

スティング方法論として使われるようになってきた．

仕様を満たすプログラムを複数（N 個）開発し，同

ここでは，文献 [6] をベースに MT の概要を紹介する．

じテスト入力に対して同じ出力を得るかを確認する．

MT は検査対象に適切したメタモルフィック関係

データ多様性は，検査対象が満たす性質から，テスト（Metamorphic Relations, MR）を用いるソフトウェ

入力に用いる多様なデータを系統的に求める方法論

ア・テスティングの方法論である．今，検査対象をである．

関数 f : D1 →D2 で表す．N 個（N ≥2）の入力 x(n)(n)（1≤n≤N ）と N 回のテスト実行結果 f (xる 2N 項 関 係 R(x(1), . . ., x(n)

, f (x(1)

機械学習ソフトウェアは，膨大なデータの集まり) に対す（データセット）から訓練済み学習モデルを導出し(n)（Lf ），そのモデルを用いて運用実行時に予測推論結), . . ., f (x))（R : D1N ×D2N ）を MR と呼ぶ．

果を返す（If ）．いずれにしても，機械学習ソフト

多くの MT 適用事例と同様に本稿の方法は，上記ウェアの品質はデータセットに依存する．そこで，テの一般的な MR を制限した形で用いる．MR をプロ

スト入力としてのデータセットに着目した検査法を考グラムへの入力データの関係 T と出力に関わるメタえる必要がある．

モルフィック関係 RelT に分解する．以下，N = 2 の

データセット多様性（Dataset Diversity） [13] は，学習プログラム Lf のテスティングを行う際に，さま場合について説明する．
検査対象 f の 2 つの異なる実行結果の間で満たす

ざまなデータセットを用いるという考え方である．機

べき関係を RelT : D2 ×D2 とする．RelT は f の機

械学習では，与えた訓練データセット LS が，予測推能振舞いに関わる上位仕様から導出されると考える．

論プログラム If の機能を内在するとみなしていた．

この時，次のような関数 T : D1 →D1 があるとする．

LS が暗黙に想定する機械学習タスクとの関連を考え∃T ∈D1 →D1 . ∀x∈D1 . RelT (f (x), f (T (x)))

なくてはならない．

変換関数 T によって生成されたデータをフォローアッ

正常系テスティングは，LS と同じ経験分布を持つ

プ・テスト入力と呼ぶ．MT は，このような変換関数

が LS と異なる標本（データセット）をテスト入力とT とメタモルフィック関係 RelT を用いて，する．一方，例外系テスティングであっても，従来の

′

′

′

∃x ∈D1 . ¬RelT ( f (x ), f (T (x )) )ファズのようにランダム生成したデータセットは役立′となる x を見つけるテスティング法である．見つかったない．このようなデータセットは LS と全く異なるた場合，f に欠陥があると推定する．見つからなけれ

学習タスクになる可能性が大きいからである．

ば，テスト範囲で欠陥の有無は不明である．

そこで，訓練データセット LS を初期データセット

MT の方法では，f (x) と f (T (x)) の 2 つのプログ

DS (0) とし，LS と少し異なるデータセット DS (K)ラム実行結果が関わる．いずれも，設計仕様や理論的を順次生成する．DS (K) を求める際，DS (K−1) に対な考察から得られる正解値ではないことから，通常のする学習結果の情報を用いる．たとえば，検査対象

オラクルとはならない．互いに相対的な正解の役割をが SVM の場合は，DS (K−1) に対して求めた分離ハ果たす黄金出力（Golden Outputs）と呼ぶプログラ

イパー面の近傍に新たなデータを追加した DS (K) のム実行結果であり，部分オラクル（Partial Oracles）

テスティング効果が大きかった [12]．そこで，目的に日本ソフトウェア科学会第 36 回大会 (2019 年度) 講演論文集
合った変換関数 T ′ を定義し，λ が適切な大きさの時，⃗x(n)∗ はノイズの影響が小さ

DS (K) = T ′ (DS (K−1) , g(DS (K−1) ))く，⃗
x(n) とほぼ一致する．次に上記の TA を用いて，に よって ，順 次 ，異 な る デ ー タ セット を 生 成 する ．先 の SVM の 例 で は ，g と し て ，訓 練 デ ー タ
セット LS(K−1)

5に 対 す る 学 習 結 果 Lf (LS(K−1)

Tλ (LS (K) ) = TA (LS (K) , FL (LS (K) ))と定義すると，LS (K) = Tλ (LS (K−1) ) と表せる．た)だし，LS (0) は与えられた訓練データセットとする．

を 選 ぶ 場 合 に 相 当 す る ．こ の 関 係 式 を 書 き 直 しさまざまな λ 値を与えたり，あるいは，ある特定のて ，T (LS

LS

(K)

(K)

′

= T (LS, Lf (LS(K))) と す れ ば ，

λ 値に対する Tλ を繰り返して適用したりすることで) であり，MT 法の定義と良得られるデータセットを LS λ と総称する．LS λ は，)≡T (LS(K−1)(K)

く対応する．

LS と同じ学習タスクを表す一方で，異なる経験分布を持つ．つまり，データセット多様性を示す多数の

4 ファズ・データセットによるテスティング

データセットを系統的に生成することができる．

訓練済み学習モデルの歪み [17] に着目したメタモ
ルフィック・テスティングの方法を説明する．

4. 2 検査の指標
前節の Tλ をフォローアップ入力生成関数とする

4. 1 歪みデータセット

場合について，適切なメタモルフィック関係を求め

MT のフォローアップ入力生成法として，敵対デー

る．正解率関数 acc を用いる方法を考える．以下，

タ例の生成方法 L-BFGS [22] を利用した「歪みデー
タ」の作成法を示す．

W (K)∗ = Lf (LS (K) ) と略記する．
先の最適化問題の形から，特別な場合として，⃗
xn

元データ ⃗
xS をラベル tT に誤分類させる敵対デー∗

タ例は制約条件付きの最適化問題の解 ⃗x として求め∗は⃗x(n)∗ になり得る．つまり，LS (1) は LS (0) と「同等な」分類学習タスクを定義すると考えて良い．一ることができる．W を訓練済み学習パラメータの集方，λ 値の選び方によって，W (0)∗ に適合する範囲内

まりとして，

で，⃗x(n)∗ の ⃗xn からの「ズレ」が生じる．Aλ からわAλ (W ∗ ; ⃗xS , tT , ⃗x)

かるように，W (0)∗ に過適合するように ⃗x(n)∗ を決め∗ることができる．

= ℓ(⃗y (W ; ⃗x), tT )+ λℓ(⃗x, ⃗xS )に対して，歪みデータセットを繰り返し生成する場合を考え⃗x∗ = argmin Aλ (W ∗ ; ⃗xS , tT , ⃗x)

ると，W (K)∗ は LS (K+1) への適合度が高く，仮想的

s.t. |xj |≤1

な極限では LS (∞) に「最適化」される．その結果，⃗xによって求める．多次元データ ⃗x を ⟨. . ., xj , . . .⟩ とし

LS (0) と同じ経験分布の試験データセット T S に対た．関数 Aλ の定義式中，第 1 項は ⃗x に対する予測

する正解率が低下するが，K が異なっても W (K)∗ の結果が与えられた教師タグ tT を，第 2 項は ⃗x が指定

T S に対する正解率は大きな変化がないと期待できる．
簡単のため，収束と判定されたエポックでの正解のデータ ⃗
xS を再現することを表す．
上記の方法を利用して次のような変換関数を考えnる．入力データセット LS の要素である元データ ⃗x
全てにノイズを挿入したデータセットを求める．

⃗x(n)∗ = arg min Aλ (W ∗ ; ⃗xn , tn , ⃗x)
⃗
x

として，

TA (LS, W ∗ ) = { ⟨⃗x(n)∗ , tn ⟩ }は，歪んだ入力ベクトル ⃗x(n)∗ からなるデータセットとなる．λ が微小値の場合，歪みの度合いが大きい．

率を考え，ACC(DS, T S) = acc(Lf (DS), T S) とお
く．LS (K) に対して，微小値 ϵ を選んで，RelT (LS (K) , LS (0) )= |ACC(LS (K) , T S)−ACC(LS (0) , T S)| ≤ ϵを MR としよう．つまり，LS (0) （あるいは LS (K) ）の訓練結果である W (0)∗ （あるいは W (K)∗ ）を用いて T S に対する正解率を比較する．

日本ソフトウェア科学会第 36 回大会 (2019 年度) 講演論文集

6

タセット T S を用いた収束性と正解率のグラフは図2(a) と (b) に示す通りである．
次に，MNIST データセットの LS を LS (0) とし，LS (K) = Tλ (LS (K−1) ) によって，順次，歪みデータ
セットを求める．図 3 に，LS (1) の一部を図示した†4 ．
(a) Probably Correct (ProgPC)

もとの MNIST データに何らかの「ノイズ」が被さっている．目視する限り，あきらかに，図 3(b) は図 3(a)よりも「汚れて」いる．つまり，歪みの度合いが大きい．
図 4 は LS (1) を訓練データセットとした時の学習過程を示す．ここで，試験データセットは T S である．

(b) Bug-Injected (ProgBI)
図3

Distorted Data

図 4(a) と (b) 共に，訓練データセットに過適合（過学習）していることが確認できる．つまり，W (0)∗ が

LS (1) に過適合していることを表す．一方，T S に対する正解率を比較すると，図 4(a) が 90%，図 4(b)が 60%と大きく異なる．先の MR 定義に与える ϵ を

0.1 程度に設定すると，収束と考えられるエポックで，
図 2(b) では 95%を超えていたことから，図 4(b) はMR を満たさない．
以上，MT の方法によって，ProgBI に欠陥があると推測できる．

(a) Probably Correct (ProgPC)
5. 2 議論
欠陥の意図的な混入実験によって，欠陥の有無が
図 4 のグラフ（T S に対する正解率グラフ）に大きな影響を与えることが読み取れる．欠陥がある学習プ
ログラムは「歪んだ」学習モデルを作り，これを用いる変換関数 TA は「大きな」歪みのデータセットを(b) Bug-Injected (ProgBI)
図4

Loss and Accuracy: Follow-Up Dataset

作る．その結果，訓練データセットとして用いたファズ・データセット LS (1) と試験データセット T S の経験分布との違いが大きくなり T S に対する正解率が低下した．

5 実験

学習プログラム Lf に欠陥があると、訓練済み学習

5. 1 手書き数字分類

モデルあるいは W ∗ に大きな歪みを生じる [17]．こ

手書き数字分類の標準ベンチマーク問題であるの歪みを直接観察する方法があれば，Lf の欠陥の有

MNIST データセットの実験結果 [18] を報告する ．

無を調べることができるだろう．残念なことに，歪実験は欠陥がないと考えられる学習プログラ

みを観察する方法がないので，歪みのある W ∗ を用ム（ProgPC）と 欠 陥 を 混 入 し た 学 習 プ ロ グ ラ ム

いたデータセット生成関数 Tλ によってフォローアッ

（ProgBI）の 2 つの系列で行って結果を比較した．

†4 直感的な見やすさから，MNIST データの白黒を反転させて表示している．

最初に，MNIST の訓練データセット LS と試験デー

日本ソフトウェア科学会第 36 回大会 (2019 年度) 講演論文集
プ入力となるファズ・データセット LS ′ を生成した．

7

成する．これは従来からある CNN を対象としたデー′

タ拡張（Data Augmentation）[10] の方法に準じていの歪みは，前記の W ∗ が内在していた歪みが伝播しる．特に，試験時拡張（Test-Time Augmentation）

たものである．このようなデータセット LS ′ の経験といえる．文献 [29] ならびに [23] は試験データセット

分布は計算できるが，経験分布の違いの具体的な影響の統計的な性質を考慮していない．

この生成プログラムに欠陥がないと仮定すると，LSは収束性と正解率として顕在化する．経験分布も歪み

DeepRoad [28] は，敵対生成ネットワーク（Generative Adversarial Networks, GAN）に基づく方法にを直接観察する方法ではない．
仮に，検査対象の学習プログラム Lf を歪みを観察する関数と同一視してみよう．上記のメタモルフィッ

よって新たなデータを生成する．ここで，GAN [24]は，零和†5 ゲーム [19] として定式化される．与えらク・テスティング過程中，訓練データセット LS かられたデータセットの経験分布 ρem にしたがう新しい∗′W を得る過程と正解率の観察を目的として LS を

データを生成する [7]．元の試験データセットと同様学習する過程で Lf を 2 回実行していることがわかな分布にしたがうことから，「想定範囲での網羅性向

る．欠陥が増幅することになり，T S に対する正解率上」といえる．

の違いとして観察できたと考えられよう．

文献 [25] は，モンテカルロ法の重点サンプリングの考え方で，コーナーケースとなるデータを効率よく

6 関連研究生成し，そのデータを誤推論するか否か，つまり，予機械学習ソフトウェアへのメタモルフィック・テス

測のロバスト性を統計的に評価する．
「想定範囲外をティングで導入された既存の入力データセット自動生含む」統計テスティング（Statistical Testing）とい成方法（あるいはデータ自動生成方法）と比較する．

える．

文献 [27] は，K-近傍法やサポート・ベクター・マ

本稿の方法は，歪みデータを最適化問題によって生シン（SVM）の学習プログラム Lf 検査への応用か成するもので，初期訓練データセットの経験分布から，分類学習に一般的なメタモルフィック関係を整理

ら外れるようなデータセット多様性を実現する．
「想した．文献 [12] は SVM を対象とし，宣言的な問題記

定から離れたデータセット」生成といえる．そこで，

述から系統的にフォローアップ入力データ生成法を

ファズ・データセット（Fuzz Dataset）と命名したの導出する方法を論じた．その後，ニューラル・ネット

だった．提案方法は Lf の検査を目的としていたが，ワークの Lf のメタモルフィック・テスティングに対

個々のデータ（ファズ）を使って If の検査を行うこ

して，データセット多様性 [13] を導入する方法が提案とが可能である．

された [15]．歪みのあるデータセットをグラフ探索ア
ルゴリズムで生成する．生成効率が良い反面，他の学

7 おわりに習タスクや DNN 学習モデル一般に対する適用可能性

ニューラル・ネットワークに基づく機械学習プログの見通しがよくない．

ラムのメタモルフィック・テスティング法として最適

DNN を対象とする研究は，推論プログラム If の化問題によるデータセット多様性を導入した．訓練

検査が中心であり，訓練データセットが暗に規定する済み学習モデルの歪み [17] という見方を基本とする．

想定から外れた実行時入力データに対する振舞いを今後，歪み度合いの精密な定義を行う必要がある．ま調べる．一般的にはデータセット・シフト（Dataset

た，再帰型ニューラル・ネットワークなどへの適用検Shift） [21] の状況での検査と云えよう．各々，デー討を進めていきたい．

タの生成方法に特徴がある．
文献 [29] は与えた条件を満たすデータをランダム生

謝辞 本研究の一部は JSPS 科研費 JP18H03224 の成するファジングの方法を用いた．DeepTest [23] はグラフィックス処理で元データから新たなデータを生†5 「れいわ」と読み zero-sum のことである．

日本ソフトウェア科学会第 36 回大会 (2019 年度) 講演論文集

8

助成および NEDO の委託業務（NII へは再委託）によって実施した．MT 法について議論して下さった

T.Y. Chen 教授（Swinburne 工科大学）ならびに実験に協力した下さった今井克則氏（（株）グラッツ）に感謝する．

参 考 文 献[ 1 ] Ammann, P. and Knight, J.C. : Data Diversity:
An Approach to Software Fault Tolerance, IEEETC, vol.37, no.4, pp.418-425, 1988.
[ 2 ] Ammann, P. and Oﬀutt, J. : Introduction to
Software Testing, Cambridge University Press 2008.
[ 3 ] Barr, E.T., Harman, M., McMinn, P., Shahbaz,
M., and Yoo, S.: The Oracle Problem in Software
Testing: A Survey, IEEE TSE, 41 (5), pp.507-525,
2015.
[ 4 ] Breiman, L. : Statistical Modeling: The Two
Cultures, Statistical Science, 16(3), pp.199-231,
2001.
[ 5 ] Chen, T.Y., Chung, S.C., and Yiu, S.M. : Metamorphic Testing - A New Approach for Generating
Next Test Cases, HKUST-CS98-01, The Hong Kong
University of Science and Technology, 1998.
[ 6 ] Chen, T.Y., Kuo, F.-C., Liu, H., Poon, P.-L.,
Towey, D., Tse, T.H., and Zhou, Z.Q. : Metamorphic Testing: A Review of Challenges and Opportunities, ACM Computing Surveys 51(1), Article
No.4, pp. 1-27, 2018.
[ 7 ] Goodfellow, I.J., Pouget-Abadie, J., Mirza, M.,
Xu, B., Warde-Farley, D., Ozair, S., Courville, A.,
and Bengio, Y.: Generative Adversarial Nets, In
Adv. NIPS 2014, pp.2672-2680, 2014.
[ 8 ] Goodfellow, I., Bengio, Y., and Courville, A.:
Deep Learning, The MIT Press 2016.
[ 9 ] Haykin, S.: Neural Networks and Learning Machines (3ed.), Pearson India 2016.
[10] Krizhevsky, A., Sutskever, I., and Hinton, G.E.:
Imagenet Classiﬁcation with Deep Convolutional
Neural Networks, In Adv. NIPS 2012, pp.1097-1105,
2012.
[11] Miller, B.P. , Fredricksen, L. , and So, B. : An
Empirical Study of the Reliability of UNIX Utilities,
Comm. ACM, vol.33, no.12, pp.32-44, 1990.
[12] Nakajima, S. and Bui, H.N.: Dataset Coverage
for Testing Machine Learning Computer Programs,
In Proc. 23rd APSEC, pp.297-304, 2016.
[13] 中島震 : データセット多様性のソフトウェア・テス
ティング，コンピュータ・ソフトウェア，35(2), pp.26-32,
2018.

[14] Nakajima, S.: Quality Assurance of Machine
Learning Software, In Proc. GCCE 2018, pp.601604, 2018.
[15] Nakajima, S. : Dataset Diversity for Metamorphic Testing of Machine Learning Software, In Proc.
SOFL+MSVL2018 pp.21-38, 2018.
[16] 中島震，妹尾義樹，大岩寛，磯部祥尚 : 機械学習ソ
フトウェアの品質評価保証レベル，電子情報通信学会ソフトウェアサイエンス研究会，那覇，2019.
[17] 中島震: モデルの歪みと機械学習プログラムの欠陥，
情報処理学会 SIGSE，小樽，2019．
[18] Nakajima, S. and Chen, T.Y.: Generating Biased Dataset for Metamorphic Testing of Machine
Learning Programs, In Proc. IFIP-ICTSS 2019, (toappear), 2019.
[19] 岡田章 :ゲーム理論（新版），有斐閣 2011.
[20] Pei, K., Cao, Y., Yang, J., and Jana, S.: DeepXplore: Automated Whitebox Testing of Deep Learning Systems, In Proc. 26th SOSP, pp.1-18, 2017.
[21] Quinonero-Candela, J., Sugiyama, M.
Schwaighofer, A., and Lawrence, N.D. (eds.) :Dataset Shift in Machine Learning, The MIT Press
2009.
[22] Szegedy, C., Zaremba, W., Sutskever, I., Bruna,J., Erhan, D., Goodfellow, I., and Fergus, R.: Intriguing properties of neural networks, In Proc.
ICLR 2014, 2014.
[23] Tian, Y., Pei, K., Jana, S., and Ray, B.:
DeepTest: Automated Testing of Deep-NeuralNetwork-driven Autonomous Cars, In Proc. 40th
ICSE, pp.303-314, 2018.
[24] Warde-Farley, D. and Goodfellow, I.: Adversarial Perturbations of Deep Neural Networks, in Perturbation, Optimization and Statistics, The MIT
Press 2016.
[25] Webb, S., Rainforth, T., Teh, Y.W., and Kumar,
M.P.: A Statistical Approach to Assessing Neural
Network Robustness, In ICLR 2019, 2019.
[26] Weyuker, E.J.: On Testing Non-testable Programs, Computer Journal, 25 (4), pp.465-470, 1982.
[27] Xie, X., Ho, J.W.K., Murphy, C., Kaiser, G.,
Xu, B., and Chen, T.Y.: Testing and Validating
Machine Learning Classiﬁers by Metamorphic Testing, J. Syst. Softw., 84(4), pp.544-558, 2011.
[28] Zhang, M., Zhang, Y., Zhang, L., Liu, C., andKhurshid, S.: DeepRoad: GAN-Based Metamorphic Testing and Input Validation Framework forAutonomous Driving Systems, In Proc. ASE ′ 18,
pp.132-142, 2018.
[29] Zhou, Z.Q. and Sun, L.: Metamorphic Testing ofDriverless Cars, Comm. ACM, vol.62, no.3, pp.6167, 2019.