日本オペレーションズ・リサーチ学会
2021年 秋季研究発表会

2-D-3

OSS 信頼性評価のための深層学習に基づく MTBF の推定に関する一考察
05001442
01308725
01702425

山口大学
山口大学
鳥取大学

∗宮本 翔一郎 †田村 慶信 ††山田 茂 †††MIYAMOTO Shoichiro
TAMURA Yoshinobu
YAMADA Shigeru

E-mail: † i083fe@yamaguchi-u.ac.jp, †† tamuray@yamaguchi-u.ac.jp, ††† yamada@tottori-u.ac.jp

1

はじめに従来から，多くのソフトウェア信頼性モデル [1, 2] が提案されている．そのほとんどが，フォールト発見数データに対して，確率モデルを適用することにより，ソフトウェアの信頼性を定量的に評価するものであった．著者らは，オープンソースソフトウェア（Open Source Software，以下 OSS と略す）のバグトラッキングシステム上に登録されている大規
模フォールトデータを入力データとし，深層学習に基づき，ソフトウェア故障発生時間間隔を予測するための手法を過去に提案してきた．本研究では，クラウド OSS に着目し，従来の手法における入力データとは異なるデータを適用することにより，推定結果に与える影響について考察する．

2

Dence: 100, Activation=‘relu’
Input Shape: 13
Output: 50
Dropout: 0.2

Dence: 100, Activation=‘relu’
Input Shape: 100
Output: 50
Dropout: 0.2

深層学習に基づくソフトウェア故障発生時間間隔の推定

Dence: 100, Activation=‘relu’
Input Shape: 100
Output: 50

過去に，深層学習に基づく故障発生時間間隔データ（MeanTime Between Software Failures，以下 MTBF と略す）を予測する手法が提案されてきた [3, 4]．従来の深層学習に基づく学習構造を図 1 に示す．特徴抽出のための入力層における入力データとして，以下のようなフォールト要因が入力データとして適用されていた．これらの入力データは，収集される情報として，多くの一般的なバグトラッキングシステムにおいて登録されている情報である．

Dropout: 0.2

Dence: 100, Activation=‘relu’
Input Shape: 100
Output: 1• Changed• Reporter• Assignee• Product• Component• Status• Resolution• Hardware• OS• Severity• Version• Summary
一方，バグトラッキングシステム上には，上記のデータ以外に，あるソフトウェア開発プロジェクト特有の収集データが存在している．本研究では，上述した一般的に用いられているデータ（以下，一般データと呼ぶ）だけでなく，特定のOSS プロジェクトのみで記録されているデータ（以下，特定データと呼ぶ）を学習に使用した場合における推定結果の変化について考察する．本研究では，以下に示すような特定データを用いた．

• Classiﬁcation• votes• Type• Keywords

図 1： 深層学習の構造.

• QA Contact• QA Contact Real Name
• Alias• Dependent Products• Depends On• Docs Contact• Fixed In Version• URL3

分析例

OSS として開発および公開されている，クラウドソフト
ウェア “OpenStack” のバグトラッキングシステム上に登録されたフォールトデータを適用した分析例を示す．ここで，深層学習のために使用された総データ数は約 25 万件であり，このうち 50%を学習用データセットとして利用し，残りの50%のデータをテスト用データセットとした．
一般データの場合において，総データ数の 50%の学習デー
タを利用した深層学習に基づき，残りの 50%のテストデータ

Estimate

Testing Data

35000

700

30000

600

25000

500

Instantaneous MTBF

Cumulative MTBF

Testing Data

20000
15000
10000

400
300
200
100

5000

0002000

4000
6000
Number of Faults

8000

図 2： 50%テストデータに対する深層学習に基づく累積MTBF の推定結果（一般データの場合）．
Testing Data

Estimate

30000
Cumulative MTBF02000

40006000
Number of Faults

8000

図 4： 50%テストデータに対する深層学習に基づく瞬間
MTBF の推定結果（特定データの場合）．
から，データの学習過程において特徴的な差異が見られた．
本研究では，採用した入力データに関する違いについて取り扱ったが，今後は，入力データの項目を増やすなど，よりよい学習環境や最適な学習パラメータについて検討する必要があると考える．

35000

25000
20000

謝辞

15000

本研究の一部は，JSPS 科研費基盤研究（C）（課題番号20K11799）の援助を受けたことを付記する．

10000

参考文献

5000
0020004000
6000
Number of Faults

8000

図 3： 50%テストデータに対する深層学習に基づく累積MTBF の推定結果（特定データの場合）．
に対する累積 MTBF の推定結果を図 2 に示す．同様に，特定データの場合における 50%のテストデータに対する深層学習に基づく累積 MTBF の推定結果を図 3 に示す．また，特定データの場合における 50%のテストデータに対する深層学習に基づく瞬間 MTBF の推定結果を図 4 に示す．図 2∼
図 4 から，累積 MTBF の推定結果については，ほとんど差異がないことが確認できる．一方，学習曲線などのデータからは，特定データを利用した場合においては，過学習または学習不足の傾向があった．

4Estimate

おわりに本研究では，バグトラッキングシステム上における OSSフォールトデータに対して深層学習を適用し，MTBF の推定結果について議論した．特に，学習のためのデータとして，一般データおよび特定データを利用した場合における 2 種類の MTBF の推定結果を示した．学習曲線などの比較結果[1] P.K. Kapur, H. Pham, A. Gupta, and P.C. Jha, Software Reliability Assessment with OR Applications,
Springer–Verlag, London, 2011.
[2] S. Yamada and Y. Tamura, OSS Reliability Measurement and Assessment, Springer–Verlag, Switzerland,
2016.
[3] Y. Tamura and S. Yamada, “AI approach to fault
big data analysis and reliability assessment for opensource software,” System Reliability Management:Solutions and Technologies, Advanced Research in
Reliability and System Assurance Engineering, CRC
Press Taylor & Francis Group, pp. 1-17, 2018.
[4] Y. Tamura, R. Ueki, A. Anand, and S. Yamada,“Estimation of mean time between failures basedon deep feedforward neural network for OSS fault
big data,” Proceedings of the 4th International Conference on Mathematical Techniques in Engineering
Applications, Graphic Era Deemed to be University, Dehradun, Uttarakhand, India, pp. 1-12 (Virtual mode), December 4-5, 2020.