欠陥混入メカニズムの知識を 活用したDRBFMの提案...• DRBFM (Design Review Based...

27
欠陥混入メカニズムの知識を 活用したDRBFMの提案 柏原一雄 株式会社デンソークリエイト

Transcript of 欠陥混入メカニズムの知識を 活用したDRBFMの提案...• DRBFM (Design Review Based...

欠陥混入メカニズムの知識を

活用したDRBFMの提案

柏原一雄

株式会社デンソークリエイト

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

目次

1

1.はじめに

2.現状分析

3.課題提起

4.先行研究

5.解決策の提案

6.解決策の評価

7.まとめ

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

1. はじめに

2

• 派生開発において,変更箇所を漏れなく特定することは重要な課題である.XDDP,DRBFM,影響波及パス分析といった手法により,この課題の解決を図っている.

• DRBFMは実施していても,必要となる知識を伝えていない・使えていないため, 「設計制約の変化から影響を受ける箇所」について,変更漏れを防止しきれていない.

• 変更箇所を特定するために必要な知識(欠陥混入メカニズム)を検討したうえで,その知識を蓄積・活用可能とする手法を考案した.

• 提案手法を実開発に適用し,効果を確認できた.

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

1. はじめに

3

用語説明(1)

用語 意味

欠陥 仕様書やソースコードなどのプロダクトに含まれる不正確な記述箇所.

不具合 ソフトウェアが期待結果を果たせていない状態. 欠陥により不具合が発生する.

設計制約 設計では,ある前提条件のもとに,ある要求を満たす構造等を考案する.設計制約は,この前提条件の一部である.仕様は期待結果を示すが,設計制約は期待結果を示さないこともある. 例えば,「機能の並行実行不可」「機能のキャンセル不可」「データの参照可能条件」「バッファへの格納可能データ数」などを設計制約と位置付ける.

変更箇所 ソースコードの変更箇所を指す.変更が必要となる関数・変数.

影響箇所 影響箇所に変更箇所が含まれる.変更要否判断をする対象箇所であり,影響箇所が特定できていなければ,変更箇所も特定が漏れる.

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

1. はじめに

4

用語説明(2)

• DRBFM (Design Review Based on Failure Mode)

– FMEA (Failure Mode And Effects Analysis)にデザインレビューを組み合わせて問題を発見し,解決策を検討するプロセスを指す.DRBFMワークシートを記入するプロセスと,それをもとにデザインレビューを行うプロセスに分けられる.

– 故障モードを摘出して,その影響を解析し,設計的対策を行って,故障を未然に防止する手法である.「人間の問題点発見(気づき)能力を生かす」手法である.

– 問題は,従来から設計が変更された場合に発生している.そのため,DRBFMでは,変更点に着目する.心配点(故障モード)は,変更点に着目して記入する.

– 故障モードはストレス(部品の使用環境条件)とストレングス(部品の設計の弱点)で決まる.対象部品がどのようなストレスにさらされるかも検討し,心配点を明確にする.

[4]吉村達彦,「トヨタ式未然防止手法・GD3」,日科技連出版社,2008

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

ベースソフトの変更箇所の分類

2. 現状分析(1)

5

「設計制約の変化から影響を受ける箇所」の特定漏れは, DRBFMを適用していても防止しきれていない

タイプ 説明 変更箇所 特定手法

変更漏れ有無

A) 変更仕様から 直接特定可能な箇所

変更要求・変更仕様を実現するために,変更が必要となる関数・変数等である.

XDDP[2] なし

B) 設計制約の変化から 影響を受ける箇所

変更要求に対応することで,ベースソフトの設計の前提条件が変化することがある.この設計制約の変化に対応するために,変更が必要となる箇所である.

DRBFM[4][5] あり

C) ソースコードの変化点から影響を受ける箇所

ソースコードの変化点が,制御とデータの流れを介して影響を与える箇所である.

影響波及パス 分析法[3]

なし

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

2. 現状分析(2)

6

防止し切れない変更漏れの事例

• XDDP,DRBFM,影響波及パス分析を実施していても, 防ぎきれていない欠陥

変更仕様概要 欠陥内容 欠陥の要因: 設計制約の変化

欠陥の要因: ベースソフトの設計

機能実行中に,他機能の実行が要求されても,実行中機能の処理をキャンセルせず継続

共有データの排他処理漏れ (共有データの個別データ化漏れ)

キャンセル不可となったことで並列実行不可能であった機能が並列実行可能となる

機能間で共有しているデータあり

バッファのサイズを縮小可能とする

一部のバッファオーバーフローのガード処理漏れ

バッファサイズの制約が変化

バッファへのアクセス箇所が複数あり バッファを保持しているユニットとは別ユニットからバッファへの書き込みを実施する箇所あり

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

DRBFMの問題点

• 変化点の抽出漏れ

– 変更要求・変更仕様をもとに変化する設計制約 (心配点や要因の抽出の起点となる「隠れた相違点」[5]) を特定できていない.

• 心配点の抽出漏れ

– 設計制約の変化に伴い発生の可能性のある欠陥を 予測できていない.

• 心配点の要因の抽出漏れ

– 予測した欠陥は,ベースソフトの設計がどのような場合に 混入するか特定できていない.

2. 現状分析(3)

7

変化点・心配点・要因の抽出結果は,人の知識・経験に依存する 技術者が必要となる知識を伝えていない・使えていない

変更点

変化点

心配点

要因

知識 経験

知識 経験

知識 経験

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

課題

• 「設計制約の変化から影響を受ける箇所」を対象に,変更箇所の特定漏れ防止を目的として,DRBFMで必要となる知識を検討したうえで,その知識を蓄積・活用可能とする.

提案手法

• 欠陥が混入するメカニズム(以降,欠陥混入メカニズムと呼ぶ) の知識を持っていれば,欠陥が予測できるという考えをもとにする.

• DRBFMにおいて欠陥混入メカニズムの知識を蓄積・活用する.

• 「欠陥混入メカニズムの知識の表現方法」と 「欠陥混入メカニズムの知識の蓄積方法」を技術要素とする.

3. 課題提起

8

提案手法により,技術者の知識を補い, 欠陥を予測し影響箇所を特定する能力を向上させる

欠陥混入メカニズム の知識

知識 の蓄積

DRBFM 影響箇所 変更箇所

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

ABC構造

• 「ある性質・属性を有するものが,あるストレス・条件にさらされると,ある現象がおきる」という知識をもって,具体的対象に一般原則でいう現象がおきるかを考えることによって,不具合が予測できる.

• 私たちが過去の経験から獲得すべき知識は,現象を一般化・抽象化して表した用語であり,その現象の発生メカニズムである.

• トラブル現象のメカニズムを表現するときに 「Aという性質を持つものが,Bという条件(ストレス)にさらされると,Cという不具合モードが起きる」 という構造を使用する.

4. 先行研究(1)

9

[6]飯塚悦功,「構造化知識工学ことはじめ」,品質 35(1) ,6-10,2005

「性質→ベースソフトの設計の特徴」, 「ストレス→設計制約の変化」と置き換える

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

機能‐心配点マトリクス

• 安田[7]により,機能と不具合事象の関係を入力として,変更要求から心配点を抽出できることが報告されている.

• 機能‐心配点マトリクスは,欠陥混入メカニズムを表現できる形式ではなく,欠陥を予測する目的では利用しにくい.

ソフトウェア欠陥予測アルゴリズム

• SQiP研究会第7分科会[8]により,欠陥混入メカニズムを表現・蓄積する手法が提案されている.

• 過去の不具合事例をもとに欠陥混入メカニズムのモデリングをする場合,次の原因により効率的に多数の知識を蓄積することが難しい.

– 必要となる情報(欠陥とその要因の関係)が表現されていないことが多い.

– 不具合の発生数が少ない場合には,十分な知識を集めることができない.

4. 先行研究(2)

10

欠陥を予測するために必要な知識を表現し, 実開発で確実に知識を蓄積可能とする

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

課題の解決方針: 欠陥混入メカニズムの知識の表現方法(1)

• ABC構造と影響箇所が特定できたときの技術者の思考の流れを参考に以下の表現とする. 「Aという設計のベースソフトが,Bという制約の変化にさらされると,影響箇所の特定漏れにより,Cという欠陥が起きる」

5. 解決策の提案(1)

11

「設計制約の変化」と「ベースソフトの設計」と「欠陥」 の関係を表現する

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

課題の解決方針: 欠陥混入メカニズムの知識の表現方法(2)

• 欠陥混入メカニズムの知識のDRBFMにおける活用タイミング

5. 解決策の提案(2)

12

「ベースソフトの設計制約の変化」から発生し得る「欠陥」を予測しやすくする.

影響箇所の見逃しを誘発させるような「ベースソフトの設計」の情報も併せて示す.影響箇所抽出時に注意すべき箇所を明らかにする.

知識の用途を絞り・明確化して,必要な情報を表現する

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

課題の解決方針: 欠陥混入メカニズムの知識の蓄積方法(1)

• 欠陥混入メカニズム蓄積の入力情報の特徴

– DRBFMワークシートには,心配点とその要因が必ず示されているため,効率的に欠陥混入メカニズムの知識を表現することが可能となる.

– DRBFMワークシートには,流出した欠陥だけではなく流出を防止できた欠陥も示されるため,多数の知見を集めることが可能となる.

5. 解決策の提案(3)

13

DRBFMワークシートを入力に知識を蓄積する

入力情報 主な目的 情報の 十分性

件数の 十分性

流出不具合情報 修正と報告 △※ ×

欠陥情報:テスト 修正 × △

欠陥情報:レビュー 修正 × ○

DRBFMワークシート 未然防止(予測) ○ ○ ハインリッヒの法則

1 事故

29 軽微な事故

300 ヒヤリハット

※情報に過不足がある

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

課題の解決方針: 欠陥混入メカニズムの知識の蓄積方法(2)

5. 解決策の提案(4)

14

抽象化と具体化を繰り返し,知識を洗練しながら蓄積する

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

欠陥混入メカニズムの知識の表現方法の定義

• 欠陥混入メカニズムの知識を蓄積した成果物を, DIM辞書(Defect injection mechanism 辞書)と呼ぶ

• 欠陥混入メカニズムの知識は,次の3つの要素で表現する.

5. 解決策の提案(5)

15

要素 説明

設計制約 の変化

ベースソフトの設計制約の変化を示す. 欠陥混入メカニズムの知識を検索するためのキーとなる情報である.

欠陥 設計制約の変化により,引き起こされる可能性のある欠陥を示す.ソースコードの欠陥を表現する.

ベースソフトの設計

影響箇所を特定する時に注目すべき点を示す. 予想した欠陥が発生し得る箇所を絞り込むために利用する知識である.

【欠陥混入メカニズムの知識に含める要素】

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

No 設計制約の変化 欠陥 ベースソフトの設計1 機能が並列実行不可能から並行実行可能に変化

・共有データの排他処理漏れ ・機能間で共有しているデータ(外部変数)あり

2 処理のキャンセル不可能からキャンセル可能に変化

・デッドロックの対策処理漏れ ・処理実行中の状態を複数のレイヤ(ユニット)でそれぞれ管理

3 処理が異常終了することなしから異常終了することありに変化

・デッドロックの対策処理漏れ ・処理実行中の状態を複数のレイヤ(ユニット)でそれぞれ管理

4 同期処理が非同期処理に変化(処理中に他の要求を受け付けられるようになる)

・キューあふれ ・処理中に受け付けた別の要求は、キューに格納し、実行中処理が完了後に実行される

5 処理時間が長くなる(処理中に受け付ける要求が増える可能性がある)

・キューあふれ ・処理中に受け付けた別の要求は、キューに格納し、実行中処理が完了後に実行される

6 バッファサイズの制約が変化(バッファオーバランが発生する可能性がある)

・バッファオーバーランのガード処理漏れ

・同じ種類のデータが格納されるバッファ(配列)が複数あり・バッファ(配列)が保持されているユニットとは別ユニットから書き込みがされる箇所あり

7 バッファのデータの歯抜けなしから歯抜けありに変化

・データ取得時の無効値判定処理漏れ/有効値範囲判定処理誤り・ソート処理の漏れ・有効データ位置情報の更新漏れ

・バッファのデータの並べ替え処理なし・バッファ(配列)のデータ参照箇所が複数・バッファ(配列)のデータ更新箇所が複数

8 バッファのデータの並び順に関する制約が変化

・データ検索処理誤り ・バッファのデータの並べ替え処理なし・バッファ(配列)のデータ参照箇所が複数

9 データの有効区間が変化 ・データ取得時の無効値判定処理漏れ

・データの参照箇所が複数

10 データの種類が増える(サポート対象外だったものがサポート対象となる)

・データの種類毎に処理を切り替えるべきところを、同一の処理を実行

・データの種類を意識して処理を切り替える箇所が複数「ベースソフトの設計」欄には,

影響箇所の特定時に注目すべき点を示す 「設計制約の変化」は,“当てはまるか?”の判断がしやすいように表現する

DIM辞書のイメージ

5. 解決策の提案(6)

16

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

欠陥混入メカニズムの知識の蓄積方法の定義

5. 解決策の提案(7)

17

1. DRBFM の実施

2. DIM知識 の抽出

3. DIM知識 の一般化

4. DIM辞書 への登録

5. DIM辞書 のレビュー

過去の不具合事例,レビュー指摘などを入力に,DRBFMを実施する.DIM辞書が存在していれば,DIM辞書も入力としてDRBFMを実施する.

DRBFMワークシートを入力に,欠陥混入メカニズムの元となる設計制約の変化に起因する心配点を抽出する.

抽出した心配点とその要因を,欠陥混入メカニズムの構造に当てはめ,一般化して表現する.

表現した欠陥混入メカニズムの知識をDIM辞書に登録する. 必要に応じて既存の知識の表現も見直す.

DIM辞書の内容を,理解容易性・納得性・利用可能性の観点でレビュー. 必要に応じて既存の知識の表現も見直す.

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

6. 解決策の評価(1)

18

評価方法 ID 評価観点 評価方法

a 欠陥混入メカニズムの知識を入力に,発生し得る欠陥を予測することが可能か?

開発経験の異なる複数の技術者が,変更要求・変更仕様(7件)とDIM辞書(知識件数10件)を入力に,変化点抽出と心配点抽出を実施する. 入力となる変更要求・変更仕様は理解している状態で、制限時間(30分)を設け実験を実施する.

B 過去に発生した変更箇所の特定漏れを防止することが可能か?

DIM辞書を活用したDRBFMにより,ベースソフト調査の再実施を行い,変更箇所が特定できるかを確認する. 過去に変更箇所の特定漏れが発生した2件の事例を対象とする.

c 実開発に手法を適用し,欠陥混入メカニズムの知識の蓄積・活用が可能か?

実開発で作成されたDRBFMワークシートを入力に,DIM辞書が作成可能かを確認する. また,作成したDIM辞書を入力にDRBFMを実施し,心配点が抽出可能かを確認する. DIM辞書を作成するプロジェクト(ソフト)と利用するプロジェクト(ソフト)は異なる.

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

6. 解決策の評価(2)

19

評価結果 ID 評価観点 評価結果

a 欠陥混入メカニズムの知識を入力に,発生し得る欠陥を予測することが可能か?

6人全員が変化点と心配点を抽出できた. 抽出できた心配点は,技術者毎に異なる. 開発経験が増えれば,抽出できる変化点と心配点も多くなる傾向がある.

b 過去に発生した変更箇所の特定漏れを防止することが可能か?

DRBFM結果をもとに,ベースソフトの調査を再実施した結果,2件の事例共に,「設計制約の変化から影響を受ける箇所」を特定できた.

c 実開発に手法を適用し,欠陥混入メカニズムの知識の蓄積・活用が可能か?

実開発で作成されたDRBFMワークシート(心配点数 合計47件)を入力に,10件の欠陥混入メカニズムがDIM辞書に登録できた. 作成したDIM辞書を入力にDRBFMを実施し,5件の心配点を抽出できた. 約10%(5件/56件)がDIM辞書を入力に追加で抽出できた心配点である.

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

6. 解決策の評価(3)

20

実験結果データ

a. 欠陥混入メカニズムの知識を入力に,発生し得る欠陥を予測することが可能か?

• 技術者毎に抽出できた変化点数と心配点数を示す.

• 開発経験の情報として,対象ソフトの開発経験年数とDIM辞書に登録された欠陥混入メカニズムによる欠陥を経験したことがあるかを示す.

• 変更仕様 7件,DIM辞書の登録知識件数 10件

技術者 対象ソフトの

開発経験 経験済みの メカニズムの数

抽出した 変化点の数

抽出した 心配点の数

A 5年以上 10件 10件 10件

B 5年以上 9件 6件 6件

C 3年以上 10件 6件 7件

D 3年以上 5件 5件 4件

E 1年未満 2件 3件 3件

F 1年未満 0件 3件 1件

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

6. 解決策の評価(4)

21

結果の考察

• DIM辞書(欠陥混入メカニズムの知識)により, DRBFMで担当者の知識を補い,影響箇所の抽出漏れを防止することができる.

– 「設計制約の変化」と「欠陥」の関係が表現された知識を入力とすることにより,発生し得る欠陥に気づくことができる.

– 「欠陥」と「ベースソフトの設計」の表現された知識を入力とすることにより,ベースソフトの調査で注意して確認すべき箇所が明確になる.

• 不具合事例ではなくDRBFMワークシートを入力にすることで,実開発で,利用可能な欠陥混入メカニズムの知識を確実に蓄積できる.

• 欠陥混入メカニズムを具体化することと抽象化することが繰り返され,欠陥混入メカニズムに対する理解が深まる効果も得られる.

• 更に効果を高めるには以下が必要である.

– DIM辞書に示されている理解するために必要となる「経験」

– 設計制約の変化を捉えやすくするために必要となる「明文化された制約」

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

研究の成果

• 変更箇所のタイプを分類し,「設計制約の変化から影響を受ける箇所」の特定漏れを防止する手法が必要であることを明らかにした.

• 「設計制約の変化から影響を受ける箇所」を特定するために,蓄積・活用すべき知識(欠陥混入メカニズム)を明らかにした.

• DRBFMで欠陥混入メカニズムの知識を活用する方法(知識の表現方法と蓄積方法)を考案した.

• 提案手法を適用することで, 「設計制約の変化から影響を受ける箇所」を対象に,変更箇所の特定漏れ防止する効果があることを確認した.

7. まとめ(1)

22

XDDPと影響波及パス分析法と本手法を併用することで, 実開発で派生開発における変更漏れを防止できつつある

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

今後の進め方

• 実験により明らかになった課題の解消方法を検討する.

– DIM辞書に示されている理解するために必要となる「経験」

– 設計制約の変化を捉えやすくするために必要となる「明文化された制約」

• HAZOP[9][10]等の他手法との比較評価を実施し,手法を組み合せることによる効果を確認する.

• 欠陥混入メカニズムの知識に加え,静的コード解析ツールを活用し,影響箇所の特定を自動化する方法を検討する.

7. まとめ(2)

23

HAZOPと静的コード解析ツールとの組み合わせにより, 提案手法の効果を更に高めたいと考えている

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

おわりに

24

謝辞

• SQiP研究会活動において,本研究に対して有益なご助言と温かいご指導を戴いた,株式会社日立ハイテクノロジーズ 飯泉紀子氏,株式会社デンソー 足立久美氏,株式会社システムクリエイツ 清水吉男氏に深謝の意を表します.

• 本研究のきっかけと本研究に対する有益なご助言を戴いた,名古屋市工業研究所 小川清氏,電気通信大学 西康晴氏,名古屋大学 森崎修司氏,株式会社プロセスネットワーク 金子龍三氏,株式会社構造化知識研究所 田村泰彦氏,日本IBM株式会社 細川宣啓氏,株式会社日新システムズ 永田敦氏,株式会社デンソークリエイト 山路厚氏,bugciergeの皆さんに感謝の意を表します.

• 本研究の実験に参加してもらったプロジェクトメンバに感謝の意を表します.

/24 ソフトウェア品質シンポジウム2018 / September 11, 2018 / Kazuo Kashiwabara / DENSO CREATE INC.

© DENSO CORPORATION All Rights Reserved.

参考文献

[1]清水吉男,「派生開発における 母体に由来するバグとその対応」,JaSST'09 Tokyo,2009

[2]清水吉男,「「派生開発」を成功させるプロセス改善の技術と極意」,技術評論社,2007

[3]柏原一雄,「統合テストにおいて影響範囲に対するテスト漏れを防止する「影響波及パス分析法」の提案」,ソフトウェア品質シンポジウム2017,2017

[4]吉村達彦,「トヨタ式未然防止手法・GD3」,日科技連出版社,2008

[5]多田直弘,「モノづくりにおける実践のDRBFM」,友月書房,2015

[6]飯塚悦功,「構造化知識工学ことはじめ」,品質 35(1) ,6-10,2005

[7]安田隆司,「変更要求仕様書を活用した未然防止方法の提案-XDDPへのDRBFM導入とその効果-」,ソフトウェア品質シンポジウム2011,2011

[8]2014年度 SQiP研究会第7分科会,「ソフトウェア欠陥予測アルゴリズム」,ソフトウェア品質シンポジウム2015, 2015

[9]河野哲也,「ソフトウェア要求仕様におけるHAZOPを応用したリスク項目設計法」,ソフトウェアテストシンポジウム2012,2012

[10]小川明秀,小川清,「安全分析において、HAZOP, FMEA, FTAの組み合わせによる リスクアセスメントの進め方」,安全工学シンポジウム2015,2015