• 検索結果がありません。

ソフトウェア信頼性評価と最適リリース時刻推定のためのNW.jsに基づくアプリケーションソフトウェアの開発 (不確実性の下での意思決定理論とその応用 : 計画数学の展開)

N/A
N/A
Protected

Academic year: 2021

シェア "ソフトウェア信頼性評価と最適リリース時刻推定のためのNW.jsに基づくアプリケーションソフトウェアの開発 (不確実性の下での意思決定理論とその応用 : 計画数学の展開)"

Copied!
7
0
0

読み込み中.... (全文を見る)

全文

(1)

ソフ トウェア信頼性評価と最適リ リース時刻推定のための

NW.js に基づくアプリケーションソフ トウェアの開発

東京都市大学 知識工学部田村慶信 (Yoshinobu Tamura) $\dagger$

$\dagger$

Faculty of Knowledge Engineering, Tokyo City University

烏取大学大学院 工学研究科山田茂 (Shigeru Yamada)

\uparrow $\dagger$

\mathrm{i}\uparrow

Graduate School of Engineering, Tottori University

1 はじめに 一般的に,ウォーターフォールモデルに代表されるように,要求仕様定義設計 コーディング テス ト 運用保守の流れでソフトウェアの開発および保守が行われている.特に,ソフトウェア開発のテス ト工程は,ソフトウェア品質を定量的に評価するだけでなく,ユーザに対するリ リース (出荷) 時期の 決定にも関係することから,非常に重要な工程となる.従来から,テスト工程におけるソフトウェアの 信頼性を評価するための数理モデルとして,これまでに数百におよぶソフトウェア信頼性モデルが提案

されてきた [1−3]. 本論文では,ソフトウェア信頼度成長モデル (software reliability growth model, 以

下SRGM と略す) に基づくソフトウェアツールの開発を通して,NWjsを適用したアプリケーションソ

フトウエアの実装事例について紹介する.同様の Web アプリケーション開発フレームワークとして統計

言語

\mathrm{R}

による Shiny が存在する.しかしながら,Shiny の場合には,

\mathrm{R}

のソースコード部分にグラフ描

画に必要なコードを記載する必要がある.さらに,大規模なデータを扱うような場合においては,処理

速度などの問題からネイティブアプリケーションとして実行する方が望ましいケースもある.NWjsは,

オープンソースソフトウエア (open source software, 以下 OSS と略す) [4] のアプリケーション開発フ

レームワークとして知られており,HTML, CSS, およびJavaScriptで書かれた Web アプリケーション を,Windows\cdot Mac\cdot Linux をターゲットとしたデスクトップ向けにパッケージングし,ネイティブアプ リケーションとして実行するためのクロスプラットフォーム実行環境である.本開発ツールの紹介を通 して,研究において利用してきた統計言語\mathrm{R}のソースコードを有効かつ迅速に再利用できることを示す. 特に,ソフトウェア開発のテスト工程を動的に評価するための数理モデルとして,数多くのソフトウェ

ア信頼性モデルが提案されてきた [2]. また,ソフトウェア開発支援ツールも , いくつか提案されている.

本論文では,SRGMに基づくソフトウェアツールの開発を通して,最新のアプリケーション開発技術で

ある NW js と,統計言語

\mathrm{R}

のggplot2およびplotly ライブラリを利用したソフトウェアツールの実装事

例について議論する.さらに,実際のフォールトデータを利用したソフトウェアツールの実行例を示す.

2

SRGMに基づくソフ トウエア信頼性評価と最適リ リース問題の概要

非同次ボアソン過程 (nonhomogeneous Poisson process, 以下 NHPP と略す) モデルは,実利用上極

めて有効でありモデルの簡潔性が高いゆえにその適用性も高く,実際に企業組織などにおけるソフトウェ ア信頼性評価に広く応用されている.このNHPPモデルは,所定の時間区間内に発見されるフォールト

(2)

し,以下の式で与えられる確率過程すなわちボアソン過程を仮定するSRGMである [2].

\displaystyle \mathrm{P}\mathrm{r}\{N(t)=n\} = \frac{\{ $\Lambda$(t)\}^{n}}{n!}\exp[- $\Lambda$(t)]

(n=0,1,2, \cdots) . (1)

ここで,

\mathrm{P}\mathrm{r}\{. \}

は確率を表し,

$\Lambda$(t)

は時間区間

(0, t

] において発見される総期待フォールト数,すなわち

N(t) の期待値を表し,NHPP の平均値関数と呼ばれる.

本論文において開発されたアプリケーションソフトウェアに採用したSRGMを以下に示す.

. 指数形 SRGM

$\Lambda$(t)\equiv E(t)=a(1-e^{-bt}) (a>0, b>0)

. (2)

ここで,

\mathrm{E}(t)

は時間区間

(0_{j}t

] において発見される累積フォールト数の期待値を表す.パラメータ

aは最終的に発見される総期待フォールト数,パラメータbはフォールト 1個当りのソフトウェア

故障発見率またはフォールト発見率を表す.

\bullet 遅延\mathrm{S}字形 SRGM

$\Lambda$(t)\equiv S(t)=a\{1-(1+bt)e^{-bt}\} (a>0, b>0)

. (3)

指数形 SRGM の場合と同様に,

S(t)

は時間区間

(0_{-}.t

] において発見される累積フォールト数の期

待値を表す.

\bullet 対数型ボアソン実行時間モデル

$\Lambda$(t)\displaystyle \equiv $\mu$(t)=\frac{1}{ $\theta$}\ln[$\lambda$_{0} $\theta$ t+1] (0< $\theta$, 0<$\lambda$_{0})

. (4)

ここで,パラメータ $\lambda$_{0} は初期故障強度,パラメータ $\theta$はソフトウェア故障1個当りの故障強度の 減少率を表す. 上述したSRGMから,最適リ リース問題として,テスト工程におけるコスト評価基準に基づく最適

リ リース時刻を推定することが可能となる [5, 6]. なお,モデルの性質上,総期待ソフトウェアコストに

ついては,指数形SRGMおよび遅延\mathrm{S}字形SRGMについて議論する.まず,以下のようなコストパラ メータを定義する. c_{1}: 総合テスト工程におけるフォールト 1個当りの修正コスト, c_{2}: 総合テスト工程における単位時間当りのテストコスト, c_{3}: リ リース後のフォールト 1個当りの修正コスト. このとき,総合テスト工程におけるソフトウェアコストは,以下のように定式化できる. C_{1}(t)=c_{1} $\Lambda$(t)+c_{2}t. (5) また,リ リース後におけるソフトウェアの修正コストは次式で与えられる. C_{2}(t)=c_{3}\{a- $\Lambda$(t)\} . (6) 上記から,総期待ソフトウェアコストは,以下のように定式化できる. C(t)=C_{1}(t)+C_{2}(t) . (7)

式(7) を最小にする時刻

t^{*}

が最適リ リース時刻となる.

(3)

NW.js

html \mathrm{R} index.html ggplot2

I

\downarrow

.html (figures) ggp otly 図1 : アプリケーションソフトウェアの構造.

3

アプリケーションソフ トウエアの開発

本論文において開発されたソフトウェアツールの特徴は,研究成果を迅速に実社会における現場へ提供 できる点にある.特に,様々な分野において利用されている研究用のツールとして,統計言語\mathrm{R}が良く知

られている.この統計言語

\mathrm{R}

において提供されているグラフ描画のためのパッケージとして ggplot2が

ある.さらに,このggplot2の付属パッケージとして JavaScript グラフライブラリとして知られる plotly

が存在する.plotly は,ggplot2によって作成されたグラフを JavaScript を含む html 形式に出力する.

出力されたグラフには,拡大,縮小,特定項目の抽出,画像ファイルとしての出力など,様々なインタラ

クティブな機能を有している.この2種類のライブラリとNW.jsを組み合わせることにより,ネイティ

ブアプリケーションを容易に開発することが可能となる.本論文におけるアプリケーションソフトウェ アの概念図を図1に示す. 本論文において開発されたアプリケーションソフトウェアには,SRGMに基づく信頼性評価尺度およ び最適リリース問題を考慮するために,以下のような定量的評価尺度を採用する. \bullet 期待累積発見フォールト数 \bullet 期待残存フォールト数 \bullet MTBF (平均ソフトウェア故障発生時間間隔) \bullet 総期待ソフトウェアコスト また,SRGMの実測データに対する適合性を評価するために,赤池情報量規準 (Akaike’s information criterion, 以下 AIC と略す) を用いる.

4

開発されたツールの実行例

実際のソフトウェア開発プロジェク トにおけるフォールトデータ [7] に基づくアプリケーションソフト

ウェアの実行結果を示す. 本ツールのメイン画面を図2に示す.また,本ツールのメニュー画面を図3に示す.まず,実際のソ フ トウェア開発プロジェク トにおけるフォールトデータを分析したアプリケーションソフトウェアの実 行例として,AIC の推定結果を図4に示す.図4から,指数形SRGMの実測データに対する適合性が, 他のSRGMと比較して良好であることが確認できる.また,ソフトウェア信頼性評価尺度および総期待 ソフトウェアコストの推定例を図 5\sim図8に示す.図5∼図7から,全てのモデルにおいて,テスト時間 の経過とともに信頼度が成長している様子が確認できる.さらに,図8から,指数形SRGMにおける最 適リ リース時刻はテスト開始から43 ケ月目であり,そのときの総期待ソフトウェアコストは6534.9であ

(4)

図2 : 開発されたツールのメイン画面. 図3 : 開発されたツールのメニュー画面. ることが分かる.同様に,遅延\mathrm{S}字形SRGMにおける最適リ リース時刻はテスト開始から22 ケ月目で あり,そのときの総期待ソフトウェアコストは5567.1であることが分かる. 5 おわりに 現在,多くのソフトウェア開発現場で,OSS が利活用されている.特に,OSS を利用することにより, コスト削減,単納期,標準化などが可能となることから,様々なソフトウェア開発プロジエクトにおい ても OSS が積極的に採用されている.同様に,研究環境についても,OSS を利用することで,低コスト で研究成果を実社会における現場へ迅速に提供することが可能となる.

(5)

図4: AIC の推定結果.

.\bullet \bullet ulI $\varepsilon$blĩ $\nu$Assessment\mathrm{T}\infty \mathrm{I}Based on Seftvvir. RellablUty Growth MocSets

4000

\perp 3\lrcorner$\mu$_{000}

oEucwo

\mathrm{z}\supset \mathrm{z}\#\geq 000\mathrm{m}

\cup \mathrm{z}5_{000}\mathrm{F}\mathrm{u}3>\supset

0 10

$\Pi$ ME

DATA

-\mathrm{A}\propto \mathrm{u}\cdot \mathrm{I}

=

--

— 5 shaped

\llcorner \mathrm{m}\mathrm{M}\mathrm{o}M[\mathrm{x} $\mu$ \mathrm{n}\cdot \mathrm{n}|_{1}\cdot|\mathrm{M}\mathrm{o}\subseteq\cdot \mathrm{I}

\mathrm{M}\mathrm{o} $\omega$

2^{\cdot}0 図5 : 推定された累積発見フォールト数. 本論文では,ソフトウェア開発プロジェクトのテスト工程において,ソフトウェア品質を定量的に評 価するために広く応用されている SRGMに基づく信頼性評価ツールを,OSS に基づくアプリケーショ ンソフトウェアとして実装した.特に,開発されたアプリケーションソフトウェアの実装手法には,統

計言語

\mathrm{R}

のggplot2およびplotly ライブラリが利用されており,これらのライブラリとNW js を組み合

わせることで,統計言語\mathrm{R}を利用した研究用資産を有効利用できるだけでなく,研究成果を迅速に実社 会におけるソフトウェア開発現場へ提供できるものと考える.

本論文で実装されたアプリケーションソフトウェアには,NWjs, 統計言語

\mathrm{R}, \mathrm{g}\mathrm{g}\mathrm{p}\mathrm{l}\mathrm{o}\mathrm{t}2

, およびplotly

(6)

Rehobllity k\infty\ovalbox{\tt\small REJECT} \mathrm{T}\infty \mathrm{I} Based on Softwaĩe \mathrm{R}\mathrm{o}\triangleright u||\mathrm{t}\mathrm{y} Growth Models

\mathrm{L}\mathrm{o}000\supset\lrcorner\vdash $\omega$

\mathrm{z}\supset \mathrm{z} $\varpi$ \mathrm{u} $\alpha$\circ 000\llcorner

\displaystyle \cup\sum_{\supset}\exists \mathrm{F}>\mathrm{u}_{000}

10

\mathrm{T}\mathrm{M}\mathrm{E}

DATA

-\mathrm{A} $\alpha$ ([xp) —\mathrm{A}\propto\llcorner \mathrm{a}\mathrm{I}(\mathrm{S}sheped)

—\mathrm{E}\mathrm{i}\mathrm{p}\mathfrak{m}\cdot \mathrm{n}\mathfrak{h}*\mathrm{I}Mode

— 5‐\mathfrak{s}haped Moael

図6: 推定された残存フオールト数.

Rsbbl\mathrm{I}| $\phi$ k\infty\ovalbox{\tt\small REJECT} \mathrm{T}\infty 1 Based on Software Rehbility Growth Models

on 】00

\displaystyle \llcorner\frac{\lrcorner}{\triangleleft}5)0075\mathrm{u} $\omega$

\tilde{\mathrm{n}\ovalbox{\tt\small REJECT}}\mathrm{u}\mathrm{u}\mathrm{z}\mathrm{r}\circ \mathrm{E}_{\mathrm{n}\mathrm{o}50}\geq\triangleleft $\alpha$ \mathrm{u}

$\Sigma$ \mathrm{u}\triangleleft\sim 001\mathrm{b}\mathrm{P}=\mathrm{u}

onooo 10 TIME DATA -\mathrm{E}\mathrm{p}\mathfrak{o}\mathrm{n}\mathrm{r}||\cdot|Mod.l —*$h.ped M0de| — LPET\mathrm{M}0\mathrm{d}\mathrm{e}| 20 図7: 推定されたMTBF.

料で迅速に実装することが可能となる.特に,本実装方法により,研究による提案手法などの内容を詳

細に理解していなくとも,誰でも利用可能な形式で頒布することができる.本論文における実装方法は,

研究者にとっても,GUI のみの実装を行うだけで済むことから,研究成果を社会へ迅速に還元すること が可能となる参考例として役立つものと考える.なお,開発されたアプリケーションソフトウエアは以 下のサイ トから利用できる. http:

//\mathrm{t}\mathrm{a}\mathrm{m}

.ims.tcu.ac.jp/

(7)

\mathrm{R} $\varepsilon$ \mathrm{I}4\mathrm{b}\mathrm{l}\mathrm{I}\mathrm{i} $\phi$ Assessment \mathrm{T}\infty \mathrm{I} Based on Seftw.re \mathrm{R}9\mathrm{I}*u||\mathrm{t}\mathrm{y} Growth Models DATA -\mathrm{E}\mathrm{p}0\cap\cdot m|\cdot|\mathrm{M}\mathrm{M}\cdot| -*\cdot n 9000

\cup \mathrm{a}_{\mathrm{o}\mathrm{o}\mathrm{o}}\vdash.

\tilde{ $\omega$\circ\ovalbox{\tt\small REJECT}}\triangleleft $\alpha$ \mathrm{u}

7000

25 \overline{\circ}.0 フ5 \mathfrak{n}\mathrm{M}\mathrm{E} 図8: 推定された総期待ソフトウェアコスト.

謝辞

本研究の一部は,JSPS科研費基盤研究 (C) (課題番号15\mathrm{K}00102および16\mathrm{K}01242) の援助を受けた ことを付記する.

参考文献

[1] M.R. Lyu, ed., Handbook of Soflware Reliability Engineering, IEEE Computer Society Press, Los

Alamitos, CA, 1996.

[2] S. Yamada, Software Reliability Modeling: Fundamentals and Applications, Springer‐Verlag, Tokyo/Heidelberg, 2014.

[3] P.K. Kapur, H. Pham, A. Gupta, and P.C. Jha, Software Reliability Assessment uyith OR Appli‐

cations, Springer‐Verlag, London, 2011.

[4] S. Yamada and Y. Tamura, OSS Reliability Measurement and Assessment, Springer‐Verlag, Lon‐

don, 2016.

[5] S. Yamada and S. Osaki,

(

Cost‐reliability optimal software release policies for software systems

IEEE Transactions on Reliability, vol. R‐34, no. 5, pp. 422‐424, 1985.

[6] S. Yamada and S. Osaki, “Optimal software release policies with simultaneous cost and reliability

requirements,” European Journal of Operational Research, vol. 31, no. 1, pp. 46‐51, 1987.

[7] W.D. Brooks and R.W. Motley, Analysis of Discrete Software Rehabihty Models, Technical Report

参照

関連したドキュメント

め測定点の座標を決めてある展開図の応用が可能であ

名の下に、アプリオリとアポステリオリの対を分析性と綜合性の対に解消しようとする論理実証主義の  

P‐ \ovalbox{\tt\small REJECT}根倍の不定性が生じてしまう.この他対数写像を用いた議論 (Step 1) でも 1のp‐ \ovalbox{\tt\small REJECT}根倍の不定性が

12月 米SolarWinds社のIT管理ソフトウェア(orion platform)の

定可能性は大前提とした上で、どの程度の時間で、どの程度のメモリを用いれば計

 当図書室は、専門図書館として数学、応用数学、計算機科学、理論物理学の分野の文

学期 指導計画(学習内容) 小学校との連携 評価の観点 評価基準 主な評価方法 主な判定基準. (おおむね満足できる

・条例手続に係る相談は、御用意いただいた書類 等に基づき、事業予定地の現況や計画内容等を