ソフトウェア開発におけるリソース推定手法および効用理論に基づく総合的開発管理評価手法に関する研究
代表研究者

南 野 友 香鳥取大学大学院工学研究科社会経営工学講座

助教

1 はじめに通常，ソフトウェア製品は，品質や信頼性の計測を行うテスト工程を経て出荷される．このとき，定量的に信頼性を計測するためには，ソフトウェア信頼度成長モデル（SRGM: software reliability growth model）が有用である．ソフトウェア信頼度成長モデルは，テスト工程や運用段階におけるフォールト発見事象や，ソフトウェア故障発生現象をソフトウェアの信頼度成長過程として記述する数理モデルであり，信頼性評価のための基盤的技術として広く知られている．特に，SRGM のなかでもフォールト発見数モデルである NHPP（nonhomogeneous Poisson process）モデルは，データ収集が容易であることから，多く現場で利用されている．しかしながら，フォールト発見数がテストに要した時間のみに依存するという仮定の下で構築されているため，テスト工程でどのようにテスト労力が投入されていても，テスト時間が長ければ信頼度成長が観測できることを示唆している．実際に，テスト労力などを含むいわゆるリソースは，テスト工程で大量に費やされているため，テスト労力は信頼度成長過程に大きく影響を与えていると考える方が自然である．したがって，従来の SRGM は，実際のフォールト発見事象を十分に記述できていないといえる．
このような背景から，本研究では，テスト労力投入過程を考慮した 2 変量 SRGM を開発する．2 変量への拡張のため，信頼度成長要因としてのテスト時間がテスト時間要因とテスト労力要因から成るものとし，これをテスト時間関数とする．なお，テスト時間関数は，コブ・ダグラス型関数を含む種々の生産/効用関数を一般化した関数である CES（constant elasticity of substitution）型関数を適用する．先行研究では，テスト時間関数をコブ・ダグラス型関数と仮定した 2 変量 SRGM が議論されているが，信頼度成長要因間の関係性についてはまだ考慮されていない．したがって，本研究では，経済学の観点から代替の弾力性に着目する．
代替の弾力性とは，一定のソフトウェア信頼度成長を維持するために，ある信頼度成長要因を他の信頼度成長要因によって代替することの容易さを示す尺度である．コブ・ダグラス関数は，代替の弾力性は常に 1 であるという特徴を有しているが，このようなテスト環境は非常に限られているため，より柔軟に代替の弾力性の値を取ることができる CES 型関数を採用する． したがって，CES 型（生産）関数に含まれる代替パラメータを推定し，信頼度成長要因間の代替性を定量的に評価する．
本研究では，CES 型テスト時間関数を従来の 1 変量 NHPP モデルである指数形，遅延 S 字形，および習熟 S
字形 SRGM に導入し，2 変量 NHPP モデルへ拡張する．次に，実測データに対し，最尤法によるパラメータ推定を行う．このとき，統計解析フリーソフトの R を用いる．
さらに，MSE（平均偏差平方和，mean squared errors）に基づく従来モデルおよび提案モデルの適合性比較を行い，提案モデルの有効性を検証する．最後に，推定された代替パラメータに基づき，信頼度成長要因間の代替の弾力性を推定する．

2 CES 型テスト時間関数を考慮したソフトウェア信頼度成長モデル
2-1 従来の NHPP モデル
検出可能なフォールト数が有限の場合，多くの NHPP モデルでは，単位時間あたりに発見されるフォールト数はその時点でソフトウェア内に残存するフォールト数に比例するものと仮定される．この仮定に基づき，構築された代表的な NHPP モデルは以下の通りである．
指数形 SRGM（EXP）：(1)
遅延 S 字形 SRGM（DSS）：(2)
習熟 S 字形 SRGM（ISS）：(3)

1

ここで， は初期潜在フォールト数，は 1 個当たりのフォールト発見率，いて発見される総期待フォールト数を表す．また，であり，力に関するテスト習熟係数を表す．

は時間区間におはフォールト発見能2-2 CES 型テスト関数の適用
本研究では，ソフトウェア信頼度成長要因としてのテスト時間をテスト時間要因（ ）とテスト労力要因（ ）に大別する．テスト時間要因は主にカレンダ時間であり，テスト労力要因は，CPU 時間，工数，テスト網羅度，および実行されたテストケース等であるとする．したがって，従来モデルにおけるテスト時刻 は，CES型関数により次式のように表される．
(4)
ここで， は分配パラメータ， は代替パラメータを表す．CES 型関数は，代替パラメータに応じて種々の関数形をとることができる．具体的には，のときには 1 次の線形関数，のときにはコブ・ダグラス型関数，のときにはレオンチェフ型関数となる．また，代替の弾力性は，代替パラメータを用いて，次式のように表される．
(5)2 変量非同次ポアソン過程を仮定し，式(4)の CES 型テスト時間関数を式(1)～(3)の NHPP モデルに適用すると，2 変量 SRGM はそれぞれ以下のように得られる．
2 変量指数形 SRGM（CES-EXP）：(6)
2 変量遅延 S 字形 SRGM（CES-DSS）：(7)
2 変量習熟 S 字形 SRGM（CES-ISS）：(8)

2-3 信頼性評価尺度
提案モデルに基づき，ソフトウェア信頼度関数および期待残存フォールト数を導出する．ソフトウェア信頼度とは，時間区間において，ソフトウェア故障が発生しない確率である．ただし，テスト労力量は，テスト終了時刻までにまで達しているものとする．以上より，ソフトウェア信頼度は，次式のように表される．
(9)
任意のテスト時刻

およびテスト労力量における期待残存フォールト数は，次式のように表される．

(10)2表 1：DS2 における各提案モデルのパラメータ推定の結果．

EXP

317.770.0069----

CES-EXP101.84

0.024

-

0.99

0.025

1.026

DSS

55.90

0.13-

---

CES-DSS

57.89

0.13-

0.99-0.108

0.903

ISS

47.99

0.210.22---

CES-ISS

47.99

0.036

0.10

0.85

0.283

1.395

表 2：MSE に基づく適合性比較結果の結果．

EXP

CES-EXPDSS

CES-DSSISS

CES-ISSDS1221.9953

205.978

188.9298

209.1962

96.651496.6090DS2

7.1421

10.2266

3.42133.35431.77261.7725

DS320.1675

20.1572

28.3760

27.6443

11.7432

13.7962

DS431.1986

26.5182

14.0370

13.2427

6.54579.9866

DS527.2003

23.558110.93105.83852.30952.1035DS6

6.00882.6362

1.09481.08900.95200.9507

図 1： DS2 における 2 変量習熟 S 字形 SRGM の挙動.

3図 2：DS2 において推定されたソフトウェア信頼度関数 (CES-ISS モデル)，

図 3：DS2 において推定された期待残存フォールト数(CES-ISS モデル)，．

3 数値例
本研究では，以下の実測データを用いて数値例を示す．

4．

ここで，はカレンダ時間（週），は CPU 時間/実行時間，およびは,までに発見された総フォールト数を表す．DS3～DS6 は同一のソフトウェアを対象としており，1 回目から 4 回目のリリースにおける各テスト工程で採取されたフォールト発見数データである．これらの実測データを用いて，最尤法によりパラメータ推定を行う．また，適合性評価の基準として，MSE を適用する．
図 1 に，DS2 において推定された習熟 S 字形 2 変量 SRGM の挙動を示す．図 1 より，カレンダ時間および CPU時間/実行時間の増加に伴い，総期待発見フォールト数が増加していることがわかる．次に，図 2 および図 3に，DS2 において推定されたソフトウェア信頼度関数および期待残存フォールト数を示す．ソフトウェア信であった．また，期待残存フォールト数は，頼度は，リリース後 2 週間目においてであった．
表 1 に，DS2 における各提案モデルのパラメータ推定の結果を示す．分配パラメータの推定結果から，テスト時間要因の方が信頼度成長要因としての影響度合いが大きいことがわかる．また，推定された代替の弾力性が概ね 1 以上の値をとることから，テスト時間要因とテスト労力要因を代替する場合，比較的長期間のソフトウェア信頼度成長を維持することが可能であると評価できる．さらに，CES-ISS モデルに着目すると，CES-EXP および CES-DSS モデルと比較して，テスト労力要因が信頼度成長に影響していることが確認できる．
最後に，表 2 に，DS1～DS6 における従来モデルと提案モデルの適合性比較結果を示す．表 2 より，提案モデルの方が，精度良くソフトウェア信頼度成長過程を記述していることがわかる．

5 おわりに
本研究では，CES 型テスト時間関数を用いて新たな 2 変量 SRGM を開発した．具体的には，テスト工程におけるカレンダ時間であるテスト時間要因，CPU 時間/実行時間といったテスト労力要因を同時に考慮し，CES型テスト時間関数を適用することで，1 変量から 2 変量へモデルの拡張を行った．数値例では，実測データを用いて提案モデルの挙動を示すとともに，MSE による適合性比較を行った．結果として，提案モデルの方が従来モデルよりもデータへの適合性が高いことを確認した．また，提案モデルに基づき，ソフトウェア信頼性評価尺度であるソフトウェア信頼度および期待残存フォールト数の適用例を示した．さらに，代替パラメータを新たにモデルに導入することにより，信頼度成長要因間の代替の弾力性を定量的に評価した．しかしながら，信頼度成長要因が 3 つ以上ある場合は，CES 型関数の使用は適切でないといわれている．2 変量以上の場合は，複数の生産関数を組み合わせて構築される組み合わせ型（入れ子型）生産関数の使用が可能であることから，このような生産関数を従来モデルに適用できるかどうかを確認する必要がある．また，ソフトウェア最適リリース時刻の推定等，開発管理面における応用問題への適用が可能かを確認する必要がある．

【参考文献】
入谷純，加茂知幸,「経済数学」，東洋経済新報社，2016.
A. Wood, “Predicting software reliability,” IEEE Computer Magazine, Vol. 11, pp. 69-77, 1996.
B. Anniprincy and S. Sridhar, “Two dimensional software reliability growth models using
Cobb-Douglas production function and Yamada S-shaped model,” International Journal ofSoftware Engineering and Simulation, Vol. 2, Issue. 2, pp. 1-11, 2014.
H. Pham, Software Reliability, Springer-Verlag, Singapore, 2000.
H. Pham, “A generalized fault-detection software reliability model subject to random operating
environments,” Vietnam Journal of Computer Science, Vol. 3, Issue 3, pp. 145-150, 2016.
M. Ohba, “Software reliability analysis models,” IBM Journal of Research and Development, Vol.
28, No. 4, pp. 428-443, 1984.
P.K. Kapur, A.G. Aggarwal, and G. Kaur, “Simultaneous allocation of testing time and resources
for a modular software,” International Journal of System Assurance Engineering Management,
Vol. 1, No. 4, pp. 351-361, 2010.
5

P.K. Kapur and H. Pham, “Two dimensional multi-release software reliability modeling andoptimal release planning,” IEEE Transactions on Reliability, Vol. 61, No. 3, pp. 758-768, 2012.
S. Inoue, K. Fukuma, and S. Yamada, “Two-dimensional change-point modeling for software
reliability assessment,” International Journal of Reliability, Quality and Safety Engineering, Vol.
17, No. 6, pp. 531-542, 2010.
井上真二，山田茂，「2 変量ワイブル型ソフトウェア信頼度成長モデルとその適合性評価」，情報処理学会論文誌，Vol. 49，No. 8，pp. 2851-2861，2008年5月．
井上真二，山田茂，「高信頼性ソフトウェア開発のための最適テスト労力投入問題」，日本信頼性学会
誌『信頼性』，Vol. 32，No. 1，pp. 40-46，2010年1月.
S. Yamada, Software Reliability Modeling ---Fundamentals and Applications---, Springer-Verlag,
Tokyo/Heidelberg, 2014.
山田茂，「ソフトウェアの信頼性の基礎－モデリングアプローチ－」，共立出版，東京，2011年.
山田茂，大寺浩志，「ソフトウェアの信頼性」，ソフト・リサーチ・センター，東京，1990年.

〈発題

名テスト環境要因を考慮した離散型ソフトウ
ェア信頼度成長モデル
ソフトウェア信頼性評価のためのマルコフ型チェンジポイントモデルに関する研究
CES 型テスト時間関数に基づく 2 変量ソフ
トウェア信頼度成長モデル
Bivariate NHPP models depending on
CES type testing-time for software
reliability measurement
Severalapproaches
fordiscrete
software reliability modeling withreliability growth factors
Extension of Markovian imperfectdebuggingmodelingforsoftware
reliability assessment with change-point
Two-dimensional software reliability
growth modeling based on a CES typetime function

表資料〉

掲載誌・学会名等
日本 OR 学会中国・四国地区
SSOR アブストラクト集
日本 OR 学会中国・四国地区
SSOR アブストラクト集
京都大学数理解析研究所講究録「不確実性の下での意思決定理論とその応用：計画数学の展開」
Proceedings of the 10th Japan
Korea Software Management
Symposium
Proceedings of the 10th Japan
Korea Software Management
Symposium
Proceedings of the 10th Japan
Korea Software Management
Symposium
Proceedings of 2017
International Conference on
Infocom Technologies andUnmanned System (ICTUS’2017)

6

発表年月2017 年 9 月
2017 年 9 月
2017 年 11 月

2017 年 11 月
2017 年 11 月
2017 年 11 月

2017 年 12 月