(57)【要約】      （修正有）【課題】不具合の原因を迅速に特定する情報処理装置、機器、不具合解析システム、不具合解析方法およびプログラムを提供する。【解決手段】情報処理装置１０は、記憶部１１と、原因未特定不具合情報取得部１２と、原因候補抽出部１３と、不具合解析ソフトウェア生成部１４と、を備える。原因未特定不具合情報取得部１２は、原因が特定されていない不具合を表す原因未特定不具合情報を取得して記憶部１１に格納する。原因候補抽出部１３は、原因特定済不具合情報に基づいて、原因情報のいずれかのうち、原因未特定不具合情報が表す不具合が発生した原因の候補を抽出する。不具合解析ソフトウェア生成部１４は、原因候補抽出部１３が原因の候補として抽出した原因情報に関連付けて格納された不具合顕在化変更情報を制御ソフトウェアに反映して、不具合を解析するための不具合解析ソフトウェアを生成する。【選択図】図２
2019191957.tif 000002
【特許請求の範囲】
【請求項１】
機器の動作を制御するための制御ソフトウェアと、不具合が発生した原因が特定された不具合を表す原因特定済不具合情報と、特定された原因を表す原因情報と、該原因による不具合を顕在化するために前記制御ソフトウェアの一部を変更する内容を表す不具合顕在化変更情報と、を記憶する記憶部と、
原因が特定されていない不具合を表す原因未特定不具合情報を取得して前記記憶部に格納する原因未特定不具合情報取得部と、
前記原因特定済不具合情報に基づいて、前記原因情報のいずれかのうち、前記原因未特定不具合情報が表す不具合が発生した原因の候補を抽出する原因候補抽出部と、
前記原因候補抽出部が原因の候補として抽出した原因情報に関連付けて格納された前記不具合顕在化変更情報を前記制御ソフトウェアに反映して、不具合を解析するための不具合解析ソフトウェアを生成する不具合解析ソフトウェア生成部と、を備える、
情報処理装置。
【請求項２】
前記不具合解析ソフトウェア生成部は、前記原因候補抽出部が原因の候補として抽出した原因情報が複数ある場合、複数の前記不具合顕在化変更情報のいずれかまたはすべてを前記制御ソフトウェアに反映して、複数の前記不具合解析ソフトウェアを生成する、
請求項１に記載の情報処理装置。
【請求項３】
前記原因未特定不具合情報が表す不具合の再現を試行するために前記制御ソフトウェアの一部を変更する内容を表す再現試行変更情報を取得する再現試行変更情報取得部をさらに備え、
前記不具合解析ソフトウェア生成部は、前記再現試行変更情報取得部が取得した前記再現試行変更情報と、前記不具合顕在化変更情報と、を前記制御ソフトウェアに反映して、不具合を解析するための不具合解析ソフトウェアを生成する、
請求項１または２に記載の情報処理装置。
【請求項４】
前記不具合解析ソフトウェア生成部が生成した前記不具合解析ソフトウェアと、前記原因未特定不具合情報が表す不具合を識別する不具合識別情報と、を複数の機器に送信する不具合解析ソフトウェア送信部と、
前記不具合解析ソフトウェアによる再現試行結果を前記複数の機器から受信する再現試行結果受信部と、をさらに備える、
請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
再現試行を許可するか否かを確認する画面情報を前記機器に送信して、前記機器から再現試行を許可するか否かを表す再現試行可否情報を取得する再現試行可否取得部をさらに備え、
前記不具合解析ソフトウェア送信部は、再現試行を許可することを表す前記再現試行可否情報を送信した機器に、前記不具合解析ソフトウェアと前記不具合識別情報とを送信する、
請求項４に記載の情報処理装置。
【請求項６】
前記再現試行結果受信部が受信した前記再現試行結果に基づいて、前記原因未特定不具合情報が表す不具合が発生した原因を特定し、原因を特定した前記原因未特定不具合情報を前記原因特定済不具合情報として前記記憶部に格納し、前記特定した原因を前記原因情報として前記記憶部に格納する原因特定部をさらに備える、
請求項４または５に記載の情報処理装置。
【請求項７】
前記原因情報を取得して、取得した前記原因情報を前記原因未特定不具合情報および前記不具合顕在化変更情報に関連付けて前記記憶部に格納する原因情報登録部をさらに備える、
請求項１から６のいずれか１項に記載の情報処理装置。
【請求項８】
不具合を解析するための不具合解析ソフトウェアと、不具合を識別する不具合識別情報と、を受信する不具合解析ソフトウェア受信部と、
動作を制御する制御ソフトウェアの代わりに、前記不具合解析ソフトウェア受信部が受信した前記不具合解析ソフトウェアを実行して動作を制御する制御部と、
前記制御部が前記不具合解析ソフトウェアを実行して動作を制御した場合に、前記不具合識別情報によって識別される不具合が発生したか否かを判定する再現成否判定部と、
前記再現成否判定部の判定した結果を表す再現試行結果を送信する再現試行結果送信部と、を備え、
前記制御部は、動作を制御するソフトウェアを前記不具合解析ソフトウェアから前記制御ソフトウェアに戻して実行する、
機器。
【請求項９】
情報処理装置と機器とを備え、
前記情報処理装置は、
前記機器の動作を制御するための制御ソフトウェアと、不具合が発生した原因が特定された不具合を表す原因特定済不具合情報と、特定された原因を表す原因情報と、該原因による不具合を顕在化するために前記制御ソフトウェアの一部を変更する内容を表す不具合顕在化変更情報と、を記憶する記憶部と、
原因が特定されていない不具合を表す原因未特定不具合情報を取得して前記記憶部に格納する原因未特定不具合情報取得部と、
前記原因特定済不具合情報に基づいて、前記原因情報のいずれかのうち、前記原因未特定不具合情報が表す不具合が発生した原因の候補を抽出する原因候補抽出部と、
前記原因候補抽出部が原因の候補として抽出した原因情報に関連付けて格納された前記不具合顕在化変更情報を前記制御ソフトウェアに反映して、不具合を解析するための不具合解析ソフトウェアを生成する不具合解析ソフトウェア生成部と、
前記不具合解析ソフトウェア生成部が生成した前記不具合解析ソフトウェアと、前記原因未特定不具合情報が表す不具合を識別する不具合識別情報と、を複数の機器に送信する不具合解析ソフトウェア送信部と、
前記不具合解析ソフトウェアによる再現試行結果を前記複数の機器から受信する再現試行結果受信部と、を備え、
前記機器は、
不具合を解析するための不具合解析ソフトウェアと、不具合を識別する不具合識別情報と、を前記情報処理装置から受信する不具合解析ソフトウェア受信部と、
動作を制御する制御ソフトウェアの代わりに、前記不具合解析ソフトウェア受信部が受信した前記不具合解析ソフトウェアを実行して動作を制御する制御部と、
前記制御部が前記不具合解析ソフトウェアを実行して動作を制御した場合に、前記不具合識別情報によって識別される不具合が発生したか否かを判定する再現成否判定部と、
前記再現成否判定部の判定した結果を表す再現試行結果を送信する再現試行結果送信部と、を備え、
前記制御部は、動作を制御するソフトウェアを前記不具合解析ソフトウェアから前記制御ソフトウェアに戻して実行する、
不具合解析システム。
【請求項１０】
不具合が発生した原因の候補を、既知の原因から抽出する原因候補抽出ステップと、
前記抽出された原因の候補に関連付けて格納された不具合顕在化変更情報を機器の動作を制御するための制御ソフトウェアに反映して、不具合を解析するための不具合解析ソフトウェアを生成する不具合解析ソフトウェア生成ステップと、を備える、
不具合解析方法。
【請求項１１】
コンピュータに、
不具合が発生した原因の候補を、既知の原因から抽出する原因候補抽出ステップと、
前記抽出された原因の候補に関連付けて格納された不具合顕在化変更情報を機器の動作を制御するための制御ソフトウェアに反映して、不具合を解析するための不具合解析ソフトウェアを生成する不具合解析ソフトウェア生成ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、機器、不具合解析システム、不具合解析方法およびプログラムに関する。
【背景技術】
【０００２】
機器を開発している企業は、市場に流通している機器に不具合が発生した場合、その不具合の原因を迅速に特定し、修正することが求められる。そして、不具合の原因を特定するには、不具合を再現させて、不具合の現象に至るまでの因果関係を追って、根本原因を発見することが重要である。しかし、市場で発生する不具合は開発試験の際に見過ごされるような再現性の低い不具合であることが多い。そこで、不具合を再現させるための技術が開発されている。例えば、特許文献１には、ＷＥＢシステムにおいて不具合が発生した環境におけるデータフローを記録して、別の環境でデータフローにしたがって不具合を再現させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１４１７７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
不具合の根本原因を発見するには、不具合を単に再現させるだけではなく、再現させた不具合の原因が既知の原因と同じであるか、未知の原因なのか、を特定する必要がある。特許文献１に開示された技術では、再現させた不具合の原因を特定するためには、不具合の原因特定作業の担当者が、原因を推定した上でソフトウェアの改変を繰り返しながら原因を特定する必要がある。したがって、不具合の原因を特定するのに要する時間は、担当者の能力に依存してしまう。
【０００５】
本発明は、上記実情に鑑みてなされたものであり、不具合の原因を迅速に特定することができる情報処理装置、機器、不具合解析システム、不具合解析方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の情報処理装置は、記憶部と、原因未特定不具合情報取得部と、原因候補抽出部と、不具合解析ソフトウェア生成部と、を備える。記憶部は、機器の動作を制御するための制御ソフトウェアと、不具合が発生した原因が特定された不具合を表す原因特定済不具合情報と、特定された原因を表す原因情報と、該原因による不具合を顕在化するために制御ソフトウェアの一部を変更する内容を表す不具合顕在化変更情報と、を記憶する。原因未特定不具合情報取得部は、原因が特定されていない不具合を表す原因未特定不具合情報を取得して記憶部に格納する。原因候補抽出部は、原因特定済不具合情報に基づいて、原因情報のいずれかのうち、原因未特定不具合情報が表す不具合が発生した原因の候補を抽出する。不具合解析ソフトウェア生成部は、原因候補抽出部が原因の候補として抽出した原因情報に関連付けて格納された不具合顕在化変更情報を制御ソフトウェアに反映して、不具合を解析するための不具合解析ソフトウェアを生成する。
【発明の効果】
【０００７】
本発明によれば、不具合を解析するための不具合解析ソフトウェアを生成することによって、不具合の原因を迅速に特定することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態１に係る不具合解析システムの概念図
【図２】本発明の実施の形態１に係る情報処理装置の機能ブロック図
【図３】本発明の実施の形態１に係る原因特定済不具合情報の一例を表す図
【図４】本発明の実施の形態１に係る原因情報の一例を表す図
【図５】本発明の実施の形態１に係る機器情報の一例を表す図
【図６】本発明の実施の形態１に係る原因未特定不具合情報の一例を表す図
【図７】本発明の実施の形態１に係る機器の機能ブロック図
【図８】本発明の実施の形態１に係る情報処理装置のハードウェア構成の一例を表す図
【図９】本発明の実施の形態１に係る機器のハードウェア構成の一例を表す図
【図１０】本発明の実施の形態１に係る不具合解析システムのシーケンス図
【図１１】本発明の実施の形態１に係る原因未特定不具合登録画面の一例を表す図
【図１２】本発明の実施の形態１に係る情報処理装置が実行する不具合解析ソフトウェア生成処理のフローチャート
【図１３】本発明の実施の形態１に係る不具合解析ソフトウェアの生成方法を表す図
【図１４】本発明の実施の形態１に係る不具合解析ソフトウェアの複数の原因候補を抽出した場合における生成方法を表す図
【図１５】本発明の実施の形態１に係る機器が実行する再現試行処理のフローチャート
【図１６】本発明の実施の形態１に係る不具合再現状況一覧画面の一例を表す図
【図１７】本発明の実施の形態１に係る原因登録画面の一例を表す図
【図１８】本発明の実施の形態２に係る情報処理装置の機能ブロック図
【図１９】本発明の実施の形態２に係る情報処理装置が実行する原因特定処理のフローチャート
【図２０】本発明の実施の形態３に係る不具合解析システムの概念図
【図２１】本発明の実施の形態３に係る情報処理装置の機能ブロック図
【図２２】本発明の実施の形態３に係る機器情報の一例を表す図
【図２３】本発明の実施の形態３に係る情報処理装置が実行する再現試行可否取得処理のフローチャート
【図２４】本発明の実施の形態３に係る再現試行可否確認画面の一例を表す図
【発明を実施するための形態】
【０００９】
（実施の形態１）
以下、本発明に係る不具合解析システムを、機器に発生した不具合の原因特定作業に適用した実施の形態について、図面を参照して説明する。
【００１０】
本実施の形態に係る不具合解析システム１は、図１に示すように、各種の情報を処理する情報処理装置１０と、原因特定作業の担当者が操作する端末３０と、不具合の再現試行に使用する機器４０と、を備える。
【００１１】
情報処理装置１０は、後述する機能部を備え、各種情報を処理する装置である。情報処理装置１０は、端末３０および機器４０と通信可能に接続されている。これらの接続は、それぞれ専用線で１対１に接続されていても良いし、ネットワークを介して接続されていても良い。情報処理装置１０は、機器４０の動作を制御する制御ソフトウェアに変更を加えて、不具合を再現させるための不具合解析ソフトウェアを生成する。そして、生成した不具合解析ソフトウェアを機器４０に送信する。
【００１２】
端末３０は、原因特定作業の担当者が操作するための装置である。端末３０は、情報処理装置１０が生成した画面情報を受信して表示し、担当者の操作を受けて、操作情報を情報処理装置１０に送信する。
【００１３】
機器４０は、後述する機能部を備え、不具合の再現を試行するための機器である。機器４０は、住宅施設内で使用される家電機器、商業施設または工業施設で使用される業務用機器等を含み、開発用のものだけではなく、市場において利用中のものであっても良い。また、原因特定作業の対象として、実際に不具合が発生したものを含んでも良い。機器４０は、情報処理装置１０から不具合解析ソフトウェアを受信して、受信した不具合解析ソフトウェアを制御ソフトウェアの代わりに実行することによって、不具合の再現を試行する。
【００１４】
次に、情報処理装置１０が備える機能部について、図２を参照して説明する。情報処理装置１０は、各種情報を記憶する記憶部１１と、原因が特定されていない不具合を表す情報を取得する原因未特定不具合情報取得部１２と、不具合が発生した原因の候補を抽出する原因候補抽出部１３と、不具合を解析するためのソフトウェアを生成する不具合解析ソフトウェア生成部１４と、制御ソフトウェアの一部を変更する内容を取得する再現試行変更情報取得部１５と、不具合解析ソフトウェアを機器４０に送信する不具合解析ソフトウェア送信部１６と、再現試行結果を機器４０から受信する再現試行結果受信部１７と、原因情報を登録する原因情報登録部１８と、を備える。
【００１５】
記憶部１１は、機器４０の動作を制御するための制御ソフトウェアと、不具合が発生した原因が特定された不具合を表す原因特定済不具合情報と、特定された原因を表す原因情報と、機器４０の情報である機器情報と、該原因による不具合を顕在化するために制御ソフトウェアの一部を変更するモジュールである不具合顕在化モジュールと、が格納されている。制御ソフトウェアは、機器４０の機種ごとに管理され、さらに、制御ソフトウェアのバージョンごとに管理される。
【００１６】
原因特定済不具合情報ＧＴは、図３に示すように、不具合を識別する不具合ＩＤと、不具合の内容と、不具合が発生した環境情報と、原因を識別する原因ＩＤと、を含む情報である。不具合の内容は、機器に発生した症状、不具合の分類を表す不具合分類タグ、機器に発生した症状を特定するエラーＩＤ等を含む。不具合が発生した環境情報は、機器４０の機種、制御ソフトウェアのバージョン等の情報を含む。原因ＩＤは、当該不具合が発生する原因として特定された原因を識別する識別子である。また、エラーＩＤは、不具合を識別するための不具合識別情報として機能する。
【００１７】
原因情報ＧＩは、図４に示すように、原因を識別する原因ＩＤと、原因の内容と、不具合顕在化モジュールのリビジョン番号と、を含む。不具合顕在化モジュールは、当該原因による不具合を顕在化する制御ソフトウェアの構造化設計されたブロックの単位を表すモジュールであり、制御ソフトウェアの開発者、技術者等によって作成される。例えば、２つの機能がまれに同一のリソースにアクセスして競合が発生する不具合である場合、不具合顕在化モジュールは、２つの機能によるリソースへのアクセス頻度を高くしたモジュールである。この不具合顕在化モジュールによって、制御ソフトウェアの一部を変更すれば、機器４０は、当該原因による不具合が発生しやすくなる。また、リビジョン番号は、不具合顕在化モジュールを一意に識別する番号である。
【００１８】
機器情報ＤＩは、図５に示すように、機種、製造シリアル番号、制御ソフトウェアのバージョン番号、再現試行状況のステータス、再現試行を行っている場合の対象の不具合ＩＤ等を含む。ここで、製造シリアル番号は、機器４０を個別に識別することができる番号である。再現試行状況のステータスは、「再現試行中」、「通常運用中」のいずれかである。再現試行状況のステータスは、当初は「通常運用中」であり、情報処理装置１０から機器４０に再現試行の要求を送ると、「再現試行中」に変更される。そして、情報処理装置１０が機器４０から再現試行結果を受信すると、再び「通常運用中」に戻される。また、情報処理装置１０は、どの不具合についての再現試行を行うかを不具合ＩＤで指定して、機器４０に再現試行の要求を送る。そこで、情報処理装置１０から機器４０に再現試行の要求を送ると、再現試行を行う対象の不具合ＩＤを機器情報ＤＩに格納する。
【００１９】
原因未特定不具合情報取得部１２は、端末３０を介して入力された原因未特定不具合情報を取得する。原因未特定不具合情報ＧＭは、図６に示すように、不具合を識別する不具合ＩＤと、不具合の内容と、再現試行モジュールを識別するリビジョン番号と、不具合が発生した環境情報とを含む情報である。不具合の内容は、機器に発生した症状、不具合の分類を表す不具合分類タグ、機器に発生した症状を特定するエラーＩＤ等を含む。また、不具合が発生した環境情報は、機器４０の機種、制御ソフトウェアのバージョン等の情報を含む。
【００２０】
再現試行モジュールは、不具合の再現のために実際に発生した不具合の状況を再現するための制御ソフトウェアの構造化設計されたブロックの単位を表すモジュールであり、制御ソフトウェアの開発者、技術者等によって作成される。例えば、当該不具合が機器４０の運転をＯＦＦにする操作で発生した場合、再現試行モジュールは、運転をＯＦＦにする指示を受けたとする擬似処理を含むモジュールである。この再現試行モジュールによって、制御ソフトウェアの一部を変更すれば、機器４０は、再現を試行しやすくなる。また、リビジョン番号は、再現試行モジュールを一意に識別する番号である。
【００２１】
図２に戻り、原因候補抽出部１３は、原因特定済不具合情報ＧＴに基づいて、原因情報ＧＩのいずれかのうち、原因未特定不具合情報ＧＭが表す不具合が発生した原因の候補を抽出する。具体的には、原因候補抽出部１３は、原因未特定不具合情報ＧＭと類似することを意味する基準条件を満たす不具合情報を、原因特定済不具合情報ＧＴから抽出し、抽出した不具合情報に関連付けられた原因情報ＧＩを原因の候補として抽出する。
【００２２】
不具合解析ソフトウェア生成部１４は、原因未特定不具合情報ＧＭに関連付けて格納された再現試行モジュールと、原因候補抽出部１３が原因の候補として抽出した原因情報ＧＩに関連付けて格納された不具合顕在化モジュールと、を制御ソフトウェアに反映して、不具合を解析するための不具合解析ソフトウェアを生成する。
【００２３】
再現試行変更情報取得部１５は、制御ソフトウェアの開発者、技術者等が作成し、端末３０を介して送信した再現試行モジュールを受信して、記憶部１１に格納する。その際、再現試行変更情報取得部１５は、受信した再現試行モジュールにリビジョン番号を自動で採番し、再現試行モジュールをリビジョン番号に関連付けて記憶部１１に格納する。
【００２４】
不具合解析ソフトウェア送信部１６は、機器情報ＤＩを参照して機器４０を選定し、不具合解析ソフトウェア生成部１４が生成した不具合解析ソフトウェアと、原因未特定不具合情報ＧＭに含まれるエラーＩＤと、を選定した機器４０に送信する。
【００２５】
再現試行結果受信部１７は、機器４０から再現試行結果を受信して、記憶部１１に格納する。具体的には、再現試行結果は、再現が成功したか失敗したかを表す情報である。したがって、機器４０ごとに再現が成功したか失敗したかを記憶部１１に格納する。また、再現試行結果受信部１７は、対象の機器４０について、記憶部１１に格納された機器情報ＤＩのステータスを「再現試行中」から「通常運用中」に戻す。
【００２６】
原因情報登録部１８は、担当者が端末３０を介して入力した原因情報ＧＩを取得して、取得した原因情報ＧＩを原因未特定不具合情報ＧＭおよび不具合顕在化モジュールに関連付けて記憶部１１に格納する。担当者は、再現試行結果を確認して、原因未特定不具合情報ＧＭおよび不具合顕在化モジュールに関連付けて、原因情報ＧＩを入力する。
【００２７】
次に、機器４０が備える機能部について、図７を参照して説明する。機器４０は、不具合解析ソフトウェアを受信する不具合解析ソフトウェア受信部４１と、機器４０の動作を制御する制御部４２と、再現試行が成功したか否かを判定する再現成否判定部４３と、再現試行結果を送信する再現試行結果送信部４４と、を備える。
【００２８】
不具合解析ソフトウェア受信部４１は、不具合を解析するための不具合解析ソフトウェアと、不具合を識別するエラーＩＤと、を情報処理装置１０から受信する。
【００２９】
制御部４２は、制御ソフトウェアを実行して機器４０の動作を制御する。そして、不具合解析ソフトウェア受信部４１が、情報処理装置１０から不具合解析ソフトウェアを受信すると、制御部４２は、制御ソフトウェアの代わりに、不具合解析ソフトウェアを実行して動作を制御する。
【００３０】
再現成否判定部４３は、制御部４２が不具合解析ソフトウェアを実行して動作を制御した場合に、基準時間内に受信したエラーＩＤに該当する不具合が発生したか否かによって再現が成功したか失敗したかを判定する。そして、受信したエラーＩＤに該当する不具合が発生した場合は、再現が成功したと判定し、基準時間内に受信したエラーＩＤに該当する不具合が発生しなかった場合は、再現が失敗したと判定する。
【００３１】
再現試行結果送信部４４は、再現成否判定部４３が判定した再現試行結果を情報処理装置１０に送信する。
【００３２】
次に、情報処理装置１０のハードウェア構成について、図８を参照して説明する。情報処理装置１０は、各種の処理を実行するＣＰＵ（Central Processing Unit）１０１と、揮発性メモリであるＲＡＭ（Random Access Memory）１０２と、不揮発性メモリであるＲＯＭ（Read Only Memory）１０３と、各種情報を記憶するハードディスクドライブ１０４と、情報を送受信するネットワークカード１０５と、を備える。
【００３３】
ＣＰＵ１０１は、ハードディスクドライブ１０４に記憶されているプログラムをＲＡＭ１０２に読み出して実行することにより、後述する各種処理を実行する。
【００３４】
ＲＡＭ１０２は、ＣＰＵ１０１の作業領域として用いられる。
【００３５】
ＲＯＭ１０３は、ＣＰＵ１０１が実行する情報処理装置１０の基本動作のための制御プログラム、ＢＩＯＳ（Basic Input Output System）等を記憶する。
【００３６】
ＣＰＵ１０１、ＲＡＭ１０２およびＲＯＭ１０３は、協同して、前述の原因候補抽出部１３、不具合解析ソフトウェア生成部１４として機能する。
【００３７】
ハードディスクドライブ１０４は、情報を記憶する媒体であり、前述の原因特定済不具合情報ＧＴ、原因情報ＧＩ、機器情報ＤＩ等が格納される。したがって、ハードディスクドライブ１０４は、前述の記憶部１１として機能する。
【００３８】
ネットワークカード１０５は、外部機器と情報を通信する通信装置であり、端末３０および機器４０と通信可能に接続されている。ネットワークカード１０５は、ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３およびハードディスクドライブ１０４と協同して、前述の原因未特定不具合情報取得部１２、再現試行変更情報取得部１５、不具合解析ソフトウェア送信部１６、再現試行結果受信部１７および原因情報登録部１８として機能する。
【００３９】
次に、機器４０のハードウェア構成について、図９を参照して説明する。機器４０は、各種の処理を実行するプロセッサ４０１と、各種情報を記憶するメモリ４０２と、外部の機器と情報を送受信するインタフェース４０３と、を備える。
【００４０】
プロセッサ４０１は、ＣＰＵ（Central Processing Unit）、中央処理装置、演算装置等であり、メモリ４０２に格納されたプログラムを読み出して実行することによって、前述の各部の機能を実現する。
【００４１】
メモリ４０２は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、フラッシュメモリ、等の不揮発性または揮発性のメモリ、磁気ディスク、フレキシブルディスク、光ディスク等の記録媒体である。メモリ４０２は、制御ソフトウェア、不具合解析ソフトウェアを含む各種データ、ＢＩＯＳ（Basic Input Output System）等が格納される。
【００４２】
インタフェース４０３は、ネットワークカード、ネットワークアダプタ等の通信デバイスである。インタフェース４０３は、情報処理装置１０と通信可能に接続されている。
【００４３】
プロセッサ４０１、メモリ４０２およびインタフェース４０３は、協同して、前述の不具合解析ソフトウェア受信部４１、制御部４２、再現成否判定部４３および再現試行結果送信部４４として機能する。
【００４４】
次に、不具合解析システム１の動作について、図面を参照して説明する。
【００４５】
情報処理装置１０のハードディスクドライブ１０４には、あらかじめ各種の設定値が格納されている。例えば、原因候補抽出部１３が、原因未特定不具合情報ＧＭと類似する原因特定済不具合情報ＧＴを抽出するための基準条件が設定される。具体的には、同一の不具合分類タグが１つ以上存在し、かつ、同一の機種であり、かつ、制御ソフトウェアが同一のバージョン番号であることを基準条件とする。また、後述する不具合分類タグの選択肢も、設定値としてハードディスクドライブ１０４に格納されている。
【００４６】
また、記憶部１１には、過去の不具合解析の実績から、原因特定済不具合情報ＧＴおよび原因情報ＧＩが格納されている。また、機器情報ＤＩには、市場に出荷した機器４０、自社工場で抱えている機器４０、制御ソフトウェアの開発用の機器４０等のネットワークカード１０５を介して接続されている機器４０の情報が格納されている。
【００４７】
担当者は、不具合発生の連絡を受けると、その不具合の発生状況を再現させるための再現試行モジュールを生成する。例えば、当該不具合が機器４０の運転をＯＦＦにする操作で発生した場合、担当者は、制御ソフトウェアを構成する複数のモジュールのうち、運転操作を管理するモジュールに、運転をＯＦＦにする指示を受けたとする擬似処理を追加する。そして、端末３０は、図１０に示すように、疑似処理が追加されたモジュールを、再現試行モジュールとして情報処理装置１０に送信する（ステップＳ１０１）。このとき、端末３０は、担当者の操作によって、当該再現試行モジュールの対象の機種および制御ソフトウェアのバージョン番号も、情報処理装置１０に送信する。
【００４８】
情報処理装置１０の再現試行変更情報取得部１５は、受信した再現試行モジュールに対してリビジョン番号を採番し、記憶部１１に格納する。なお、リビジョン番号は、機種ごとおよび制御ソフトウェアのバージョンごとに採番しても良い。
【００４９】
次に、端末３０は、原因未特定不具合情報ＧＭを登録するための原因未特定不具合登録画面の表示要求を、情報処理装置１０に送信する（ステップＳ１０２）。情報処理装置１０は、不具合ＩＤを採番して、採番された不具合ＩＤと、不具合分類タグの選択肢を含む原因未特定不具合登録画面情報を生成して、端末３０に送信する（ステップＳ１０３）。
【００５０】
原因未特定不具合登録画面には、図１１に示すように、採番された不具合ＩＤが表示され、不具合の内容の入力欄と、複数の不具合分類タグの選択欄と、不具合が発生した際に機器４０に表示されるエラーＩＤの入力欄と、ステップＳ１０１で送信した再現試行モジュールのリビジョン番号の入力欄と、不具合が発生した機種および制御ソフトウェアのバージョン番号の入力欄と、が表示される。
【００５１】
図１０に戻り、機器４０は、担当者が入力した内容を、原因未特定不具合情報ＧＭとして情報処理装置１０に送信する（ステップＳ１０４）。
【００５２】
情報処理装置１０は、機器４０から原因未特定不具合情報ＧＭを受信すると、図１２に示す不具合解析ソフトウェア生成処理を開始する。
【００５３】
情報処理装置１０が不具合解析ソフトウェア生成処理を開始すると、原因未特定不具合情報取得部１２は、受信した原因未特定不具合情報ＧＭを記憶部１１に格納する（ステップＳ１１）。
【００５４】
次に、原因候補抽出部１３は、ステップＳ１１で受信した原因未特定不具合情報ＧＭの不具合の原因の候補を、原因特定済不具合情報ＧＴの中から抽出する（ステップＳ１２）。具体的には、原因候補抽出部１３は、設定された基準条件を満たす情報を原因特定済不具合情報ＧＴから抽出し、抽出された情報に関連付けられた原因情報ＧＩを、原因の候補として抽出する。このステップＳ１２は、不具合が発生した原因の候補を、既知の原因から抽出する原因候補抽出ステップとして機能する。
【００５５】
次に、不具合解析ソフトウェア生成部１４は、原因未特定不具合情報ＧＭに関連づけられた再現試行モジュールと、抽出された原因の候補に対応する不具合顕在化モジュールと、を制御ソフトウェアに反映することによって、不具合解析ソフトウェアを生成する（ステップＳ１３）。例えば、図１３に示すように、再現試行モジュールが擬似的に運転ＯＦＦの指示を受けたとする疑似処理が追加されたモジュールであるとする。また、原因の候補として抽出された原因情報が表示系の不具合であって、関連づけられた不具合顕在化モジュールが、表示更新頻度を１００ｍｓから１ｍｓに変更されたモジュールであるとする。この場合、不具合解析ソフトウェア生成部１４は、制御ソフトウェアにこれらの２つモジュールを反映して、具体的にはモジュールを置換して、不具合解析ソフトウェアを生成する。
【００５６】
また、抽出された原因の候補が複数ある場合、例えば、原因ＩＤが「ＢＵＧ−０００３」、「ＢＵＧ−０００４」および「ＢＵＧ−０００５」である場合の不具合解析ソフトウェアの生成方法について、図１４を参照して説明する。そもそも、解析の対象となる不具合は、複数の原因が影響しあって発生する不具合である可能性がある。そこで、不具合解析ソフトウェア生成部１４は、複数の原因である場合も含めたすべての組み合わせのパターンに対応する不具合顕在化モジュールを生成する。具体的には、例えば、「ＢＵＧ−０００３」および「ＢＵＧ−０００４」の２つの原因が該当する不具合を解析するためには、「ＢＵＧ−０００３」の不具合顕在化モジュールと、「ＢＵＧ−０００４」の不具合顕在化モジュールと、をともに反映した不具合解析ソフトウェアを生成する。
【００５７】
このようにして、不具合解析ソフトウェア生成部１４は、抽出された原因の候補の原因ＩＤが「ＢＵＧ−０００３」、「ＢＵＧ−０００４」および「ＢＵＧ−０００５」である場合、図１４に示す７つのパターンの不具合解析ソフトウェアを生成する。不具合解析ソフトウェア生成部１４は、生成した不具合解析ソフトウェアを、対応する原因の候補の原因ＩＤに関連付けて記憶部１１に格納する。このステップＳ１３は、抽出された原因の候補に関連付けて格納された不具合顕在化変更情報を機器の動作を制御するための制御ソフトウェアに反映して、不具合を解析するための不具合解析ソフトウェアを生成する不具合解析ソフトウェア生成ステップとして機能する。
【００５８】
続いて、図１２に戻り、不具合解析ソフトウェア送信部１６は、機器情報ＤＩを参照して機器４０を選定する（ステップＳ１４）。具体的には、不具合解析ソフトウェア送信部１６は、原因未特定不具合情報ＧＭを参照して、対象となる不具合が発生した機種および制御ソフトウェアのバージョン番号を取得し、取得した機種および制御ソフトウェアのバージョン番号であって、ステータスが「再現試行中」ではない機器４０を機器情報ＤＩから抽出する。また、不具合解析ソフトウェアを複数のパターンで生成した場合には、生成した不具合解析ソフトウェアの数以上の数の機器４０を選定する。ここで、不具合解析ソフトウェア送信部１６は、複数の機器４０を選定した場合には、どのパターンの不具合解析ソフトウェアをどの機器４０に送信するかを振り分けて選定する。そして、不具合解析ソフトウェア送信部１６は、機器４０を選定した結果を、記憶部１１に格納する。
【００５９】
以上により、情報処理装置１０は、不具合解析ソフトウェア生成処理を終了する。
【００６０】
図１０に戻り、担当者は、機器４０を介して再現状況一覧画面の表示要求を情報処理装置１０に送信する（ステップＳ１０５）。
【００６１】
情報処理装置１０は、再現状況一覧画面の表示要求を機器４０から受信すると、記憶部１１に格納されている原因未特定不具合情報ＧＭ、機器情報ＤＩ、不具合解析ソフトウェア生成処理における機器４０の選定結果等を取得して、再現状況一覧画面情報を生成し、端末３０に送信する（ステップＳ１０６）。
【００６２】
再現状況一覧画面には、図１６に示すように、再現試行を行っている機器４０ごとの不具合再現状況、再現試行環境、不具合解析ソフトウェア等についての情報が一覧に含まれる。また、選定された機器４０ごとに、再現試行開始要求を送信するための「開始」ボタンも含まれる。
【００６３】
端末３０は、再現状況一覧画面を見た担当者の操作、すなわち、「開始」ボタンの押下によって、再現試行開始要求を情報処理装置１０に送信する（ステップＳ１０７）。
【００６４】
情報処理装置１０の不具合解析ソフトウェア送信部１６は、不具合解析ソフトウェアを指定された機器４０に送信する。ここで、不具合解析ソフトウェア送信部１６は、再現させる不具合が対象の原因未特定不具合と同等の不具合であることを確認するためのエラーＩＤを、原因未特定不具合情報ＧＭから抽出して、不具合解析ソフトウェアとともに機器４０に送信する（ステップＳ１０８）。
【００６５】
機器４０は、不具合解析ソフトウェアおよびエラーＩＤを受信すると、図１５に示す再現試行処理を開始する。なお、機器４０には、再現成否判定部４３が再現の成否を判定する際に参照する基準時間が、あらかじめメモリ４０２に格納されている。
【００６６】
機器４０が再現試行処理を開始すると、機器４０の不具合解析ソフトウェア受信部４１は、受信した不具合解析ソフトウェアおよびエラーＩＤをメモリ４０２に格納する（ステップＳ２１）。
【００６７】
次に、制御部４２は、動作を制御する制御ソフトウェアの代わりに、不具合解析ソフトウェア受信部４１が受信した不具合解析ソフトウェアを実行する（ステップＳ２２）。具体的には、制御部４２が不具合の再現によってハングアップしてもいいように、後述する再現成否判定部４３から制御部４２を呼び出すことによって不具合解析ソフトウェアを実行する。このようにすれば、呼び出し元である再現成否判定部４３が処理を中止することなく不具合の再現結果を取得できる。
【００６８】
次に、再現成否判定部４３は、ステップＳ２１で受信したエラーＩＤに該当する不具合が発生したか否かを判定する（ステップＳ２３）。具体的には、再現成否判定部４３は、メモリ４０２に格納された基準時間より短い期間を置いて、ステップＳ２１で受信したエラーＩＤに該当する不具合が発生したか否かを判定する。不具合が発生しなかった場合と、ステップＳ２１で受信したエラーＩＤとは異なるエラーＩＤの不具合が発生した場合と、のいずれの場合でも、再現成否判定部４３は、ステップＳ２１で受信したエラーＩＤに該当する不具合が発生しなかったと判定する。
【００６９】
再現成否判定部４３が、ステップＳ２１で受信したエラーＩＤに該当する不具合が発生したと判定すると（ステップＳ２３：Ｙｅｓ）、再現試行結果送信部４４は、再現成功を表す再現試行結果を生成する（ステップＳ２４）。
【００７０】
一方、再現成否判定部４３が、ステップＳ２１で受信したエラーＩＤに該当する不具合が発生しなかったと判定すると（ステップＳ２３：Ｎｏ）、ステップＳ２２の不具合解析ソフトウェアの実行を開始してから、メモリ４０２に格納された基準時間を経過したか否かを判定する（ステップＳ２５）。再現成否判定部４３が、基準時間を経過したと判定すると（ステップＳ２５：Ｙｅｓ）、再現試行結果送信部４４は、再現失敗を表す再現試行結果を生成する（ステップＳ２６）。
【００７１】
また、再現成否判定部４３が、基準時間を経過していないと判定すると（ステップＳ２５：Ｎｏ）、ステップＳ２３の処理に戻り、基準時間より短い期間を置いて、ステップＳ２１で受信したエラーＩＤに該当する不具合が発生したか否かを判定する。
【００７２】
ステップＳ２４またはステップＳ２６の処理に続いて、再現試行結果送信部４４は、生成した再現試行結果を情報処理装置１０に送信する（ステップＳ２７）。以上で、機器４０は、再現試行処理を終了する。
【００７３】
図１０に戻り、前述の再現試行処理のステップＳ２７において、機器４０の再現試行結果送信部４４は、再現試行結果を情報処理装置１０に送信する（ステップＳ１０９）。
【００７４】
情報処理装置１０は、受信した再現試行結果を、原因未特定不具合情報ＧＭおよび機器情報ＤＩと関連付けて記憶部１１に格納する。
【００７５】
担当者は、再現試行結果が出揃った頃に、機器４０を介して再現状況一覧画面の表示要求を情報処理装置１０に送信する（ステップＳ１１０）。
【００７６】
情報処理装置１０は、再現状況一覧画面の表示要求を端末３０から受信すると、記憶部１１に格納されている原因未特定不具合情報ＧＭ、機器情報ＤＩ、機器４０の選定結果およびステップＳ１０９で送信された再現試行結果を取得して、再現状況一覧画面情報を生成し、端末３０に送信する（ステップＳ１１１）。再現状況一覧画面には、再現が成功した不具合に対して、原因登録画面の表示を要求するための「原因登録」ボタンが含まれる。
【００７７】
担当者は、再現試行結果を見て、不具合の原因を特定する。そして、担当者が、原因が特定されたと判断した不具合の原因登録画面の表示要求をする操作、すなわち「原因登録」ボタンを押下すると、端末３０は、原因登録画面の表示要求を情報処理装置１０に送信する（ステップＳ１１２）。
【００７８】
情報処理装置１０は、原因登録画面の表示要求を端末３０から受信すると、記憶部１１に格納されている原因未特定不具合情報ＧＭを取得して、原因登録画面情報を生成し、端末３０に送信する（ステップＳ１１３）。
【００７９】
原因登録画面には、図１７に示すように、原因情報ＧＩにすでに登録されている既存原因と、それ以外の新規原因と、のいずれかまたは両方を入力することができる入力欄が含まれる。新規原因の入力欄は、原因内容と、その原因による不具合を顕在化させる不具合顕在化モジュールのリビジョン番号と、が含まれる。また、既存原因の入力欄は、原因ＩＤが含まれる。ただし、担当者は、新規原因を入力する場合は、あらかじめその原因による不具合を顕在化させる不具合顕在化モジュールを生成して、機器４０を介して情報処理装置１０に送信する。情報処理装置１０は、受信した不具合顕在化モジュールのリビジョン番号を新たに採番して、記憶部１１に格納する。そして、担当者は、原因登録画面への入力において、不具合顕在化モジュールに採番されたリビジョン番号を、新規原因の該当する入力欄に入力する。
【００８０】
機器４０は、原因登録画面の「登録」ボタンの押下によって、原因登録画面への入力情報を情報処理装置１０に送信する（ステップＳ１１４）。入力情報を受信した情報処理装置１０は、新規原因の入力について原因情報ＧＩを記憶部１１に書き込むとともに、原因未特定不具合情報ＧＭの該当する不具合を、入力された新規原因および既存原因を示す原因ＩＤを含む原因特定済不具合情報ＧＴに移す。
【００８１】
以上のようにして、本実施の形態の不具合解析システム１の情報処理装置１０は、新たに発生した不具合の原因の候補を既知の原因から抽出して、抽出した原因による不具合を顕在化させる変更を制御ソフトウェアに加える。このとき、既知の原因から基準となる条件を満たす原因の候補を抽出することによれば、すべての既知の原因を候補とする場合と比較して、原因特定作業の効率を上げることができ、迅速な原因特定が可能となる。
【００８２】
また、機器４０がこの制御ソフトウェアに変更を加えて不具合の再現に使用する不具合解析ソフトウェアを自動生成する。このように、不具合解析ソフトウェアを自動生成することによって、人手を介さずに不具合解析ソフトウェアを生成できるため、不具合の原因の特定を迅速に行うことができる。
【００８３】
また、担当者は、再現状況一覧画面を操作して、１つの不具合の再現試行を複数の機器４０に並行して指示することができる。これによって、複数の機器４０が再現試行を一斉に行うことが可能となるため、不具合の原因の特定を迅速に行うことができる。
【００８４】
また、本実施の形態に係る不具合解析システム１によれば、担当者は再現試行結果を確認して不具合の原因を特定し、特定した原因を登録することによって、原因特定済みの不具合とすることができる。したがって、不具合解析システム１は、担当者による原因特定を支援するとともに、担当者が他の要因、例えば制御ソフトウェアのデバッグ、ハードウェアの検証などの結果から、原因を特定することを妨げない。
【００８５】
（実施の形態２）
実施の形態１では、機器４０を介して原因を特定する情報を入力する例を示した。本実施の形態では、情報処理装置１０が原因を自動的に特定する例を示す。以下、本実施の形態については、実施の形態１と異なる部分を中心に説明する。
【００８６】
本実施の形態に係る情報処理装置１０は、図１８に示すように、実施の形態１において説明した機能部の他に、原因を特定する原因特定部１９をさらに備える。
【００８７】
原因特定部１９は、再現試行結果受信部１７が受信した再現試行結果に基づいて、原因を特定する。具体的には、原因特定部１９は、再現試行結果が再現成功を示す場合には、その再現試行を行った際に原因候補として提出された既知の原因を、今回の不具合の原因と特定する。そして、原因特定部１９は、特定した原因を表す原因情報ＧＩを原因未特定不具合情報ＧＭおよび不具合顕在化モジュールに関連付けて記憶部１１に格納する。
【００８８】
不具合の原因特定作業においては、図１０に示すステップＳ１０９において機器４０から再現成功を表す再現試行結果を受信すると、原因特定部１９は、原因特定処理を開始する。
【００８９】
原因特定部１９は、原因特定処理を開始すると、図１９に示すように、受信した再現実行結果を記憶部１１に格納する（ステップＳ３１）。
【００９０】
次に、原因特定部１９は、再現実行結果に基づいて、再現が成功した不具合の原因を特定する（ステップＳ３２）。具体的には、原因特定部１９は、原因候補として抽出された原因を、再現が成功した不具合の原因であると特定する。
【００９１】
次に、原因特定部１９は、原因を特定した不具合を原因未特定不具合情報ＧＭから原因特定済不具合情報ＧＴに移す（ステップＳ３３）。原因特定済不具合情報ＧＴには、特定した既知の原因の原因ＩＤを格納する。以上で、情報処理装置１０は、原因特定処理を終了する。
【００９２】
本実施の形態に係る不具合解析システム１によれば、機器４０が再現に成功した場合には、原因特定部１９が原因を特定して登録するため、担当者が原因登録画面から操作する必要がなく、担当者の作業負担が軽減され、迅速に業務を完了できる。
【００９３】
（実施の形態３）
上述の実施の形態では、情報処理装置１０が機器４０を自由に選定する例を示した。しかし、実際には、不具合の再現を試行することは、機器４０の通常使用の時間が制限され、故障のリスクもあるため、情報処理装置１０が機器４０を無制限に選定できることは現実的ではない。そこで、本実施の形態では、機器４０の管理者の判断によって、機器４０による再現試行をしても良いか否かを決定する例を示す。
【００９４】
本実施の形態に係る不具合解析システム１は、図２０に示すように、上述の実施の形態に係る不具合解析システム１の構成に加えて、機器管理者用端末５０をさらに備える。
【００９５】
機器管理者用端末５０は、情報処理装置１０と通信可能に接続され、機器４０の管理者が操作する端末である。
【００９６】
本実施の形態に係る情報処理装置１０は、図２１に示すように、実施の形態１において説明した機能部の他に、再現試行の可否を取得する再現試行可否取得部２０をさらに備える。
【００９７】
再現試行可否取得部２０は、機器４０の再現試行を許可するか否かを表す再現試行可否情報を取得する。具体的には、再現試行可否を確認するための再現試行可否確認画面情報を機器管理者用端末５０に送信し、受信した再現試行可否情報を機器情報ＤＩに登録する。
【００９８】
本実施の形態に係る機器情報ＤＩは、図２２に示すように、機器４０ごとの再現試行可否をさらに含む。再現試行可否取得部２０は、受信した再現試行可否情報に基づいて、機器情報ＤＩの再現試行可否を更新する。
【００９９】
機器４０を管理する機器管理者は、機器４０を購入した後に、機器管理者用端末５０を介して機器４０についての各種情報の取得、利用者登録等の要求を行うとともに、再現試行可否確認画面の表示要求を行う。情報処理装置１０は、再現試行可否確認画面の表示要求を受けると、再現試行可否取得処理を開始する。
【０１００】
情報処理装置１０が再現試行可否取得処理を開始すると、図２３に示すように、再現試行可否取得部２０は、再現試行可否確認画面情報を機器管理者用端末５０に送信する（ステップＳ４１）。
【０１０１】
再現試行可否確認画面には、図２４に示すように、再現試行の説明、再現試行に協力することのインセンティブ等が表示され、再現試行を可否するか否かを選択するボタンが含まれる。機器管理者が、いずれかのボタンを押下すると、機器管理者用端末５０は、再現試行可否情報を情報処理装置１０に送信する。
【０１０２】
図２３に戻り、再現試行可否取得部２０は、機器管理者用端末５０から再現試行可否情報を受信する（ステップＳ４２）。そして、再現試行可否取得部２０は、受信した再現試行可否情報に基づいて、記憶部１１に格納された機器情報ＤＩを更新する（ステップＳ４３）。以上で、情報処理装置１０は、再現試行可否取得処理を終了する。
【０１０３】
不具合解析ソフトウェア送信部１６は、図１２に示す不具合解析ソフトウェア生成処理のステップＳ１４の機器４０の選定処理において、機種、制御ソフトウェアのバージョン番号およびステータスに加えて、再現試行可否にも基づいて機器４０を選定する。具体的には、再現試行可否が「可」の機器４０以外は選定の対象から除外する。
【０１０４】
本実施の形態に係る不具合解析システム１によれば、市場に出回っている機器４０を無制限に選定して不具合の再現を試行するわけではなく、機器管理者の許可を得て再現を試行することができる。これによって、市場に出回っている機器４０の活用が現実的となり、原因特定作業を速く、正確に行うことができる。
【０１０５】
（変形例）
本発明は、上述した実施の形態に限定されるわけではなく、その他の種々の変更が可能である。
【０１０６】
上述の実施の形態は、適宜組み合わせた形態としても良い。例えば、実施の形態２の原因特定部１９と実施の形態３の再現試行可否取得部２０とを両方備えていても良い。
【０１０７】
上述の実施の形態において、不具合解析システム１が解析する対象の不具合は、制御ソフトウェアの不具合に限られない。例えば、機器４０のハードウェアに発生した不具合であっても、不具合解析ソフトウェアを実行することによって、不具合の再現性を高めることができるため、ハードウェアに発生した不具合の原因を特定し得る。
【０１０８】
上述の実施の形態において、制御ソフトウェアの一部を変更する内容を表す不具合顕在化変更情報として、制御ソフトウェアの構造化設計されたブロックの単位である不具合顕在化モジュールの例を示した。しかし、本発明の範囲はこれに限られず、不具合顕在化変更情報として、制御ソフトウェアの一部を変更した制御ソフトウェア全体でも良いし、制御ソフトウェアとの差分を表した差分情報でも良い。同様に、制御ソフトウェアの一部を変更する内容を表す再現試行変更情報として、制御ソフトウェアの構造化設計されたブロックの単位である再現試行モジュールの例を示した。しかし、本発明の範囲はこれに限られず、再現試行変更情報として、制御ソフトウェアの一部を変更した制御ソフトウェア全体でも良いし、制御ソフトウェアとの差分を表した差分情報でも良い。
【０１０９】
上述の実施の形態において、原因候補抽出部１３が、原因未特定不具合情報ＧＭと類似する原因特定済不具合情報ＧＴを抽出するための基準条件として、同一の不具合分類タグが１つ以上存在し、かつ、同一の機種であり、かつ、制御ソフトウェアが同一のバージョン番号であることとする例を示した。しかし、本発明の範囲はこれに限られず、原因候補抽出部１３が、他の基準を条件として原因候補を抽出しても良い。また、基準条件をあらかじめ規定せず、適切な原因候補を抽出するために機械学習によって基準条件を随時変更しても良い。機械学習のアルゴリズムとして、決定木、相関ルール、ニューラルネットワーク、サポートベクターマシン等のさまざまなアルゴリズムを採用しても良い。
【０１１０】
上述の実施の形態において、機器４０の再現成否判定部４３は、エラーＩＤに該当する不具合が発生したか否かを判定する。このとき、制御系のハングアップにより応答がなくなった場合も不具合として判定するため、ハングアップに該当するエラーＩＤを擬似的に付与し、ハングアップが起こった場合には、付与したエラーＩＤに該当する不具合が発生したものとしても良い。このようにすれば、ハングアップも含めた再現の成否を判定することができるため、不具合の再現性が高い。
【０１１１】
上述の実施の形態において、機器４０が不具合の再現を確認する期間である基準時間が、あらかじめ設定されている例を示した。しかし、情報処理装置１０が、不具合解析ソフトウェアとともに基準時間を表す情報を機器４０に送信しても良い。また、基準時間以外の条件で不具合の再現を確認しても良い。例えば、あらかじめ指定された処理をすべて実行しても指定のエラーＩＤに該当する不具合が発生しなかった場合には、再現が失敗したものとしても良い。
【０１１２】
また、機器４０は、プロセッサ４０１およびメモリ４０２の代わりに、専用のハードウェアとして処理回路を備えていても良い。処理回路は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（application specific integrated circuit）、ＦＰＧＡ（field-programmable gate array）、またはこれらを組み合わせたものである。処理回路は、その機能をまとめて実現しても良いし、各機能に専用の処理回路を備えていても良い。また、機器４０は、プロセッサ４０１およびメモリ４０２と処理回路を両方備えていても良い。その場合、上述の機能の一部をプロセッサ４０１およびメモリ４０２が実現し、一部の機能を処理回路が実現しても良い。
【０１１３】
上述した実施の形態に係る情報処理装置１０は、専用の装置によらず、通常のコンピュータを用いて実現可能である。例えば、コンピュータに上述のいずれかを実行するためのプログラムを格納した記録媒体から該プログラムをコンピュータにインストールすることにより、上述の処理を実行する情報処理装置１０を構成してもよい。また、複数のサーバ、コンピュータ等が協同して動作するか、または専用の装置とサーバ、コンピュータ等が協同して動作することによって、１つの情報処理装置１０を構成してもよい。
【０１１４】
また、コンピュータにプログラムを供給するための手法は、任意である。例えば、通信回線、通信ネットワーク、通信システム等を介して供給してもよい。
【０１１５】
また、上述の機能の一部をＯＳ（Operating System）が提供する場合には、ＯＳが提供する機能以外の部分をプログラムで提供すればよい。
【０１１６】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【符号の説明】
【０１１７】
１  不具合解析システム、１０  情報処理装置、１１  記憶部、１２  原因未特定不具合情報取得部、１３  原因候補抽出部、１４  不具合解析ソフトウェア生成部、１５  再現試行変更情報取得部、１６  不具合解析ソフトウェア送信部、１７  再現試行結果受信部、１８  原因情報登録部、１９  原因特定部、２０  再現試行可否取得部、３０  端末、４０  機器、４１  不具合解析ソフトウェア受信部、４２  制御部、４３  再現成否判定部、４４  再現試行結果送信部、５０  機器管理者用端末、１０１  ＣＰＵ、１０２  ＲＡＭ、１０３  ＲＯＭ、１０４  ハードディスクドライブ、１０５  ネットワークカード、４０１  プロセッサ、４０２  メモリ、４０３  インタフェース、ＧＴ  原因特定済不具合情報、ＧＩ  原因情報、ＤＩ  機器情報、ＧＭ  原因未特定不具合情報。
【図１】
2019191957.tif 000003
【図２】
2019191957.tif 000004
【図３】
2019191957.tif 000005
【図４】
2019191957.tif 000006
【図５】
2019191957.tif 000007
【図６】
2019191957.tif 000008
【図７】
2019191957.tif 000009
【図８】
2019191957.tif 000010
【図９】
2019191957.tif 000011
【図１０】
2019191957.tif 000012
【図１１】
2019191957.tif 000013
【図１２】
2019191957.tif 000014
【図１３】
2019191957.tif 000015
【図１４】
2019191957.tif 000016
【図１５】
2019191957.tif 000017
【図１６】
2019191957.tif 000018
【図１７】
2019191957.tif 000019
【図１８】
2019191957.tif 000020
【図１９】
2019191957.tif 000021
【図２０】
2019191957.tif 000022
【図２１】
2019191957.tif 000023
【図２２】
2019191957.tif 000024
【図２３】
2019191957.tif 000025
【図２４】
2019191957.tif 000026