JP5303531B2 - 組込システムの保守支援装置 - Google Patents

組込システムの保守支援装置 Download PDF

Info

Publication number
JP5303531B2
JP5303531B2 JP2010216329A JP2010216329A JP5303531B2 JP 5303531 B2 JP5303531 B2 JP 5303531B2 JP 2010216329 A JP2010216329 A JP 2010216329A JP 2010216329 A JP2010216329 A JP 2010216329A JP 5303531 B2 JP5303531 B2 JP 5303531B2
Authority
JP
Japan
Prior art keywords
cluster
test
variable
information
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010216329A
Other languages
English (en)
Other versions
JP2012073692A (ja
Inventor
毅 福田
健太郎 吉村
吉高 新
洋平 杉山
知明 前原
大輔 山下
幸一 山下
敬一 会田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010216329A priority Critical patent/JP5303531B2/ja
Priority to CN201110252514.2A priority patent/CN102436415B/zh
Publication of JP2012073692A publication Critical patent/JP2012073692A/ja
Application granted granted Critical
Publication of JP5303531B2 publication Critical patent/JP5303531B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、家庭用機器,産業用機器,医療用機器等、電子制御を必要とする製品の特定の機能を実現するためにコンピュータシステムが組み込まれる組込システムの保守支援装置に関し、特に携帯電話やデジタル家電、さらには自動車,鉄道,エレベータ等の輸送機械など、必要とする機能が多岐にわたるシステム,複数のハードウェア,複数のソフトウェア(モジュール)を組み合わせた規模の大きなシステムの開発,検証,保守に好適である。
コンピュータシステムによるソフトウェア製品ライフサイクルにおいて、ソフトウェアを改良・最適化していくとともにバグを修正するプロセスは、開発,検証,保守として重要である。また、近年、ソースコードの大規模化・複雑化に伴いソフトウェア保守作業量は肥大化の一途を辿っており、保守作業の効率化が強く望まれている。
特に、エレベータに関しては、その制御に対する仕様が大規模,複雑化し、高級言語でプログラムが実装されることが多く、従来のように論理式を解析する手法のみで、故障の直接の要因となっている変数から、故障の発端の原因となっている変数を探索することが困難となっている。
また、ソフトウェア単体試験の試験効率を向上するため、試験対象の関数と試験対象の関数が呼びだす下位の関数との間の入出力I/Fを抽出し、分析結果に基づいてインターフェースを実装したスタブ関数(複数のモジュールからなるコンピュータプログラムの検査(ソフトウェアテスト)時における下位モジュールの代用となる小さなプログラム)を生成することが知られ、例えば特許文献1に記載されている。
さらに、プログラミング言語に精通していない者が、ソフトウェアが組み込まれた装置を解析するに際して、ソフトウェアを理解することを支援するため、ソフトウェアのソースコード情報及び解析対象装置の制御信号・回路図情報を表示し、そのなかから着目する部分を選択すると、選択部分に関連する制御信号を着目制御信号とすると共に、ソースコードを解析して得た制御信号の依存関係に基づき、着目制御信号と依存関係のある制御信号も着目制御信号とし、着目制御信号に関連する部分を判別し、強調して表示する、ことが知られ例えば特許文献2に記載されている。
さらに、複数のモジュールからなるプログラムの単体テストにおいて、スタブ作成や外部変数の設定の前処理を行わずテストを開始できるようにするため、グローバル変数等の被テストプログラム内にない変数に関する変数参照管理テーブルを設け、そのような変数の参照がある毎にテーブルを参照することが知られ、例えば特許文献3に記載されている。
特開2008−140263号公報 特開2006−323480号公報 特開2001−229044号公報
上記従来技術において、特許文献1に記載されたものでは、試験対象の関数と試験対象の関数が呼びだす下位の関数との間の入出力I/Fを抽出するため、テスト対象のソースコードと下位関数のソースコードが明確に分離されている、いわゆる構造化されたソフトウェアに限られ、構造化されていないソフトウェアについては適用ができない。
また、特許文献2に記載されたものでは、着目する部分の選択はユーザの任意になるため、ユーザの熟練度によって保守作業等の効率が大きく異なることになる。
さらに、特許文献3に記載されたものでは、大規模,複雑化するに連れてテスト量が増大し、結果を得るまでに長時間を要するため作業効率が低下する。
本発明の目的は、上記従来技術の課題を解決し、組込システムとして比較的に大規模,複雑化され複数のモジュールで構成されたソフトウェア(コンピュータプログラム、特に電子安全エレベータ)であっても、テスト量の削減を図ると共に、構造化されていないソフトウェアにおいても適用が可能、かつ作業担当者が熟練者でなくても故障の発端の原因追及を容易にすることにある。
上記目的を達成するため、本発明は、複数のモジュールで構成されたソフトウェアで記
述されたコンピュータシステムが組み込まれた組込システムの保守支援装置において、前記ソフトウェアとして前記コンピュータシステムに対する一連の指示である前記モジュールの情報と、前記モジュールで使用され、前記コンピュータシステム上で処理を行う構成要素の集合であるクラスタの情報と、を入力し、前記クラスタのテストを行い、その結果に対して評価指標となるテスト網羅率を示すテストカバレッジを表示(モニタへ表示、所定用紙へ印刷など)し、前記モジュールは、少なくとも、関数やその関数が含まれるクラス,コンポーネント,オブジェクト、およびライブラリのいずれかを含み、前記クラスタは、少なくとも、変数や関数,クラス,コンポーネント,オブジェクト、およびライブラリのいずれかを含み、
さらに、前記モジュールの情報を示すソースコード情報を入力としテスト対象部を特定するソースコード解析部と、前記ソースコード解析部の結果が入力されてテスト対象部のテストケースを作成するテストケース作成部と、前記テストケース作成部により作成された前記テストケースの情報を蓄積するテストケース記憶部と、前記テストケースを実行するテスト実行部と、前記クラスタの情報と、前記ソースコード解析部で特定されたテスト対象部と、により該テスト対象部で用いられた変数が分類されているクラスタを特定する変数クラスタ情報取得部と、前記変数クラスタ情報取得部により特定されたクラスタを強調表示するクラスタ情報強調表示部と、を有し、
前記クラスタ情報強調表示部は、前記ソースコード情報と、前記変数クラスタ情報取得部で特定されたクラスタの情報と、前記クラスタ情報強調表示部における表示方法を選択可能とするモニタ表示選択部と、前記モニタ表示選択部で注目信号が属するクラスタを特定しそのクラスタをモニタに表示する注目信号強調表示部と、前記ソースコード情報と、前記クラスタ情報と、前記テスト実行部の出力であるテスト結果と、前記注目信号と、により前記クラスタにおけるテスト状況をモニタに出力するテスト状況表示部と、を備え、
前記クラスタ情報強調表示部とは、少なくともテスト対象クラスタのソースコード部分を強調表示,テスト対象クラスタの変数クラスタ情報テーブルを強調表示,テスト対象クラスタの変数データフロー図を強調表示,テスト対象クラスタのフローチャートを強調表示のうちいずれか一つの強調表示手段を有するものである。
本発明によれば、モジュールの情報と、モジュールで使用される構成要素の集合であるクラスタの情報と、を入力し、クラスタのテストを行い、その結果に対して評価指標となるテスト網羅率を示すテストカバレッジを表示するので、組込システムとして比較的に大規模,複雑化され複数のモジュールで構成されたソフトウェア(コンピュータプログラム)であっても、テスト量の削減を図ると共に、作業担当者が熟練者でなくても故障の発端の原因追及を容易にすることができる。
本発明による一実施の形態の全体構成を示すブロック図。 一実施の形態におけるソースコード情報を示す図。 一実施の形態における変数クラスタ情報を示す図。 一実施の形態におけるソースコード解析部11の処理を示すフローチャート。 一実施の形態における条件文情報を示す図。 一実施の形態における変数クラスタ取得部の処理を示すフローチャート。 一実施の形態におけるクラスタ情報を示す図。 一実施の形態におけるテストケース作成部の処理を示すフローチャート。 一実施の形態におけるテストケースを示す図。 従来技術によるテストケースを示す図。 一実施の形態におけるテストケース実行部の処理を示すフローチャート。 一実施の形態におけるテスト結果を示す図。 一実施の形態におけるクラスタ情報強調表示部の構成を示すブロック図。 一実施の形態における注目信号強調表示部の処理を示すフローチャート。 一実施の形態における注目信号強調表示部の結果を画面表示した図。 従来技術による注目信号強調表示部の結果を画面表示した図。 一実施の形態におけるテスト状況表示部の処理を示すフローチャート。 一実施の形態におけるテスト状況表示部の結果を画面表示した図。 従来技術によるテスト状況表示部の結果を画面表示した図。 一実施の形態におけるテスト結果の画面表示を示す図。 一実施の形態におけるモニタ選択画面を示す図。 一実施の形態における注意勧告が表示された例を示す図。 他の実施の形態におけるフローチャートを用いて画面表示した図。
以下、図面を参照して本発明による一実施の形態を説明する。
ソフトウェア開発,検証,保守作業において、ソフトウェアの信頼性や安全性向上のため、抜け漏れの無いソフトウェアの保守等が重要視されている。しかし、特にエレベータ等の組込システムでは、従来、機械式で行っていた安全装置等の電子化が進められ、ソフトウェアが大規模化・複雑化し、作業が膨大な量になっており、抜け漏れ無く保守することが必要とされている。
また、保守等の作業において頻繁に欠陥が混入する箇所を重点的に検証することが効率化を図るうえで望ましいが、どこを重点的に検証すべきかと言う検証箇所の判定は熟練者の経験に頼る部分が大きく、初心者では極めて困難である。
図1は、組込システムの保守支援装置10の全体構成を示すブロック図であり、ソースコード記憶部20は、対象とするソフトウェアの関数、その関数が含まれるクラス,コンポーネント,オブジェクト及びライブラリ等、解析対象となる組込システムに対する一連の指示であり、特定の機能を実行するためのモジュールの情報としてソースコードが記憶されている。
また、モジュールで使用され、コンピュータシステム上で処理を行う構成要素の集合であるクラスタの情報として、変数クラスタ情報が変数のグループ情報(クラスタ毎の入力変数,出力変数及び各変数の参照関係を示すアドレス等の情報)として変数クラスタ情報記憶部30に記憶され、この情報を入力することが組込システムの保守支援装置10の特徴となる。
組込システムの保守支援装置10は、ソースコードの構成を解析するソースコード解析部11と、ソースコード解析部11の結果と変数クラスタ情報とを基にソースコードにクラスタ情報を反映する変数クラスタ情報取得部12と、テストケース作成部13と、テストケース記憶部14と、テスト実行部15と、クラスタ情報強調表示部16と、モニタ表示選択部17と、を主要部として構成される。
テストケース作成部13は、ソースコード情報と変数クラスタ情報取得部12との結果から、目的のテストカバレッジ(テスト対象の品質評価指標となる網羅率)を計測するためのテストケースを作成する。テストカバレッジの種類は、ソースコード内の全ての処理を1回実行する命令網羅率,ソースコード内の全ての分岐の組み合わせを1回は実行する分岐網羅率,ソースコード内の全ての条件の組み合わせを1回は実行する条件網羅率である。
つまり、テストカバレッジは、少なくともソフトウェアにおけるステートメントの実行割合を示すステートメントカバレッジ,ブランチの実行割合を示すブランチカバレッジ,ブランチ条件中の組み合わせ実行割合を示すコンディションカバレッジ,ブランチ条件の各々の組み合わせ実行割合を示すマルチコンディションカバレッジ,分岐方向に影響を与える判定条件の実行割合を示すMC/DCカバレッジ,全ての経路に対する実行割合を示すパスカバレッジのいずれかを含むことが良い。
テストケース記憶部14は、テストケース作成部13で作成されたテストケースを蓄積したデータベースである。テスト実行部15は、テストケース作成部13で作成されたテストケースを実行し、テスト結果を出力する。
クラスタ情報強調表示部16は、ソースコード情報と変数クラスタ情報取得部12の結果とテスト実行部15の結果と、モニタ表示選択部17の結果を受けて、保守者(ユーザ)70に対して必要とされる情報を表示する。
保守者(ユーザ)70は、モニタ表示選択部17で必要とする情報を選択する。
以上、ソースコード情報と変数クラスタ情報を用いることでテストケースを作成・実行し、テスト結果を各クラスタに明示するので、モジュール単位でモジュール情報に基づいてテストを行うものに比べ、保守者(ユーザ)はソースコードの欠陥や変更点をクラスタ単位で認識可能となり、テストケースの数が減少すると共に、テスト結果を出力までの時間が短縮され、保守作業量の削減を図ることができる。
以下、具体例を挙げて詳細に説明する。本実施例はモジュールにソースコード、クラスタに変数の集合、テストカバレッジにブランチ条件の各々の組み合わせ実行割合を示すマルチコンディションカバレッジを用いた例である。
図2はソースコード記憶部20におけるソースコード情報を示し、図3は変数クラスタ情報記憶部30における変数クラスタ情報を示す。変数クラスタ情報は、クラスタ番号や入力変数,出力変数,内部変数,参照変数合計数,更新変数合計数,内部変数合計数,変数合計数等である。
図4はソースコード解析部11の処理を示すフローチャートであり、ステップS1101から処理が開始される。
ステップS1102:ソースコード記憶部20よりソースコード情報を入力。
ステップS1103:条件文番号の初期化を行う。
ステップS1104:選択行番号の初期化を行う。
ステップS1105:選択行がEOFと同等ではないことをチェックする。
EOFでない場合(YES)はステップS1106に進み、EOFである場合(NO)はステップS1113に進む。
ステップS1106:選択行で条件文が開始されているかどうかをチェックする。選択行で条件文が開始されていた場合(YES)はステップS1107に進み、そうでない場合(NO)はステップS1108に進む。
ステップS1107:条件文における条件情報を取得する。
ステップS1108:選択行番号をインクリメントし、処理を続行する。
ステップS1109:選択行で使用されている変数情報を取得する。
ステップS1110:選択行で条件文が終了されたかどうかをチェックする。
選択行で条件文が終了されていた場合(YES)はステップS1111に進み、そうでない場合(NO)はステップS1112に進む。
ステップS1111:条件番号をインクリメントして、処理続行する。
ステップS1112:選択行番号をインクリメントして、処理を続行する。
ステップS1113:変数クラスタ情報取得部12に条件文情報を出力し、ステップS1114で処理を終了する。
図5は、以上説明したソースコード解析部11により解析された条件文情報を示し、条件文情報は、条件文番号や条件文開始行,条件文終了行,条件情報,変数情報である。
図6は変数クラスタ情報取得部12の処理を示すフローチャートであり、ステップS1201から処理が開始される。
ステップS1202:ソースコード解析部11より条件文情報を入力する。
ステップS1203:変数クラスタ情報記憶部30より変数クラスタ情報を入力する。
ステップS1204:条件文番号の初期化を行う。
ステップS1205:条件文変数情報を取得する。
ステップS1206:クラスタ番号を初期化する。
ステップS1207:クラスタ変数情報を取得する。
ステップS1208:条件文変数がクラスタ変数に含まれているかどうかをチェックする。条件変数がクラスタ変数に含まれていた場合(YES)ステップS1209に進み、そうでない場合(NO)はステップS1210に進む。
ステップS1209:クラスタ情報として条件文情報と変数クラスタ情報を足し合わせる。
ステップS1210:クラスタ番号をインクリメントし、処理を続行する。
ステップS1211:条件文番号が最終条件文番号かどうかをチェックする。条件文番号が最終条件番号だった場合(YES)ステップS1212に進み、そうでない場合(NO)はステップS1213に進む。
ステップS1212:テストケース作成部13へクラスタ情報を出力し、ステップS1215で処理を終了する。
ステップS1213:条件文番号をインクリメントし、処理を続行する。
図7は変数クラスタ情報取得部12により取得された変数クラスタ情報を示し、クラスタ情報は、条件文番号,条件文開始番号,条件文終了番号,条件情報,クラスタ番号,入力変数,出力変数,内部変数,参照変数合計数,更新変数合計数,内部変数合計数,変数合計数である。
図8は、テストケース作成部13の処理を示すフローチャートであり、ステップS1301から処理が開始される。
ステップS1302:ソースコード記憶部20よりソースコード情報が入力される。
ステップS1303:変数クラスタ情報取得部12よりクラスタ情報を入力する。
ステップS1304:クラスタ番号の初期化を行う。
ステップS1305:クラスタ情報の条件情報を参考に全ての命令組み合わせに対しテストケースを作成する。
ステップS1306:クラスタ番号が最終クラスタ番号かどうかチェックを行う。クラスタ番号が最終クラスタ番号である場合(YES)ステップS1307に進み、そうでない場合(NO)はステップS1308に進む。
ステップS1307:テストケース記憶部14へテストケース情報を出力する。
ステップS1308:クラスタ番号をインクリメントし、処理を続行する。
ステップS1309:テスト実行部15へテストケース情報を出力し、ステップS1310で処理を終了する。
図9は、テストケース記憶部14に蓄積され、テストケース作成部13により作成されたテストケースを示す。テストケースは、テスト番号,クラスタ番号,テストケースシナリオであり、図8で示した手順のようにクラスタ情報に基づいてテストケースを作成するので、クラスタ情報で分離の可否が判断でき、条件A,Bと条件Cの組み合わせにテストケースシナリオの分離が可能である。また、条件が分離されたことによって総テストケースシナリオが減少し、欠陥の原因究明が容易となる。
図10は、本実施例と異なり、テストケースの作成をモジュール情報に基づいて行った場合の条件A,B,Cにおけるテストケースを示し、総テストケースシナリオが多くなり、条件が分離されていないため、欠陥の原因究明も複雑化する。
図11はテストケース実行部15の詳細を示すフローチャート図であり、ステップS1501から処理が開始される。
ステップS1502:テストケース作成部13により作成されたテストケースを入力する。
ステップS1503:テスト番号の初期化を行う。
ステップS1504:テストケースを実行する。
ステップS1505:テストケースのテスト結果を記録する。
ステップS1506:テスト番号が最終テスト番号かどうかチェックする。
テスト番号が最終テスト番号だった場合(YES)ステップS1507に進み、そうでない場合(NO)はステップS1508に進む。
ステップS1507:クラスタ情報強調表示部16にテスト実行結果を出力する。
ステップS1508:テスト番号をインクリメントして、処理を続行する。
ステップS1509:モニタ40にテスト実行結果を出力したり、所定用紙に印刷したり、することで表示する。
図12はテスト実行部15で実行されたテスト結果を示し、テスト結果は、クラスタ番号やテストカバレッジであり、クラスタに対するテストカバレッジを算出する。
図13はクラスタ情報強調表示部16詳細であり、ソースコード記憶部20と変数クラスタ情報取得部12とモニタ表示選択部17を入力とし、保守者(ユーザ)70が要求した注目信号を強調表示する注目信号強調表示部1601と、ソースコード記憶部20と変数クラスタ情報取得部12とテスト実行部15とモニタ表示選択部17を入力とし、現在のテスト状況を表示するテスト状況表示部1602とを備える。
図14は注目信号強調表示部1601の詳細を示すフローチャートであり、ステップS160101から処理が開始される。
ステップS160102:モニタ表示選択部17より表示要求を入力する。
ステップS160103:ソースコード記憶部20よりソースコード情報を入力する。
ステップS160104:変数クラスタ情報取得部12より変数クラスタ情報を入力する。
ステップS160105:クラスタ番号の初期化を行う。
ステップS160106:表示要求信号がクラスタ情報における更新変数に含まれるかどうかチェックする。表示要求信号がクラスタ情報における更新変数に含まれている場合(YES)ステップS160107に進み、そうでない場合(NO)はステップS160108に進む。
ステップS160107:変数クラスタ情報取得部12の出力である変数クラスタ情報から条件文開始行情報と条件文終了行情報を取得する。
ステップS160108:クラスタ番号が最終クラスタ番号かどうかチェックする。クラスタ番号が最終クラスタ番号である場合(YES)ステップS160109に進み、そうでない場合(NO)はステップS161010に進む。
ステップS160109:モニタ40にエラー出力をし、処理を終了する。
ステップS160110:テスト番号をインクリメントし、処理を続行する。
ステップS160111:モニタ40に条件文開始行から条件文終了行までを強調表示するよう出力し、ステップS160112で処理を終了する。
図15は注目信号強調表示部1601の結果をモニタ40に画面表示した図であり、注目信号として変数v7を選択した場合、変数v7が更新されているクラスタ番号のみ強調表示してユーザが理解することを支援する。これにより、保守者(ユーザ)70は、注目信号と結びつきの強いクラスタ範囲を容易に判断することが可能である。
図16は、本実施例とは異なり、変数クラスタ情報から条件文開始行情報と条件文終了行情報を取得するものでなく、モジュール情報に基づいて強調表示を出力したものであり、注目信号として変数v7を選択した場合、変数v7を用いているファイル全体を強調表示せざるを得なく、注目信号v7が及ぼす影響範囲を特定することは困難である。
図17はテスト状況表示部1602の詳細を示すフローチャートであり、ステップS160201から処理が開始される。
ステップS160202:モニタ表示選択部17より表示要求を入力する。
ステップS160203:ソースコード記憶部20よりソースコード情報を入力する。
ステップS160204:変数クラスタ情報取得部12よりクラスタ情報を入力する。
ステップS160205:テスト実行部15よりテスト結果情報を入力する。
ステップS160206:クラスタ番号の初期化を行う。
ステップS160207:クラスタのテスト結果情報を取得する。
ステップS160208:クラスタ情報から条件文開始行情報と条件文終了行情報を取得する。
ステップS160209:クラスタ番号が最終クラスタ番号かどうかチェックする。クラスタ番号が最終クラスタ番号である場合(YES)ステップS160210に進み、そうでない場合(NO)はステップS160211に進む。
ステップS160210:モニタ40に条件文開始行から条件文終了行を強調表示するとともに、テスト結果を表示するよう出力し、ステップS160112で処理を終了する。ステップS160211ではクラスタ番号をインクリメントし、処理を続行する。
図18はテスト状況表示部1602の結果をモニタ40に表示した図であり、変数同士の結びつきの強いクラスタ単位でのテスト結果としてテストカバレッジを示す。これによりクラスタ単位でテストカバレッジを知り、故障の原因の追及が容易となる。
図19は本実施例とは異なり、クラスタ情報から条件文開始行情報と条件文終了行情報を取得するものでなく、モジュール情報(ファイル全体)に基づいてテストカバレッジの表示を出力したものであり、クラスタ情報を用いなかったことにより、ファイル全体のテストカバレッジしか表示できないため、故障の原因の追及は非常に困難である。
図20はテスト実行部15のテスト結果をモニタ40に表示した図であり、テストカバレッジをデータテーブルに表示することで、クラスタ一覧のテストカバレッジ確認が容易となる。
図21はモニタ選択画面を示す図である。保守者(ユーザ)70は入力装置60を用いて、モニタ出力やフォーマット,注目クラスタ,注目信号,テスト種類を選択する。図22はモニタ選択画面において、注意勧告が表示された例を示す図である。試験対象のソースコードに対し、存在しない注目信号v8を指定したために注意勧告を受けた画面である。存在しない注目クラスタや注目信号を指定した場合、注意勧告を表示することによって保守者(ユーザ)70に認識させる。
図23はテスト状況表示部1602の結果に対してフローチャートを用いてモニタ40に表示した図である。つまり、表示フォーマットはソースコード以外でも良く、フローチャートとすれば、クラスタとテストカバレッジの対応を保守者(ユーザ)70が理解することが容易となる。
以上述べたように、クラスタ単位でのテストケースの作成やテストカバレッジの測定結果表示を行ったので、これを基に欠陥原因の箇所特定は熟練者の経験によらず容易に類推することが可能となる。なお、本実施例は、ソースコード以外のモジュール,変数の集合以外のクラスタ,マルチコンディションカバレッジ以外のカバレッジ算出においても同様である。
また、組込システムをエレベータとした場合、ある特定の機能単位のソフトウェア部分集合を指すモジュール(例えば、着床制御機能,保守運転機能,非常時運転機能を実現するソフトウェアモジュール)に対し、特定の機能単位に依らないソフトウェア部分集合であるクラスタは、変数として少なくとも、ドアゾーンスイッチ,ファイナルリミットスイッチ,メンテナンスリミットスイッチ,方向リミットスイッチ,終端階強制減速スイッチ、のいずれかの状態を示す情報を含み、つまり、昇降路内に必要とされる定位置として決定することが良く、国際安全規格への対応,エレベータの構成部品の機械部品から電子部品への置き換えによる高機能,低コストを行う電子安全化への対応,安全性の説明責任,遠隔アップデート、などの点で望ましい。
メンテナンスリミットスイッチ:保守員が安全に作業を実施するための頂部隙間を確保する位置を明示するスイッチ
方向リミットスイッチ:乗りかごが終端階に到達したことを検出するスイッチ
終端階強制減速スイッチ:乗りかごが何らかの原因で過速状態になったときに定格速度以下でバッファに衝突させるための位置を検出するスイッチ
10 組込システムの保守支援装置
11 ソースコード解析部
12 変数クラスタ情報取得部
13 テストケース作成部
14 テストケース記憶部
15 テスト実行部
16 クラスタ情報強調表示部
17 モニタ表示選択部
20 ソースコード記憶部
30 変数クラスタ情報記憶部
40 モニタ
50 PC
60 入力装置
70 保守者(ユーザ)

Claims (7)

  1. 複数のモジュールで構成されたソフトウェアで記述されたコンピュータシステムが組み込まれた組込システムの保守支援装置において、
    前記ソフトウェアとして前記コンピュータシステムに対する一連の指示である前記モジュールの情報と、前記モジュールで使用され、前記コンピュータシステム上で処理を行う構成要素の集合であるクラスタの情報と、を入力し、前記クラスタのテストを行い、その結果に対して評価指標となるテスト網羅率を示すテストカバレッジを表示し、
    前記モジュールは、少なくとも、関数やその関数が含まれるクラス,コンポーネント,オブジェクト、およびライブラリのいずれかを含み、
    前記クラスタは、少なくとも、変数や関数,クラス,コンポーネント,オブジェクト、およびライブラリのいずれかを含み、
    さらに、前記モジュールの情報を示すソースコード情報を入力としテスト対象部を特定するソースコード解析部と、
    前記ソースコード解析部の結果が入力されてテスト対象部のテストケースを作成するテストケース作成部と、
    前記テストケース作成部により作成された前記テストケースの情報を蓄積するテストケース記憶部と、
    前記テストケースを実行するテスト実行部と、
    前記クラスタの情報と、前記ソースコード解析部で特定されたテスト対象部と、により該テスト対象部で用いられた変数が分類されているクラスタを特定する変数クラスタ情報取得部と、
    前記変数クラスタ情報取得部により特定されたクラスタを強調表示するクラスタ情報強調表示部と、を有し、
    前記クラスタ情報強調表示部は、前記ソースコード情報と、前記変数クラスタ情報取得部で特定されたクラスタの情報と、前記クラスタ情報強調表示部における表示方法を選択可能とするモニタ表示選択部と、前記モニタ表示選択部で注目信号が属するクラスタを特定しそのクラスタをモニタに表示する注目信号強調表示部と、前記ソースコード情報と、前記クラスタ情報と、前記テスト実行部の出力であるテスト結果と、前記注目信号と、により前記クラスタにおけるテスト状況をモニタに出力するテスト状況表示部と、を備え、
    前記クラスタ情報強調表示部とは、少なくともテスト対象クラスタのソースコード部分を強調表示,テスト対象クラスタの変数クラスタ情報テーブルを強調表示,テスト対象クラスタの変数データフロー図を強調表示,テスト対象クラスタのフローチャートを強調表示のうちいずれか一つの強調表示手段を有することを特徴とする組込システムの保守支援装置。
  2. 請求項1に記載の組込システムの保守支援装置において、前記テストカバレッジは、少なくとも、モジュールあるいはクラスタ内の全ての処理を1回実行する命令網羅率,全ての分岐の組み合わせを1回は実行する分岐網羅率,全ての条件の組み合わせを1回は実行する条件網羅率のいずれかを含むことを特徴とする組込システムの保守支援装置。
  3. 請求項1に記載の組込システムの保守支援装置において、前記クラスタは変数であり、前記クラスタの情報は、少なくとも、クラスタ番号,入力変数,出力変数,内部変数,参照変数合計数,更新変数合計数,内部変数合計数,変数合計数のいずれかを含むことを特徴とする組込システムの保守支援装置。
  4. 請求項1に記載の組込システムの保守支援装置において、前記組込システムはエレベータであり、前記クラスタは、変数として少なくとも、ドアゾーンスイッチ,ファイナルリミットスイッチ,メンテナンスリミットスイッチ,方向リミットスイッチ,終端階強制減速スイッチ、のいずれかの状態を示す情報を含むことを特徴とする組込システムの保守支援装置。
  5. 請求項1に記載の組込システムの保守支援装置において、前記テストカバレッジは、少なくともソフトウェアにおけるステートメントの実行割合を示すステートメントカバレッジ,ブランチの実行割合を示すブランチカバレッジ,ブランチ条件中の組み合わせ実行割合を示すコンディションカバレッジ,ブランチ条件の各々の組み合わせ実行割合を示すマルチコンディションカバレッジ,分岐方向に影響を与える判定条件の実行割合を示すMC/DCカバレッジ,全ての経路に対する実行割合を示すパスカバレッジのいずれかを含むことを特徴とする組込システムの保守支援装置。
  6. 請求項1に記載の組込システムの保守支援装置において、前記クラスタの情報は、変数クラスタ情報記憶部に記憶され、該変数クラスタ情報記憶部は、少なくともクラスタ番号、入力変数、出力変数、内部変数、参照変数合計数、更新変数合計数、内部変数合計数、変数合計数のいずれかを含むことを特徴とする組込システムの保守支援装置。
  7. 請求項1に記載の組込システムの保守支援装置において、
    前記クラスタ情報強調表示部とは、少なくともテスト対象クラスタのソースコードに対するテスト状況,テスト対象クラスタの変数クラスタ情報テーブルに対するテスト状況,テスト対象クラスタの変数データフロー図に対するテスト状況,テスト対象クラスタのフローチャートに対するテスト状況のいずれか一つのテスト状況表示手段を有することを特徴とする組込システムの保守支援装置。
JP2010216329A 2010-09-28 2010-09-28 組込システムの保守支援装置 Active JP5303531B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010216329A JP5303531B2 (ja) 2010-09-28 2010-09-28 組込システムの保守支援装置
CN201110252514.2A CN102436415B (zh) 2010-09-28 2011-08-30 内置***的维护支援装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010216329A JP5303531B2 (ja) 2010-09-28 2010-09-28 組込システムの保守支援装置

Publications (2)

Publication Number Publication Date
JP2012073692A JP2012073692A (ja) 2012-04-12
JP5303531B2 true JP5303531B2 (ja) 2013-10-02

Family

ID=45984490

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010216329A Active JP5303531B2 (ja) 2010-09-28 2010-09-28 組込システムの保守支援装置

Country Status (2)

Country Link
JP (1) JP5303531B2 (ja)
CN (1) CN102436415B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5908374B2 (ja) * 2012-08-28 2016-04-26 株式会社東芝 コンパイラ評価装置、方法及びプログラム
US9971676B2 (en) * 2012-08-30 2018-05-15 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for state based test case generation for software validation
CN105116879A (zh) * 2015-08-27 2015-12-02 株洲南车时代电气股份有限公司 一种铁路客车电气控制柜远程测试方法
CN105425529B (zh) * 2015-11-20 2018-08-10 中国空气动力研究与发展中心超高速空气动力研究所 多序列激光阴影照相中的补偿滤光装置结构

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09251400A (ja) * 1996-03-15 1997-09-22 Hitachi Comput Eng Corp Ltd プログラムのカバレージトレース方法
JP2000267888A (ja) * 1999-03-19 2000-09-29 Ntt Communicationware Corp ソフトウェア試験実施網羅率測定方法、ソフトウェア試験実施網羅率測定装置および記録媒体
JP2002342119A (ja) * 2001-03-15 2002-11-29 Ricoh Co Ltd 画像形成装置用プログラム生成方法、画像形成装置用カバレージ測定方法、これらの方法をコンピュータに実行させるプログラム、カバレージ測定装置、カバレージ測定プログラムおよび情報記録媒体
JP4479958B2 (ja) * 2004-11-26 2010-06-09 日立ソフトウエアエンジニアリング株式会社 カバレッジ取得システム
JP2008536236A (ja) * 2005-04-13 2008-09-04 テレフオンアクチーボラゲット エル エム エリクソン(パブル) コンピュータシステムにおけるデータ値の整合性(コヒーレンス:coherence)
JP4468256B2 (ja) * 2005-07-06 2010-05-26 株式会社東芝 実行情報推定装置および実行情報推定プログラム
JP2008071075A (ja) * 2006-09-13 2008-03-27 Toshiba Corp プログラム検査装置、プログラム検査方法、及びプログラム検査プログラム
JP4909877B2 (ja) * 2007-11-29 2012-04-04 株式会社東芝 デバッグ装置及びデバッグ方法
JP2010128583A (ja) * 2008-11-25 2010-06-10 Toshiba Corp テスト容易化設計装置ならびにその方法およびプログラム

Also Published As

Publication number Publication date
CN102436415B (zh) 2015-11-04
CN102436415A (zh) 2012-05-02
JP2012073692A (ja) 2012-04-12

Similar Documents

Publication Publication Date Title
US10572360B2 (en) Functional behaviour test system and method
US20170261403A1 (en) Abnormality detection procedure development apparatus and abnormality detection procedure development method
US8527813B2 (en) Dynamic reprioritization of test cases during test execution
JP6066081B2 (ja) フォールトツリーを生成する装置及び方法
US20070094189A1 (en) Test case extraction apparatus, program and method for software system
WO2013088461A1 (ja) ソフトウェア解析プログラム、および、ソフトウェア解析システム
JP5303531B2 (ja) 組込システムの保守支援装置
KR101312446B1 (ko) 사용자의 행위 로그를 이용한 모바일 어플리케이션의 사용성 분석 장치 및 방법
WO2016084336A1 (ja) 追学習装置、追学習方法、および、記憶媒体
CN109977012B (zh) ***的联调测试方法、装置、设备及计算机可读存储介质
WO2019225342A1 (ja) 保全作業支援システム
JP2020004113A (ja) 情報表示装置、情報表示プログラム及び情報表示方法
JP2003178173A (ja) プロジェクト・リスク管理方法及び装置及びプログラム
US8683427B2 (en) Information processing apparatus, control method thereof, and computer readable storage medium for supporting test processes for respective software components
JP2010009204A (ja) 遠隔保守エージェント作成装置および作成方法
JP5294675B2 (ja) ソフトウェアマイグレーションシステム及び方法
KR101460860B1 (ko) 상태 기반의 테스트 시나리오 모델을 이용한 gui 테스트 장치 및 방법
KR20200145269A (ko) 테스트 자동화 시스템
JPH11224211A (ja) ソフトウェア検査支援装置
KR101810648B1 (ko) 모바일 어플리케이션의 사용성 저해 요소 분석 장치 및 방법
WO2014192066A1 (ja) プラント異常診断システム、プラント異常診断方法、及び計算機読み取り可能な記憶媒体
KR101999321B1 (ko) 프로그램 검증 시스템 및 검증 방법
JPWO2014141352A1 (ja) システム制御装置
JP2010140326A (ja) カバレージ測定装置
JP2005115582A (ja) テスト・スクリプト部品の自動生成システム及び自動生成方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120518

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130402

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130411

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130528

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130624

R151 Written notification of patent or utility model registration

Ref document number: 5303531

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151