2018年2月23日

財団法人日本科学技術連盟
第33年度ソフトウェア品質管理研究会
成果発表会

ソフトウェア欠陥多属性表現モデル”Multi-Attribute Representation of Software defect”
MARS Model― ソフトウェア故障モードの抽出と利用 ―研究コース5 欠陥エンジニアリング Team KuKuRu
研究員：久野 倫義（三菱電機株式会社）
仁藤 千博（矢崎総業株式会社）
牟田 香奈（日本ATMヒューマン・ソリューション株式会社）
主査 ：細川 宣啓（日本アイ・ビー・エム株式会社）
副主査：永田 敦 （株式会社日新システムズ）
Copyright ©2018 JUSE All rights reserved.

はじめにレビューエキスパートの頭の中、のぞいてみたくない？

2 20/

Copyright ©2018 JUSE All rights reserved.

研究の背景故障モード影響解析（FMEA）はベテランの知見を用いた「故障の未然防止策」

3 20/

Copyright ©2018 JUSE All rights reserved.

故障モード（Failure Mode）とはJIS C5750規格
ⅰ）アイテム（部品，構成品，デバイス，装置，機能ユニット，機器，サブシステム，システムなどの総称またはいずれか）を特定する.
ⅱ）アイテムの故障の様子（故障状態の形式による分類.
例えば，断線，短絡，折損，摩耗，特性の劣化など）を列挙する.

4 20/

Copyright ©2018 JUSE All rights reserved.

研究の課題ハードウェア故障モード

ソフトウェア故障モード（潜在的に内包する故障）（潜在的に内包する欠陥）

物理法則に依存＝利用者はハードウェアの故障発生メカニズムを理解

物理法則に依存しない＝ソフトウェアの欠陥発生に法則はない（？）▷ 物理的な事象を一般的で汎用性の高い表現で記述▷ 製品や組織によって有効な故障モードは有限例：折れる、曲がる▷ 抽象度（汎用性）の高い表現は利用者に補完の知識が必要▷ ソフトウェアの欠陥は無限例：？？？

S/Wの欠陥発生メカニズムに着目した唯一のモデル：欠陥モデル
5/20
Copyright ©2018 JUSE All rights reserved.

「細川宣啓, 西康晴, 嬉野綾, 野中誠, 原佑貴子, “過失に着目した欠陥のモデリング －バグ分析はなぜうまくいかないのか？,” JaSST, 13 Tokyo, 2013.」より

6 20/

Copyright ©2018 JUSE All rights reserved.

研究の課題故障モード影響解析手法

欠陥モデル

時間や重力など

誘発因子

故障は物理法則に従う

過失因子（外因）（従来の）故障モード

欠陥/種類

アイテム

欠陥/対象・位置頻度・検出可能性

増幅因子

故障の影響

表出現象

外因欠陥 : 開発者個人の過ちとは言い難い欠陥例）環境変化や開発ルール変更、集団認知バイアス等の影響など

7 20/

Copyright ©2018 JUSE All rights reserved.

研究の課題ソフトウェア故障モード ＝誘発因子＋過失因子(外因)＋欠陥の種類
欠陥モデルは作成者の属人性（着目する観点、経験、ドメイン知識）に影響されやすい。
＝欠陥モデルをうまく作成できない／利用しにくい

8 20/

Copyright ©2018 JUSE All rights reserved.

MARSモデルの提案

ソフトウェア欠陥多属性表現モデル
Multi-Attribute Representation of Software defect Model
属性

説明

特性

欠陥を誘発した特徴的な性質（例：単独では起こらない）

対象・ 欠陥の含まれるアイテム（例：I/F）
位置欠陥の種類
種類（例：齟齬）

正常/異常
経年欠陥の排他的性質のひとつ

初期開発当初からの時間経過（例：保守性の低下）

9 20/

Copyright ©2018 JUSE All rights reserved.

MARSモデルの記述例

特性

一人では出せない
従来処理の継承

対象・位置種類

正常／異常

経年

I/F

齟齬

異常系

ＹＥＳ

例外処理
抜け

バグ：バッファオーバフローでリセット
結果：無限ループ

10 20/

Copyright ©2018 JUSE All rights reserved.

MARSモデルの記述例：思考の流れ特性

一人では出せない
従来処理の継承

対象・位置種類

正常／異常

経年

I/F

齟齬

異常系

ＹＥＳ

例外処理
抜け

バグ：バッファオーバフローでリセット
結果：無限ループ

11 20/

Copyright ©2018 JUSE All rights reserved.

欠陥モデルの各因子との関係：思考（過失）
特性

対象・位置

過失

一人ではI/F
出せない 誘発
従来処理の継承種類

齟齬正常／異常

経年異常系

ＹＥＳ

過失

欠陥

誘発

例外処理
抜け

S/W故障モード＝誘発因子＋過失因子(外因)＋欠陥の種類

12 20/

Copyright ©2018 JUSE All rights reserved.

実験
目的：
MARSモデルで表現したS/W故障モードを利用すれば、別のソフトウェア上に同じ或いは類似した欠陥を発見できることを実証する.
実験概要：① 8パターンのMARSモデルと欠陥モデルを作成.
② 被験者としてベテラン６人/中堅７人/若手３人を選定.
③ ①を被験者に提供し, 何件の欠陥を想起できるかを測定.
④ MARSモデルの欠陥情報伝達性の有意差検証のため、経験差異による各モデルの結果の違いを評価.

13 20/

Copyright ©2018 JUSE All rights reserved.

実験《結果》

t検定の結果、有意水準5%で中堅に有意な差がみられた。

14 20/

Copyright ©2018 JUSE All rights reserved.

改善策（Z-Chart）
MARSモデルで表現した内容を表形式に纏め, MARSモデルでは矢印で表現していた「思考（過失）」を列で表現するもの
トリガー

誘発因子

思考（過失） 現象（欠陥）

FM1-1

トリガー1

誘発因子1

過失因子1

現象1

FM1-2

トリガー2(現象1)

誘発因子2

過失因子2

欠陥：記述順序：MARSモデルでは矢印で表現していた部分

15 20/

Copyright ©2018 JUSE All rights reserved.

Z-Chartの記述例
トリガー誘発因子

思考（過失）

現象（欠陥）

市場の 受信対向部の 既存ロジックのI/F修正
要求変化 変更修正を行う（しかない）齟齬FM1-2 I/F修正 相手が存在す 双方, I/F仕様にる
対する認識に相 （欠陥混入）
違ないため, 齟齬はない（はず）
齟齬
本来必要な確 I/F仕様の確認は欠陥流出
FM1-3認時間が確保 十分実施（齟齬されないは未確認）
FM1-1

16 20/

Copyright ©2018 JUSE All rights reserved.

結果• 故障モードをMARSモデルで実際に作ってみたら、比較的属人性の低い情報になることが分かった。

• Z-Chartを作ることで、MARSモデルの妥当性を検証出来た。

17 20/

Copyright ©2018 JUSE All rights reserved.

本研究の意義
ソフトウェア故障モードとは？
標本 (specimen)：標本には、記載された形質だけでなく、まだ記載されていない多くの形質が含まれている点で、模型とは異なる。適切に保存された標本は、必要なときに何度でも繰り返して調査できるので、種名の同定などの研究資料として欠くことのできないものであり、そのため研究用の標本は長く保存されなければならない。各地の大学や博物館がその任にあたっている。
「日本大百科全書(ニッポニカ)より」

18 20/

Copyright ©2018 JUSE All rights reserved.

本研究の意義

欠陥モデルやZ-Chartとの紐づけにより、MARSモデルはソフトウェア欠陥標本の特徴を有するものとなった.

19 20/

Copyright ©2018 JUSE All rights reserved.

最後に組織や企業の枠組みを超えて欠陥標本が作成・研究されるようになれば、誘発される過ちは過去のものになるかもしれない．

20 20/

Copyright ©2018 JUSE All rights reserved.