(57)【特許請求の範囲】
【請求項１】
検証対象となるソフトウェアに関するＧＵＩ画面を表示する表示手段と、
前記ＧＵＩ画面が表示されているときに前記ソフトウェアのＧＵＩ処理を実行する実行手段と、
前記ＧＵＩ画面の中から、前記実行手段によって実行されたＧＵＩ処理に関連するＧＵＩ要素を特定する特定手段と、
前記ＧＵＩ画面を制御して、前記ＧＵＩ画面のうち前記特定手段によって特定されたＧＵＩ要素を含む表示領域を強調表示する表示制御手段と、
を備えることを特徴とするソフトウェア検証支援装置。
【請求項２】
前記特定手段は、
前記ＧＵＩ画面の中から、前記ＧＵＩ処理が実行されたことにより変化するＧＵＩ要素を特定することを特徴とする請求項１に記載のソフトウェア検証支援装置。
【請求項３】
前記特定手段は、
前記ＧＵＩ画面の中のＧＵＩ要素のうち、前記ＧＵＩ処理が実行されたことにより消失するＧＵＩ要素を特定することを特徴とする請求項２に記載のソフトウェア検証支援装置。
【請求項４】
前記特定手段は、
前記ＧＵＩ画面の中から、前記ＧＵＩ処理が実行されたことによりあらたに出現するＧＵＩ要素を特定することを特徴とする請求項２に記載のソフトウェア検証支援装置。
【請求項５】
前記特定手段は、
前記ＧＵＩ画面の中のＧＵＩ要素のうち、前記ＧＵＩ処理が実行されたことにより文字列、色、形状、またはサイズが変化するＧＵＩ要素を特定することを特徴とする請求項２に記載のソフトウェア検証支援装置。
【請求項６】
前記特定手段は、
前記ＧＵＩ画面の中のＧＵＩ要素のうち、前記ＧＵＩ処理が実行されたことにより移動または回転するＧＵＩ要素を特定することを特徴とする請求項２に記載のソフトウェア検証支援装置。
【請求項７】
前記特定手段は、
前記ＧＵＩ画面の中のＧＵＩ要素のうち、前記ＧＵＩ処理が実行されたことにより消失または移動するＧＵＩ要素によって出現するＧＵＩ要素を特定することを特徴とする請求項１に記載のソフトウェア検証支援装置。
【請求項８】
前記特定手段は、
前記ＧＵＩ画面の中のＧＵＩ要素のうち、前記ＧＵＩ処理が実行されたことにより出現または移動するＧＵＩ要素に隠蔽されるＧＵＩ要素を特定することを特徴とする請求項１に記載のソフトウェア検証支援装置。
【請求項９】
前記実行手段は、
前記ＧＵＩ処理の実行後に、前記ＧＵＩ処理とは異なる他のＧＵＩ処理を実行し、
前記特定手段は、
前記表示制御手段によって前記表示領域（以下、「第１の表示領域」という）が強調表示されたＧＵＩ画面の中から、前記他のＧＵＩ処理に関連するＧＵＩ要素を特定し、
前記表示制御手段は、
前記ＧＵＩ画面を制御して、前記第１の表示領域が強調表示されたＧＵＩ画面のうち前記特定手段によって特定されたＧＵＩ要素を含む第２の表示領域を強調表示することを特徴とする請求項１〜８のいずれか一つに記載のソフトウェア検証支援装置。
【請求項１０】
前記他のＧＵＩ処理の実行指示を受け付ける受付手段を備え、
前記実行手段は、
前記受付手段によって実行指示が受け付けられた他のＧＵＩ処理を実行することを特徴とする請求項９に記載のソフトウェア検証支援装置。
【請求項１１】
前記表示制御手段は、
前記ＧＵＩ画面を制御して、前記第１の表示領域の強調表示を解除することを特徴とする請求項９または１０に記載のソフトウェア検証支援装置。
【請求項１２】
前記表示制御手段は、
前記ＧＵＩ画面を制御して、前記第１および第２の表示領域を相対的に異なるように強調表示することを特徴とする請求項９または１０に記載のソフトウェア検証支援装置。
【請求項１３】
検証対象となるソフトウェアに関するＧＵＩ画面が表示されているときに前記ソフトウェアのＧＵＩ処理を実行する実行工程と、
前記ＧＵＩ画面の中から、前記実行工程によって実行されたＧＵＩ処理に関連するＧＵＩ要素を特定する特定工程と、
前記ＧＵＩ画面のうち前記特定工程によって特定されたＧＵＩ要素を含む表示領域を強調表示する表示工程と、
を含んだことを特徴とするソフトウェア検証支援方法。
【請求項１４】
コンピュータを、
検証対象となるソフトウェアに関するＧＵＩ画面が表示されているときに前記ソフトウェアのＧＵＩ処理を実行する実行手段、
前記ＧＵＩ画面の中から、前記実行手段によって実行されたＧＵＩ処理に関連するＧＵＩ要素を特定する特定手段、
前記ＧＵＩ画面のうち前記特定手段によって特定されたＧＵＩ要素を含む表示領域を強調表示する表示制御手段、
として機能させることを特徴とするソフトウェア検証支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、検証対象となるソフトウェアの検証（デバッグ）を支援するソフトウェア検証支援装置、ソフトウェア検証支援方法、およびソフトウェア検証支援プログラムに関する。
【背景技術】
【０００２】
従来、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）処理を有するソフトウェア（以下、「ＧＵＩソフトウェア」という）の検証においては、当該ソフトウェアのプログラムの妥当性と、当該プログラムに基づいたＧＵＩ処理が設計通りにＧＵＩ画面上でおこなわれているかの妥当性（以下、「ＧＵＩ画面の妥当性」という）との２点の検証が必要とされる。ソフトウェアのプログラムの妥当性の検証は、たとえば、プログラムのバグの発見や修正を支援するソフトウェア検証支援ツール、いわゆる、デバッガを用いることにより検証をおこなっている（たとえば、下記特許文献１を参照。）。
【０００３】
一方、ＧＵＩ画面の妥当性の検証は、デバッガでは検証しきれないこともあるため、検証者が実際にプログラムを実行させて、ＧＵＩ画面を目視して確認することにより検証をおこなっている。
【０００４】
図１３は、従来技術によるソフトウェアの検証の一例を示す説明図である。図１３で示した一例は、ＧＵＩ画面上１３００上のＧＵＩ要素１３０１〜１３０３のうち、ＧＵＩ要素１３０３が非表示となるソフトウェアの検証である。まず、たとえば、検証者は、検証対象となるソフトウェアのプログラムを実行する。実行されたプログラムは、デバッガにより、その妥当性が検証される。
【０００５】
つぎに、検証者は、ＧＵＩ要素１３０３を非表示とするＧＵＩ処理が、設計通りにＧＵＩ画面１３００上でおこなわれているかを目視して確認する。このように、検証者は、プログラムとＧＵＩ画面上の変化とを照らし合わせ、プログラムが正常に動作してＧＵＩ処理がおこなわれ、設計通りのＧＵＩ画面となったか、ＧＵＩ画面の妥当性を検証する。
【０００６】
【特許文献１】特開２００４−１９２２９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術では、ＧＵＩソフトウェアの検証をおこなう場合、プログラムの妥当性の検証とＧＵＩ画面の妥当性の検証はそれぞれ独立しておこなわれているため、ＧＵＩ画面の妥当性の検証は、検証者の熟練度に左右されることとなる。すなわち、熟練度が低い検証者は、ＧＵＩ処理に関連する（たとえば非表示となる）ＧＵＩ要素を推測することができず、検証者の作業負担が増大するとともに開発期間が長期化するという問題があった。また、熟練度が高い検証者は、ＧＵＩ処理に関連するＧＵＩ要素を経験や勘により推測することになるが、ＧＵＩ処理が膨大であるため、検証者の作業負担が増大するとともに設計期間が長期化するという問題があった。また、このように、検証者の推測に依存する作業は煩雑であり、検証者の見落としが発生するため、検証精度が低下するという問題があった。
【０００８】
また、プログラムの妥当性の検証とＧＵＩ画面の妥当性の検証とがそれぞれ独立しておこなわれているため、ＧＵＩ画面上に不具合を発見した場合、不具合の原因となるＧＵＩ処理を多数のプログラムの中から探す必要があり、該当するＧＵＩ処理を直ちに発見できないなど、多くの手間と時間が必要とされ、開発が非効率的となるという問題があった。
【０００９】
また、手間や時間をかけず、このような検証を簡略化した場合には、直ちには発見できない不具合を見落とすことがある。たとえば、設計にはない不要なＧＵＩ要素が他のＧＵＩ要素の下に隠蔽された場合などの、直ちには発見できない不具合は見落とす可能性が高い。不要なＧＵＩ要素が残ってしまった場合、ソフトウェアを組み込んだ際に、コンピュータ装置のハードウェア資源の無駄遣いとなり、パフォーマンスの低下につながるという問題があった。
【００１０】
この発明は、上述した従来技術による問題点を解消するため、プログラムの妥当性の検証と関連づけてＧＵＩ画面の妥当性の検証を同時に実現することにより、検証者の労力軽減、開発期間の短縮、および検証の高精度化を同時に図ることができるソフトウェア検証支援装置、ソフトウェア検証支援方法、およびソフトウェア検証支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するため、この発明にかかるソフトウェア検証支援装置は、検証対象となるソフトウェアに関するＧＵＩ画面を表示する表示手段と、前記ＧＵＩ画面が表示されているときに前記ソフトウェアのＧＵＩ処理を実行する実行手段と、前記ＧＵＩ画面の中から、前記実行手段によって実行されたＧＵＩ処理に関連するＧＵＩ要素を特定する特定手段と、前記ＧＵＩ画面を制御して、前記ＧＵＩ画面のうち前記特定手段によって特定されたＧＵＩ要素を含む表示領域を強調表示する表示制御手段と、を備えることを特徴とする。
【００１２】
この発明によれば、実行されたＧＵＩ処理と関連するＧＵＩ要素を、ＧＵＩ処理を実行しながら、視覚的に明確にすることができる。
【００１３】
また、上記に記載の発明において、前記ＧＵＩ画面の中から、前記ＧＵＩ処理が実行されたことにより変化するＧＵＩ要素を特定することとしてもよい。
【００１４】
この発明によれば、実行されたＧＵＩ処理によって、直接的または間接的に影響を受けて変化するＧＵＩ要素を、ＧＵＩ処理を実行しながら視覚的に明確にすることができる。
【００１５】
また、上記に記載の発明において、前記ＧＵＩ画面の中のＧＵＩ要素のうち、前記ＧＵＩ処理が実行されたことにより消失するＧＵＩ要素を特定することとしてもよい。
【００１６】
この発明によれば、実行されたＧＵＩ処理により直接的に影響を受けて、消失するＧＵＩ要素を、ＧＵＩ処理を実行しながら視覚的に明確にすることができる。
【００１７】
また、上記に記載の発明において、前記ＧＵＩ画面の中から、前記ＧＵＩ処理が実行されたことによりあらたに出現するＧＵＩ要素を特定することとしてもよい。
【００１８】
この発明によれば、実行されたＧＵＩ処理により直接的に影響を受けて、あらたに出現するＧＵＩ要素を、ＧＵＩ処理を実行しながら視覚的に明確にすることができる。
【００１９】
また、上記に記載の発明において、前記ＧＵＩ画面の中のＧＵＩ要素のうち、前記ＧＵＩ処理が実行されたことにより文字列、色、形状、またはサイズが変化するＧＵＩ要素を特定することとしてもよい。
【００２０】
この発明によれば、ＧＵＩ処理により直接的に影響を受けて、文字列、色、形状、またはサイズが変化するＧＵＩ要素を、ＧＵＩ処理を実行しながら視覚的に明確にすることができる。
【００２１】
また、上記に記載の発明において、前記ＧＵＩ画面の中のＧＵＩ要素のうち、前記ＧＵＩ処理が実行されたことにより移動または回転するＧＵＩ要素を特定することとしてもよい。
【００２２】
この発明によれば、ＧＵＩ処理により直接的に影響を受けて、移動または回転するＧＵＩ要素を、ＧＵＩ処理を実行しながら視覚的に明確にすることができる。
【００２３】
また、上記に記載の発明において、前記ＧＵＩ画面の中のＧＵＩ要素のうち、前記ＧＵＩ処理が実行されたことにより消失または移動するＧＵＩ要素によって出現するＧＵＩ要素を特定することとしてもよい。
【００２４】
この発明によれば、ＧＵＩ処理により間接的に影響を受けて、出現するＧＵＩ要素を、ＧＵＩ処理を実行しながら視覚的に明確にすることができる。
【００２５】
また、上記に記載の発明において、前記ＧＵＩ画面の中のＧＵＩ要素のうち、前記ＧＵＩ処理が実行されたことにより出現または移動するＧＵＩ要素に隠蔽されるＧＵＩ要素を特定することとしてもよい。
【００２６】
この発明によれば、ＧＵＩ処理により間接的に影響を受けて、隠蔽されるＧＵＩ要素を、ＧＵＩ処理を実行しながら視覚的に明確にすることができる。
【００２７】
また、上記に記載の発明において、前記ＧＵＩ処理の実行後に、前記ＧＵＩ処理とは異なる他のＧＵＩ処理を実行し、前記特定手段は、前記表示制御手段によって前記表示領域（以下、「第１の表示領域」という）が強調表示されたＧＵＩ画面の中から、前記他のＧＵＩ処理に関連するＧＵＩ要素を特定し、前記表示制御手段は、前記ＧＵＩ画面を制御して、前記第１の表示領域が強調表示されたＧＵＩ画面のうち前記特定手段によって特定されたＧＵＩ要素を含む第２の表示領域を強調表示することを特徴とする。
【００２８】
この発明によれば、複数のＧＵＩ処理に対して、それぞれに対応するＧＵＩ要素を、ＧＵＩ処理を実行しながら視覚的に明確にすることができる。
【００２９】
また、上記に記載の発明において、前記他のＧＵＩ処理の実行指示を受け付ける受付手段を備え、前記実行手段は、前記受付手段によって実行指示が受け付けられた他のＧＵＩ処理を実行することを特徴とする。
【００３０】
この発明によれば、検証者の任意のタイミングで他のＧＵＩ処理を実行させることができる。
【００３１】
また、上記に記載の発明において、前記ＧＵＩ画面を制御して、前記第１の表示領域の強調表示を解除することを特徴とする。
【００３２】
この発明によれば、必要に応じて強調表示を解除することができる。
【００３３】
また、上記に記載の発明において、前記ＧＵＩ画面を制御して、前記第１および第２の表示領域を相対的に異なるように強調表示することを特徴とする。
【００３４】
この発明によれば、相対的に異なるように強調表示し、複数のＧＵＩ処理に対して、それぞれに対応するＧＵＩ要素をより視覚的に明確にすることができる。
【発明の効果】
【００３５】
この発明にかかるソフトウェア検証支援装置、ソフトウェア検証支援方法、およびソフトウェア検証支援プログラムによれば、プログラムの妥当性の検証と関連づけてＧＵＩ画面の妥当性の検証を同時に実現することにより、検証者の労力軽減、開発期間の短縮、および検証の高精度化を同時に図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００３６】
以下に添付図面を参照して、この発明にかかるソフトウェア検証支援装置、ソフトウェア検証支援方法、およびソフトウェア検証支援プログラムの好適な実施の形態を詳細に説明する。
【００３７】
（ソフトウェア検証支援装置の概要）
まず、この発明の実施の形態にかかるソフトウェア検証支援装置の概要について説明する。この発明の実施の形態にかかるソフトウェア検証支援装置は、たとえば、あらかじめ用意されたプログラムをパーソナル・コンピュータなどのコンピュータ装置にインストールし、実行させることにより実現される。
【００３８】
ソフトウェア検証支援装置は、検証対象となるソフトウェアに関するＧＵＩ画面において、ＧＵＩ処理が実行された場合に、実行されたＧＵＩ処理と関連したＧＵＩ要素を含んだ表示領域を強調表示させることにより、実行されたＧＵＩ処理と当該ＧＵＩ処理に関連するＧＵＩ要素とを同時に検証することができ、ソフトウェアの検証の効率化を図る。
【００３９】
（ソフトウェア検証支援装置のハードウェア構成）
つぎに、この発明の実施の形態にかかるソフトウェア検証支援装置のハードウェア構成について説明する。図１は、この発明の実施の形態にかかるソフトウェア検証支援装置のハードウェア構成を示すブロック図である。
【００４０】
図１において、ソフトウェア検証支援装置１００は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ（ハードディスクドライブ）１０４と、ＨＤ（ハードディスク）１０５と、Ｒ／Ｗ（リーダ／ライタ）１０６と、着脱可能な記録媒体の一例としてのＤＶＤ１０７と、ディスプレイ１０８と、Ｉ／Ｆ（インターフェース）１０９と、キーボード１１０と、マウス１１１と、スキャナ１１２と、プリンタ１１３と、を備えている。また、各構成部はバス１２０によってそれぞれ接続されている。
【００４１】
ＣＰＵ１０１は、コンピュータ装置の全体の制御を司る。ＲＯＭ１０２は、ブートプログラムなどのプログラムを記録している。ＲＡＭ１０３は、ＣＰＵ１０１のワークエリアとして使用される。ＨＤＤ１０４は、ＣＰＵ１０１の制御にしたがってＨＤ１０５に対するデータのリード／ライトを制御する。ＨＤ１０５は、ＨＤＤ１０４の制御で書き込まれたデータを記録する。
【００４２】
Ｒ／Ｗ１０６は、ＣＰＵ１０１の制御にしたがってＤＶＤ１０７に対するデータのリード／ライトを制御する。ＤＶＤ１０７は、Ｒ／Ｗ１０６の制御で書き込まれたデータを記録したり、ＤＶＤ１０７に記録されたデータをコンピュータ装置に読み取らせたりする。
【００４３】
また、着脱可能な記録媒体として、ＤＶＤ１０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ（Ｍａｇｎｅｔｏ  Ｏｐｔｉｃａｌ  Ｄｉｓｋ）、ＦＤ（フレキシブルディスク）、メモリーカードなどであってもよい。ディスプレイ１０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ１０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００４４】
Ｉ／Ｆ１０９は、通信回線を通じてインターネットなどのネットワークに接続され、このネットワークを介して他の装置に接続される。そして、Ｉ／Ｆ１０９は、ネットワークと内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ１０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００４５】
キーボード１１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス１１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００４６】
スキャナ１１２は、画像を光学的に読み取り、コンピュータ装置内に画像データを取り込む。なお、スキャナ１１２は、ＯＣＲ機能を持たせてもよい。また、プリンタ１１３は、画像データや文書データを印刷する。プリンタ１１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００４７】
（ソフトウェア検証支援装置の機能的構成）
つぎに、この発明の実施の形態にかかるソフトウェア検証支援装置の機能的構成について説明する。図２は、この発明の実施の形態にかかるソフトウェア検証支援装置の機能的構成を示すブロック図である。図２に示したように、この発明の実施の形態にかかるソフトウェア検証支援装置１００は、表示部２０１と、実行部２０２と、特定部２０３と、表示制御部２０４とを備えている。
【００４８】
表示部２０１は、検証対象となるソフトウェアに関するＧＵＩ画面を表示する機能を有する。検証対象となるソフトウェアに関するＧＵＩ画面とは、たとえば、検証対象とされたソフトウェアのプログラムによって表示される画面である。ＧＵＩ画面には、たとえば、指示や命令を記号化した図形（いわゆる、アイコン）や、文字列が表示される図形（いわゆる、テキストボックス）などのＧＵＩ要素が表示される（たとえば、図９−１〜９−８を参照。）。表示部２０１は、たとえば、ディスプレイ１０８によって実現される。
【００４９】
実行部２０２は、ソフトウェア検証支援装置１００に関する各種の動作を実行する機能を有する。実行部２０２は、具体的には、たとえば、ソフトウェアの検証の支援や、検証対象となるソフトウェアのＧＵＩ処理などを実行する。実行部２０２は、たとえば、表示部２０１によって、ＧＵＩ画面が表示されているときにソフトウェアのＧＵＩ処理を実行する。
【００５０】
ここで、ＧＵＩ処理とは、たとえば、或るＧＵＩ要素を変化させる処理や、或るＧＵＩ要素を移動させる処理など、ＧＵＩ要素の表示に関する処理である。ＧＵＩ処理は、具体的には、プログラムによって記述され、ＲＯＭ１０２などに記録された当該プログラムをＣＰＵ１０１が読み込むことにより実行される。
【００５１】
特定部２０３は、実行部２０２によって実行されたＧＵＩ処理に関連するＧＵＩ要素を特定する機能を有する。特定部２０３は、たとえば、ＧＵＩ処理が実行されたことにより非表示となるＧＵＩ要素を特定する。ここで、非表示とは、ＧＵＩ画面上に表示されたＧＵＩ要素が、視認不可能な状態になることである。具体的には、たとえば、ＧＵＩ処理の実行によってその対象となるＧＵＩ要素の、ＶＲＡＭからの消去、アルファ値の変更による透明化、またはＺバッファ法による隠蔽化などである。
【００５２】
また、特定部２０３は、ＧＵＩ処理が実行されたことによりあらたに出現するＧＵＩ要素を特定してもよい。ここで、出現とは、非表示であったＧＵＩ要素が、視認可能となる状態になることである。具体的には、たとえば、ＧＵＩ処理の実行によってその対象となるＧＵＩ要素の、ＶＲＡＭへの描き込み、アルファ値の変更による着色、またはＺバッファ法を用いた前面化などである。
【００５３】
たとえば、携帯電話において所定の時刻に音を鳴らすアラーム機能の設定に関するＧＵＩ処理が実行された場合、ディスプレイに表示されるＧＵＩ画面には、アラームをあらわすＧＵＩ要素（たとえば、ベルのマーク）が出現する。また、たとえば、アラーム機能の設定の解除に関するＧＵＩ処理が実行された場合、ＧＵＩ画面では、アラームをあらわすＧＵＩ要素が非表示となる。
【００５４】
また、特定部２０３は、ＧＵＩ処理が実行されたことにより文字列、色、形状、またはサイズが変化するＧＵＩ要素を特定してもよい。ここで、文字列、色、形状、またはサイズの変化とは、具体的に、テキストボックスなどのＧＵＩ要素が有する文字列を異なる文字列にしたり、表示されたＧＵＩ要素のＲＧＢを変更して当該ＧＵＩ要素の色を異なる色としたりすることである。
【００５５】
たとえば、現在時刻の計時機能に関するＧＵＩ処理が実行されている場合、ＧＵＩ画面には、時刻をあらわすＧＵＩ要素（たとえば、○○：△△、○○は時、△△は分）が表示される。時刻をあらわすＧＵＩ要素は、１分経過するごとに、あらたな時刻（たとえば、１２：３４から１２：３５）に更新される。
【００５６】
また、特定部２０３は、ＧＵＩ処理が実行されたことにより移動または回転するＧＵＩ要素を特定してもよい。ここで、移動とは、ＧＵＩ画面上に表示されたＧＵＩ要素のＧＵＩ画面上の座標を変化させることである。たとえば、ＧＵＩ画面上に表示されたマウスポインタは、マウス操作に関するＧＵＩ処理が実行された場合、ＧＵＩ画面上を移動する。
【００５７】
また、ここで、回転とは、ＧＵＩ要素の表示される角度を変化させることである。たとえば、音楽を再生させる音楽再生ソフトウェアのＧＵＩ画面において、表示されたボリュームを調整するノブをあらわすＧＵＩ要素は、ユーザ操作による音量増減に関するＧＵＩ処理が実行された場合に回転する。
【００５８】
また、特定部２０３は、隠蔽していたＧＵＩ要素が非表示または移動することによって出現するＧＵＩ要素を特定することとしてもよい。ここで、隠蔽とは、具体的に、ＧＵＩ画面上において、２つのＧＵＩ要素が重複して配置され、一方の上面に配置されたＧＵＩ要素によって、他方のＧＵＩ要素が非表示となる状態である。すなわち、特定部２０３は、上面に配置された一方のＧＵＩ要素が非表示または移動することにより、出現する他方のＧＵＩ要素を特定する。
【００５９】
また、特定部２０３は、出現または移動するＧＵＩ要素によって隠蔽されるＧＵＩ要素を特定してもよい。すなわち、特定部２０３は、一方のＧＵＩ要素が他方のＧＵＩ要素上に出現または移動してくることにより他方のＧＵＩ要素に重複して、非表示とされた他方のＧＵＩ要素を特定する。
【００６０】
たとえば、マウスポインタが或るＧＵＩ要素上にある場合に、所定のキー（たとえば、右クリック）の入力を受け付けると、当該ＧＵＩ要素のコンテキストメニューの表示に関するＧＵＩ処理が実行されて、マウスポインタの付近にコンテキストメニューが表示される。コンテキストメニューは、ＧＵＩ画面上において常に最前面に表示され、コンテキストメニューと重複するＧＵＩ要素はコンテキストメニューによって隠蔽される。
【００６１】
また、コンテキストメニューは、コンテキストメニュー中に表示された何らかコマンドが選択された場合、そのＧＵＩ処理より、ＧＵＩ画面上で非表示となる。これにともなって、隠蔽されていたＧＵＩ要素は、再びＧＵＩ画面上に出現する。
【００６２】
表示制御部２０４は、特定部２０３によって特定されたＧＵＩ要素を含む表示領域を強調表示して表示部２０１に表示させる機能を有する。強調表示とは、特定されたＧＵＩ要素を含む表示領域を、実行されたＧＵＩ処理による表示とは異なるように表示することである。たとえば、特定されたＧＵＩ要素を含む表示領域を点灯、または点滅させて、検証者が容易に認識できるように表示する。表示制御部２０４は、たとえば、ＲＯＭ１０２などに記録された各種のプログラムをＣＰＵ１０１によって実行させることにより実現される。
【００６３】
（ソフトウェア検証支援装置の処理手順）
つぎに、この発明の実施の形態にかかるソフトウェア検証支援装置の処理手順について説明する。図３は、この発明の実施の形態にかかるソフトウェア検証支援装置の処理手順を示すフローチャートである。図３に示したフローチャートは、たとえば、検証者によって、検証開始の指示を受け付けた場合に開始される。
【００６４】
まず、この発明の実施の形態にかかるソフトウェア検証支援装置１００は、たとえば、検証者によって検証開始の指示を受け付けた場合に、未処理のＧＵＩ処理があるか否かを判定する（ステップＳ３０１）。未処理のＧＵＩ処理とは、たとえば、まだ検証がおこなわれていないＧＵＩ処理である。
【００６５】
ステップＳ３０１において、未処理のＧＵＩ処理があると判定された場合（ステップＳ３０１：Ｙｅｓ）には、検証対象となるソフトウェアのプログラムに基づいてＧＵＩ処理を実行する（ステップＳ３０２）。具体的には、実行部２０２が、検証対象となるソフトウェアのプログラムの中から検証するＧＵＩ処理を実行する。
【００６６】
ステップＳ３０２において、ＧＵＩ処理が実行されたのち、実行されたＧＵＩ処理に関連したＧＵＩ要素を特定する（ステップＳ３０３）。具体的には、特定部２０３が、実行部２０２によって実行されたＧＵＩ処理から、当該ＧＵＩ処理に関連したＧＵＩ要素を特定する。
【００６７】
ステップＳ３０３において、関連したＧＵＩ要素が特定されたのち、特定されたＧＵＩ要素を含んだ表示領域が強調表示されたＧＵＩ画面を表示する（ステップＳ３０４）。具体的には、表示制御部２０４が、表示部２０１を制御して、特定部２０３によって特定されたＧＵＩ要素を含んだ表示領域を強調表示し、強調表示されたＧＵＩ画面を表示する。
【００６８】
ステップＳ３０４において、強調表示したのち、ステップＳ３０１へ戻り、再び、未処理のＧＵＩ処理があるか否かを判定する。未処理のＧＵＩ処理があると判定された場合には、上記と同様の処理を繰り返し、未処理のＧＵＩ処理がないと判定された場合（ステップＳ３０１：Ｎｏ）には、そのまま一連の処理を終了する。
【００６９】
（ソフトウェア検証支援装置による具体的な表示例）
（ソフトウェア検証支援装置による強調表示）
つぎに、ソフトウェア検証支援装置による具体的な表示例について説明する。まず、この発明の実施の形態にかかるソフトウェア検証支援装置による強調表示について説明する。図４および図５は、この発明の実施の形態にかかるソフトウェア検証支援装置による強調表示を説明する説明図（その１）、（その２）である。なお、図４および図５では、一例として、関連するＧＵＩ要素を非表示とするＧＵＩ処理を実行して、関連するＧＵＩ要素を非表示に変化させた場合の例を図示している。
【００７０】
まず、図４において、表示されたＧＵＩ要素４０１に対して、ソフトウェア検証支援装置１００が、ＧＵＩ要素４０１を非表示とするＧＵＩ処理を実行する。ソフトウェア検証支援装置１００がＧＵＩ処理を実行することにより、ＧＵＩ要素４０１を非表示としたあらたなＧＵＩ要素４０１ａが作成される。また、ＧＵＩ要素４０１を含んでいた表示領域に、所定の色を有した矩形の点灯要素４０２が作成される。
【００７１】
ＧＵＩ要素４０１ａおよび点灯要素４０２が作成されたのち、ＧＵＩ要素４０１ａと点灯要素４０２とが合成される。ここで、合成とは、作成された２つの要素を重ね合わせることである。合成されたＧＵＩ要素４０１ａと点灯要素４０２とは、強調表示要素（点灯）４０３として、ＧＵＩ画面上に表示される。なお、強調表示要素（点灯）４０３は、所定の時間（たとえば、表示されてから１００ｍｓ間）だけ表示される。
【００７２】
強調表示要素（点灯）４０３が表示されて所定の時間が経過後、図５において、点灯要素４０２の輪郭線上に点滅要素４０４が作成される。点滅要素４０４は、たとえば、点灯要素４０２と同一の色を有した点線によって作成される。点滅要素４０４が作成されたのち、ＧＵＩ要素４０１ａと点滅要素４０４とが合成され、強調表示要素（点滅）４０５として、ＧＵＩ画面上に表示される。なお、強調表示要素（点滅）４０５は、所定の時間間隔（たとえば、５００ｍｓ間隔）で点滅するように表示される。
【００７３】
以上に説明したように、この発明の実施の形態にかかるソフトウェア検証支援装置１００による強調表示は、強調表示要素（点灯）４０３と、強調表示要素（点滅）４０５とを表示させることよりおこなわれる。なお、強調表示要素（点灯）４０３と、強調表示要素（点滅）４０５とは、ＧＵＩ画面上において最前面、すなわち、ＧＵＩ要素に隠蔽されることなく表示される。
【００７４】
（表示色の設定）
また、この発明の実施の形態にかかるソフトウェア検証支援装置１００は、ＧＵＩ処理の処理内容と、当該処理内容に応じた表示色とを、あらかじめ関連づけておくことができる。これにより、処理内容に応じて異なる表示色を用いて、点灯要素４０２および点滅要素４０４を表示させることができる。
【００７５】
図６は、ＧＵＩ処理の処理内容とそれに対応する表示色とを関連づけた状態を説明する説明図である。図６に示したように、ＧＵＩ処理の処理内容に応じて、対応する表示色が関連づけられている。たとえば、この発明にかかる実施の形態のソフトウェア検証支援装置１００は、ＧＵＩ要素を表示・非表示とするＧＵＩ処理の場合には表示領域を黄色により強調表示し、ＧＵＩ要素を移動させるＧＵＩ処理の場合には表示領域を緑色により強調表示するように関連づけられている。
【００７６】
なお、これらの表示色は、ソフトウェア検証支援装置１００製造側によって、あらかじめ設定されていてもよいし、検証者によって任意に設定されてもよい。また、各表示色においてＲＧＢで指定される色以外に、透明度を表すアルファ値（ａｌｐｈａ  ｖａｌｕｅ）を設定可能とし、アルファ値も任意に変更できることとしてもよい。アルファ値とは、公知の技術であるため詳細な説明は省略するが、透過度に関する情報である。
【００７７】
アルファ値を設定した場合、ソフトウェア検証支援装置１００は、アルファブレンディングを用いて強調表示することができる。アルファブレンディングとは、公知の技術のため詳細な説明は省略するが、半透明の画像（たとえば、強調表示）とほかの画像（たとえば、ＧＵＩ要素）とを重ね合わせて表示させることである。これにより、たとえば、強調表示された場合においても、強調表示の下に配置されたＧＵＩ要素が視認可能となる。
【００７８】
（ソフトウェア検証支援装置のユーザインターフェース）
つぎに、この発明の実施の形態にかかるソフトウェア検証装置のユーザインターフェースについて説明する。図７および図８は、この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースを示す説明図（その１）、（その２）である。
【００７９】
図７および８に示したように、この発明の実施の形態にかかるソフトウェア検証装置１００のユーザインターフェース７００は、表示ウィンドウ７０１と、メニュー７０２と、操作ボタン７０３とによって構成される。ユーザインターフェース７００は、たとえば、ディスプレイ１０８上に表示される。
【００８０】
表示ウィンドウ７０１には、検証対象となるソフトウェアに関するＧＵＩ画面が表示される。ＧＵＩ画面には、ＧＵＩ要素や、強調表示要素（点灯）や、強調表示要素（点滅）などが表示される。
【００８１】
メニュー７０２には、ソフトウェア検証支援装置１００に与える各種のコマンドがあらかじめカテゴリーごとに分類されて階層的に表示される。コマンドとは、たとえば、ソフトウェア検証支援装置１００に実行させる処理である。たとえば、図７および図８で示したように、ユーザインターフェース７００には、まず、最上位の階層のメニューとして、「ファイル」や「デバッグ」が表示される。ここで、たとえば、図８に示したように、「デバッグ」を選択した場合、「デバッグ」に分類されたコマンドである、「開始」、「開始（ステップ実行）」、「中断」、および「クリア」がプルダウンメニューによって表示される。
【００８２】
検証者は、メニュー７０２から、コマンドを選択することにより、ソフトウェア検証支援装置１００に所望の処理を実行させることができる。なお、ソフトウェア検証支援装置１００の検証支援の際における代表的なコマンドについては後述する。
【００８３】
操作ボタン７０３は、それぞれ対応するコマンドと関連づけられ、メニュー７０２からコマンドを選択することなく、直接、対応するコマンドを実行させることのできる、いわゆるショートカットキーである。操作ボタン７０３は、たとえば、検証者が頻繁に使用するコマンドと関連づけられる。図７に示した操作ボタン７０３は、左からそれぞれ、「開始」、「中断」、「開始（ステップ実行）」、「ステップ実行」、「クリア」のコマンドと関連づけられて設定されている。
【００８４】
（ソフトウェア検証支援装置の代表的なコマンド）
つぎに、ソフトウェア検証支援装置の検証支援の際における代表的なコマンドについて説明する。「開始」は、強調表示をおこなって、ソフトウェアを検証させる。すなわち、「開始」により、ＧＵＩ処理の実行にあわせて、関連するＧＵＩ要素を含んだ表示領域の強調表示がおこなわれる。「中断」は、「開始」の選択をすることによって開始されたソフトウェアの検証を中断させる。
【００８５】
「開始（ステップ実行）」は、ＧＵＩ処理の実行を１ステップずつ（たとえば、プログラムを１行ずつ）おこない、実行された１ステップのＧＵＩ処理と関連したＧＵＩ要素を含んだ表示領域を強調表示して、ソフトウェアを検証させる。ステップ実行は、検証対象となるソフトウェアのプログラムに基づいて、ＧＵＩ処理の実行を１ステップずつ実行する。「クリア」は、強調表示された表示領域の強調表示を解除する。
【００８６】
（ユーザインターフェースに表示される具体的な表示例）
つぎに、上述したユーザインターフェース７００に表示される具体的な表示例について説明する。図９−１〜９−８は、この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースに表示される具体的な表示例を示す説明図（その１）〜（その８）である。
【００８７】
（あらたなＧＵＩ要素が表示される場合の表示例）
まず、図９−１を用いて、あらたなＧＵＩ要素が表示される場合の表示例について説明する。図９−１は、この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースに表示される具体的な表示例を示す説明図（その１）である。図９−１に示したように、ユーザインターフェース７００の表示ウィンドウ７０１には、検証対象となるソフトウェアに関するＧＵＩ画面９００が表示されている。また、ＧＵＩ画面９００には、長方形のＧＵＩ要素９０１と、三角形のＧＵＩ要素９０２とが表示されている。
【００８８】
ここで、たとえば、あらたなＧＵＩ要素として、円形のＧＵＩ要素９０３を表示させた場合、円形のＧＵＩ要素９０３が表示されるとともに、当該円形のＧＵＩ要素９０３を含む表示領域９０３ａが強調表示される。すなわち、円形のＧＵＩ要素９０３が表示され、同時に、表示領域９０３ａに上述した強調表示要素（点灯）および強調表示要素（点滅）が表示される。また、図６で示したように、ＧＵＩ要素の表示・非表示と関連づけられた表示色が「黄」である場合には、強調表示要素（点灯）および強調表示要素（点滅）は黄色を用いて表示される。
【００８９】
（表示されているＧＵＩ要素を非表示とする場合の表示例）
つぎに、図９−２を用いて、表示されているＧＵＩ要素を非表示とする場合の表示例について説明する。図９−２は、この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースに表示される具体的な表示例を示す説明図（その２）である。図９−２に示したように、ユーザインターフェース７００の表示ウィンドウ７０１には、検証対象となるソフトウェアに関するＧＵＩ画面９００が表示されている。また、ＧＵＩ画面９００には、長方形のＧＵＩ要素９０１と、三角形のＧＵＩ要素９０２と、円形のＧＵＩ要素９０３とが表示されている。
【００９０】
ここで、たとえば、表示されているＧＵＩ要素のうち、円形のＧＵＩ要素９０３を非表示とさせた場合、円形のＧＵＩ要素９０３が非表示とされるとともに、当該円形のＧＵＩ要素９０３を含む表示領域９０３ａが強調表示される。すなわち、円形のＧＵＩ要素９０３が非表示とされ、同時に、表示領域９０３ａに上述した強調表示要素（点灯）および強調表示要素（点滅）が表示される。また、図６で示したように、ＧＵＩ要素の表示・非表示と関連づけられた表示色が「黄」である場合には、強調表示要素（点灯）および強調表示要素（点滅）は黄色を用いて表示される。
【００９１】
（表示されているＧＵＩ要素を移動させた場合の表示例）
つぎに、図９−３を用いて、表示されているＧＵＩ要素を移動させた場合の表示例について説明する。図９−３は、この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースに表示される具体的な表示例を示す説明図（その３）である。図９−３に示したように、ユーザインターフェース７００の表示ウィンドウ７０１には、検証対象となるソフトウェアに関するＧＵＩ画面９００が表示されている。また、ＧＵＩ画面９００には、長方形のＧＵＩ要素９０１と、三角形のＧＵＩ要素９０２と、円形のＧＵＩ要素９０３とが表示されている。なお、これらの各ＧＵＩ要素９０１〜９０３は、静止した状態で表示されている。
【００９２】
ここで、たとえば、表示されているＧＵＩ要素のうち、円形のＧＵＩ要素９０３を移動させた場合、円形のＧＵＩ要素９０３が移動されるとともに、当該円形のＧＵＩ要素９０３を含む表示領域９０３ａが強調表示される。すなわち、円形のＧＵＩ要素９０３が所定の位置まで移動され、同時に、表示領域９０３ａに上述した強調表示要素（点灯）および強調表示要素（点滅）が表示される。また、図６で示したように、ＧＵＩ要素の移動と関連づけられた表示色が「緑」である場合には、強調表示要素（点灯）および強調表示要素（点滅）は緑色を用いて表示される。
【００９３】
（表示されているＧＵＩ要素の形状を変更する場合の表示例）
つぎに、図９−４を用いて、表示されているＧＵＩ要素の形状を変更する場合の表示例について説明する。図９−４は、この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースに表示される具体的な表示例を示す説明図（その４）である。図９−４に示したように、ユーザインターフェース７００の表示ウィンドウ７０１には、検証対象となるソフトウェアに関するＧＵＩ画面９００が表示されている。また、ＧＵＩ画面９００には、長方形のＧＵＩ要素９０１と、三角形のＧＵＩ要素９０２と、円形のＧＵＩ要素９０３とが表示されている。
【００９４】
ここで、たとえば、表示されているＧＵＩ要素のうち、三角形のＧＵＩ要素９０２の形状を変更させた場合、三角形のＧＵＩ要素９０２の形状が変更されて星型のＧＵＩ要素９０４が表示されるとともに、当該星形のＧＵＩ要素９０４を含む表示領域９０４ａが強調表示される。すなわち、三角形のＧＵＩ要素９０２が星型のＧＵＩ要素９０４に形状を変更され、同時に、表示領域９０４ａに上述した強調表示要素（点灯）および強調表示要素（点滅）が表示される。また、図６で示したように、ＧＵＩ要素の形状の変更と関連づけられた表示色が「赤」である場合には、強調表示要素（点灯）および強調表示要素（点滅）は赤色を用いて表示される。
【００９５】
（表示されているＧＵＩ要素を回転させた場合の表示例）
つぎに、図９−５を用いて、表示されているＧＵＩ要素を回転させた場合の表示例について説明する。図９−５は、この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースに表示される具体的な表示例を示す説明図（その５）である。図９−５に示したように、ユーザインターフェース７００の表示ウィンドウ７０１には、検証対象となるソフトウェアに関するＧＵＩ画面９００が表示されている。また、ＧＵＩ画面９００には、長方形のＧＵＩ要素９０１と、三角形のＧＵＩ要素９０２と、円形のＧＵＩ要素９０３とが表示されている。なお、これらの各ＧＵＩ要素９０１〜９０３は、静止した状態で表示されている。
【００９６】
ここで、たとえば、表示されているＧＵＩ要素のうち、三角形のＧＵＩ要素９０２を回転させた場合、三角形のＧＵＩ要素９０２が回転されるとともに、当該三角形のＧＵＩ要素９０２を含んだ表示領域９０２ａが強調表示される。すなわち、三角形のＧＵＩ要素９０２が所定の角度分だけ回転され、同時に、表示領域９０２ａに上述した強調表示要素（点灯）および強調表示要素（点滅）が表示される。また、図６で示したように、ＧＵＩ要素の回転と関連づけられた表示色が「青」である場合には、強調表示要素（点灯）および強調表示要素（点滅）は青色を用いて表示される。
【００９７】
（表示されているＧＵＩ要素のサイズを変更（拡大）させた場合の表示例）
つぎに、図９−６を用いて、表示されているＧＵＩ要素のサイズを変更（拡大）させた場合の表示例について説明する。図９−６は、この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースに表示される具体的な表示例を示す説明図（その６）である。図９−６に示したように、ユーザインターフェース７００の表示ウィンドウ７０１には、検証対象となるソフトウェアに関するＧＵＩ画面９００が表示されている。また、ＧＵＩ画面９００には、長方形のＧＵＩ要素９０１と、三角形のＧＵＩ要素９０２と、円形のＧＵＩ要素９０３とが表示されている。
【００９８】
ここで、たとえば、表示されているＧＵＩ要素のうち、円形のＧＵＩ要素９０３のサイズを拡大させた場合、円形のＧＵＩ要素９０３のサイズが拡大されるとともに、当該円形のＧＵＩ要素９０３を含む表示領域９０３ａが強調表示される。すなわち、円形のＧＵＩ要素９０３が円形のＧＵＩ要素９０３ｂに拡大され、同時に、表示領域９０３ａに上述した強調表示要素（点灯）および強調表示要素（点滅）が表示される。また、図６で示したように、ＧＵＩ要素の拡大・縮小と関連づけられた表示色が「オレンジ」である場合には、強調表示要素（点灯）および強調表示要素（点滅）はオレンジ色を用いて表示される。
【００９９】
（表示されているＧＵＩ要素のサイズを変更（縮小）させた場合の表示例）
つぎに、図９−７を用いて、表示されているＧＵＩ要素のサイズを変更（縮小）させた場合の表示例について説明する。図９−７は、この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースに表示される具体的な表示例を示す説明図（その７）である。図９−７に示したように、ユーザインターフェース７００の表示ウィンドウ７０１には、検証対象となるソフトウェアに関するＧＵＩ画面９００が表示されている。また、ＧＵＩ画面９００には、長方形のＧＵＩ要素９０１と、三角形のＧＵＩ要素９０２と、円形のＧＵＩ要素９０３とが表示されている。
【０１００】
ここで、たとえば、表示されているＧＵＩ要素のうち、円形のＧＵＩ要素９０３のサイズを縮小させた場合、円形のＧＵＩ要素９０３のサイズが縮小されるとともに、当該円形のＧＵＩ要素９０３を含む表示領域９０３ｃが強調表示される。すなわち、円形のＧＵＩ要素９０３が円形のＧＵＩ要素９０３ｄに縮小され、同時に、表示領域９０３ｃに上述した強調表示要素（点灯）および強調表示要素（点滅）が表示される。また、図６で示したように、ＧＵＩ要素の拡大・縮小と関連づけられた表示色が「オレンジ」である場合には、強調表示要素（点灯）および強調表示要素（点滅）はオレンジ色を用いて表示される。
【０１０１】
（表示されているＧＵＩ要素（テキスト）の文字列を変更させた場合の表示例）
つぎに、図９−８を用いて、表示されているＧＵＩ要素（テキスト）の文字列を変更させた場合の表示例について説明する。図９−８は、この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースに表示される具体的な表示例を示す説明図（その８）である。図９−８に示したように、ユーザインターフェース７００の表示ウィンドウ７０１には、検証対象となるソフトウェアに関するＧＵＩ画面９００が表示されている。また、ＧＵＩ画面９００には、ＧＵＩ要素としてテキストボックスのＧＵＩ要素９０５と、三角形のＧＵＩ要素９０２と、円形のＧＵＩ要素９０３とが表示されている。
【０１０２】
ここで、たとえば、テキストボックスのＧＵＩ要素９０５に表示されている文字列を変更させた場合、テキストボックスのＧＵＩ要素９０５に表示されている文字列が変更されるとともに、当該テキストボックスのＧＵＩ要素９０５を含む表示領域９０５ａが強調表示される。すなわち、テキストボックスのＧＵＩ要素９０５に表示されている文字列が所定の文字列に変更され、同時に、表示領域９０５ａに上述した強調表示要素（点灯）および強調表示要素（点滅）が表示される。また、図６で示したように、テキスト表示の変更と関連づけられた表示色が「ピンク」である場合には、強調表示要素（点灯）および強調表示要素（点滅）はピンク色を用いて表示される。なお、テキストボックスのＧＵＩ要素９０５に表示されている文字列が流れ文字機能を用いて変更された場合には、紫色を用いて表示される。
【０１０３】
（他のＧＵＩ要素の影響によってあらたにＧＵＩ要素が出現する場合の表示例）
つぎに、図９−９を用いて、非表示または移動するＧＵＩ要素の影響によってあらたなＧＵＩ要素が出現した場合の表示例について説明する。図９−９は、この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースに表示される具体的な表示例を示す説明図（その９）である。図９−９に示したように、ユーザインターフェース７００の表示ウィンドウ７０１には、検証対象となるソフトウェアに関するＧＵＩ画面９００が表示されている。また、ＧＵＩ画面９００には、ＧＵＩ要素として長方形のＧＵＩ要素９０１と、三角形のＧＵＩ要素９０２と、円形のＧＵＩ要素９０３とが表示されている。また、円形のＧＵＩ要素９０３の下には、星型のＧＵＩ要素９０６が配置されている。
【０１０４】
ここで、たとえば、円形のＧＵＩ要素９０３を非表示とした場合、円形のＧＵＩ要素９０３の下に配置されていた星型のＧＵＩ要素９０６が出現するとともに、星型のＧＵＩ要素９０６を含む表示領域９０６ａが強調表示される。すなわち、円形のＧＵＩ要素９０３が非表示となることによって星型のＧＵＩ要素９０６が出現し、同時に、表示領域９０６ａに上述した強調表示要素（点灯）および強調表示要素（点滅）が表示される。また、図６で示したように、ＧＵＩ要素の表示・非表示と関連づけられた表示色が「黄」である場合には、強調表示要素（点灯）および強調表示要素（点滅）は黄色を用いて表示される。なお、非表示とされた円形のＧＵＩ要素９０３を含む表示領域も強調表示することとしてもよい。
【０１０５】
（他のＧＵＩ要素の影響によってＧＵＩ要素が隠蔽される場合の表示例）
つぎに、図９−１０を用いて、出現または移動するＧＵＩ要素の影響によってＧＵＩ要素が隠蔽された場合の表示例について説明する。図９−１０は、この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースに表示される具体的な表示例を示す説明図（その１０）である。図９−１０に示したように、ユーザインターフェース７００の表示ウィンドウ７０１には、検証対象となるソフトウェアに関するＧＵＩ画面９００が表示されている。また、ＧＵＩ画面９００には、ＧＵＩ要素として長方形のＧＵＩ要素９０１と、三角形のＧＵＩ要素９０２と、星型のＧＵＩ要素９０６とが表示されている。
【０１０６】
ここで、たとえば、円形のＧＵＩ要素９０３を星型のＧＵＩ要素９０６上に表示させた場合、星型のＧＵＩ要素９０６は円形のＧＵＩ要素９０３の下に配置されて隠蔽されるとともに、星型のＧＵＩ要素９０６を含む表示領域９０６ａが強調表示される。すなわち、円形のＧＵＩ要素９０３が表示されることによって星型のＧＵＩ要素９０６が隠蔽され、同時に、表示領域９０６ａに上述した強調表示要素（点灯）および強調表示要素（点滅）が表示される。また、図６で示したように、ＧＵＩ要素の表示・非表示と関連づけられた表示色が「黄」である場合には、強調表示要素（点灯）および強調表示要素（点滅）は黄色を用いて表示される。なお、表示された円形のＧＵＩ要素９０３を含んだ表示領域も強調表示することとしてもよい。
【０１０７】
（ソフトウェア検証支援装置の具体的な処理手順（その１））
つぎに、この発明の実施の形態にかかるソフトウェア検証支援装置１００の具体的な処理手順を説明する。図１０は、この発明の実施の形態にかかるソフトウェア検証支援装置の具体的な処理手順を示すフローチャート（その１）である。図１０に示したフローチャートは、たとえば、検証者によってデバッグ開始が指示された場合に開始される。
【０１０８】
まず、この発明の実施の形態にかかるソフトウェア検証支援装置１００は、イベントが発生するまで待機する（ステップＳ１００１：Ｎｏのループ）。イベントとは、たとえば、検証をおこなうためにＧＵＩ処理を実行させる各種のコマンド（たとえば、上述した「開始」や「開始（ステップ実行」など）である。
【０１０９】
ステップＳ１００１において、イベントが発生したと判定された場合（ステップＳ１００１：Ｙｅｓ）には、つぎに、全ＧＵＩ要素の強調表示フラグをＯＦＦにする（ステップＳ１００２）。具体的には、ＧＵＩ画面上に強調表示された表示領域があるか否かを判定し、ＧＵＩ画面上に強調表示された表示領域があった場合には、該当する表示領域の強調表示を解除する。強調表示された表示領域がない場合には、そのまま、つぎのステップへと進む。
【０１１０】
ステップＳ１００２において、全ＧＵＩ要素の強調表示フラグをＯＦＦとしたのち、全ＧＵＩ要素の強調表示がＯＦＦとされたＧＵＩ画面を保存する（ステップＳ１００３）。
【０１１１】
ステップＳ１００３において、ＧＵＩ画面を保存したのち、未処理のＧＵＩ処理があるか否かを判定する（ステップＳ１００４）。また、たとえば、検証対象となるソフトウェアのＧＵＩ処理のうち、検証させるＧＵＩ処理の範囲（たとえば、１番目〜１０番目までのＧＵＩ処理）を指定させ、指定された範囲内において、未処理のＧＵＩ処理があるか否かを判定させることとしてもよい。
【０１１２】
ステップＳ１００４において、未処理のＧＵＩ処理があると判定された場合（ステップＳ１００４：Ｙｅｓ）には、検証対象となるソフトウェアのプログラムに基づいてＧＵＩ処理を実行する（ステップＳ１００５）。
【０１１３】
ステップＳ１００５において、検証対象となるソフトウェアのプログラムに基づいてＧＵＩ処理を実行されたのち、当該ＧＵＩ処理に関連したＧＵＩ要素を特定し、特定されたＧＵＩ要素の強調表示フラグをＯＮにする（ステップＳ１００６）。具体的には、図９−１を用いて説明したように、円形のＧＵＩ要素９０３を表示させるＧＵＩ処理であった場合には、関連したＧＵＩ要素として、あらたに表示された円形のＧＵＩ要素９０３が特定され、円形のＧＵＩ要素９０３を含む表示領域９０４の強調表示フラグがＯＮとされる。
【０１１４】
ステップＳ１００６において、関連したＧＵＩ要素が特定され、強調表示フラグがＯＮとされたのち、強調表示フラグがＯＮとなった状態のＧＵＩ画面を仮想ＶＲＡＭに描画する（ステップＳ１００７）。仮想ＶＲＡＭとは、レンダリングされたＧＵＩ画面をＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）へ転送する前に、一時的に記録するためのバッファ領域である。仮想ＶＲＡＭに描画したのち、ステップＳ１００４へ戻り、再び、未処理のＧＵＩ処理があるか否かを判定し、未処理のＧＵＩ処理がないと判定された場合には、仮想ＶＲＡＭに描画されたＧＵＩ画面をＶＲＡＭへ転送（ステップＳ１００８）し、一連の処理を終了する。
【０１１５】
（ソフトウェア検証支援装置の具体的な処理手順（その２））
また、この発明の実施の形態にかかるソフトウェア検証支援装置１００は、上述したステップ実行のコマンドを用いて、検証者の任意のタイミングで、１ステップずつＧＵＩ処理を実行させ、ＧＵＩ処理の実行にあわせて、関連するＧＵＩ要素を含んだ表示領域を強調表示することができる。
【０１１６】
図１１は、この発明の実施の形態にかかるソフトウェア検証支援装置の具体的な処理手順を示すフローチャート（その２）である。図１１に示したフローチャートは、たとえば、検証者によってデバッグ開始が指示された場合に開始される。なお、ここでは、図１０で示したフローチャートと同一の処理は、同一符号とし、説明を省略する。
【０１１７】
ステップＳ１００７において、強調表示フラグがＯＮとなった状態のＧＵＩ画面が仮想ＶＲＡＭに描画したのち、ステップ実行開始の指示が受け付けられたか否かを判定する（ステップＳ１１０１：Ｎｏのループ）。ステップ実行開始の指示を受け付けた場合（ステップＳ１１０１：Ｙｅｓ）には、強調表示フラグがＯＮとなった状態のＧＵＩ画面をＶＲＡＭへ転送し、ディスプレイ１０８上に表示したのち、ステップＳ１００４へ戻り、再び、未処理のＧＵＩ処理があるか否かを判定し、未処理のＧＵＩ処理がないと判定された場合には、そのまま一連の処理を終了する。
【０１１８】
（前回画面との比較）
また、この発明の実施の形態にかかるソフトウェア検証支援装置１００は、ＧＵＩ処理を実行する前のＧＵＩ画面を保存しておくことにより、ＧＵＩ処理を実行する前のＧＵＩ画面と、ＧＵＩ処理を実行した後のＧＵＩ画面とを並べて表示することができる。これにより、検証者は並べて表示されたＧＵＩ処理を実行する前のＧＵＩ画面と、ＧＵＩ処理を実行した後のＧＵＩ画面とを比較して、検証をおこなうことができる。
【０１１９】
図１２は、この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースに表示される具体的な表示例を示す説明図（その１１）である。図１２に示したように、ユーザインターフェース７００の表示ウィンドウ７０１には、検証対象となるソフトウェアに関するＧＵＩ画面９００が表示されている。
【０１２０】
このとき、検証者は、あらかじめ設定された所定の指示により、ＧＵＩ処理を実行する前のＧＵＩ画面をＧＵＩ画面９００と並べて表示させることができる。たとえば、上述したキーボード１１０に設けられた「Ｃｔｒｌキー」と「←キー」とを同時に押下することにより、ＧＵＩ処理を実行する前のＧＵＩ画面１２００が、ＧＵＩ画面９００の背面から左側方向に向かってスライドするように徐々に現れ、ＧＵＩ画面９００の左側に並んで表示される。ＧＵＩ処理を実行する前のＧＵＩ画面１２００には、ＧＵＩ要素として長方形のＧＵＩ要素９０１と、三角形のＧＵＩ要素９０２と、円形のＧＵＩ要素９０３とが表示されている。
【０１２１】
これにより、検証者は、ＧＵＩ処理を実行する前のＧＵＩ画面１２００と、ＧＵＩ処理を実行した後のＧＵＩ画面９００とを比較することにより、ＧＵＩ処理によって円形のＧＵＩ要素９０３が非表示とされたことを容易に確認することができる。
【０１２２】
また、ＧＵＩ処理を実行する前のＧＵＩ画面１２００は、ＧＵＩ画面に対し、たとえば、「Ｃｔｒｌキー」と「↑キー」では上側、「Ｃｔｒｌキー」と「↓キー」では下側といったように、表示される位置をあらかじめ設定しておくことができる。これにより、理検証者の任意の位置に、ＧＵＩ処理を実行する前のＧＵＩ画面１２００を表示させることができる。また、ＧＵＩ画面９００には強調表示がされることとして、当該強調表示とＧＵＩ処理を実行する前のＧＵＩ画面１２００とを同時に参照することにより、検証をおこなうことができるようにしてもよい。
【０１２３】
上述したように、この発明の実施の形態にかかるソフトウェア検証支援装置１００によれば、実行されたＧＵＩ処理に関連したＧＵＩ要素が特定され、特定されたＧＵＩ要素を含む表示領域が強調表示されるため、検証者は、実行されたＧＵＩ処理と当該ＧＵＩ処理に関連するＧＵＩ要素とを同時に検証することができ、ＧＵＩ処理とＧＵＩ要素との関連を同時に的確に知ることができるので、ソフトウェアの検証を正確かつ短時間でおこなうことができる。
【０１２４】
具体的には、この発明の実施の形態にかかるソフトウェア検証支援装置１００によれば、ＧＵＩ処理を実行することにより、消失したＧＵＩ要素や、あらたに出現するＧＵＩ要素や、文字列、色、形状、またはサイズが変化するＧＵＩ要素や、移動または回転するＧＵＩ要素などを含む表示領域が強調表示されるため、これらのＧＵＩ要素を同時に容易に検証することができる。
【０１２５】
また、この発明の実施の形態にかかるソフトウェア検証支援装置１００によれば、実行されたＧＵＩ処理の処理内容にあわせて、異なる表示色を用いて、強調表示させることにより、検証者はより直感的に、ＧＵＩ処理とＧＵＩ要素との関連を的確に知ることができるので、ソフトウェアの検証を正確かつ短時間でおこなうことができる。
【０１２６】
また、本実施の形態では、強調表示されるＧＵＩ要素として、ＧＵＩ処理が実行されることにより、直接的に変化のあったＧＵＩ要素としたが、これに限らない。たとえば、ＧＵＩ処理を実行することにより、消失または移動するＧＵＩ要素によって出現するＧＵＩ要素を含む表示領域が強調表示されることとしてもよい。
【０１２７】
また、ＧＵＩ処理を実行することにより、出現または移動するＧＵＩ要素に隠蔽されるＧＵＩ要素を含む表示領域が強調表示されることとしてもよい。これにより、ＧＵＩ処理を実行することにより変化のあったＧＵＩ要素の影響によって、間接的に変化させられた（たとえば、ＧＵＩ処理を実行することにより変化のあったＧＵＩ要素により遮蔽されることによって非表示とされた）他のＧＵＩ要素も強調表示とすることができる。
【０１２８】
これにより、検証者はＧＵＩ処理と当該ＧＵＩ処理によって間接的に影響のあるＧＵＩ要素との関連を的確に知ることができるので、ソフトウェアの検証を正確かつ短時間でおこなうことができる。また、隠蔽されたＧＵＩ要素を含む表示領域が強調表示されるため、隠蔽されたＧＵＩ要素も見落とすことなく、検証することができる。これにより、ソフトウェアから無駄なＧＵＩ要素を削減し、パフォーマンスを向上させることができる。
【０１２９】
また、この発明の実施の形態にかかるソフトウェア検証支援装置１００よれば、複数のＧＵＩ処理に対して、それぞれに対応するＧＵＩ要素を容易かつ同時に検証することができる。これにより、検証者は、それぞれのＧＵＩ処理とそれぞれのＧＵＩ要素との関連を的確に知ることができるので、ソフトウェアの検証を正確かつ短時間でおこなうことができる。
【０１３０】
また、この発明の実施の形態にかかるソフトウェア検証支援装置１００よれば、ステップ実行を用いて、ＧＵＩ処理が実行されたのち、検証者の任意のタイミングで他のＧＵＩ処理を実行させるため、検証者の任意のタイミングでソフトウェアの検証をおこなうことができる。これにより、ソフトウェアの検証を正確におこなうことができる。
【０１３１】
また、この発明の実施の形態にかかるソフトウェア検証支援装置１００では、強調表示を強調表示要素（点灯）と、強調表示要素（点滅）とを用いて表示することとしたが、これに限るものではない。強調表示は、検証者が容易に視認できればよく、それを満たすならば、表示の仕方は何でもよい。
【０１３２】
以上に説明したように、この発明にかかるソフトウェア検証支援装置、ソフトウェア検証支援方法、およびソフトウェア検証支援プログラムによれば、プログラムの妥当性の検証と関連づけてＧＵＩ画面の妥当性の検証を同時に実現することにより、検証者の労力軽減、開発期間の短縮、検証の高精度化を同時に図ることができる。
【０１３３】
なお、本実施の形態で説明したソフトウェア検証支援方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な媒体であってもよい。
【産業上の利用可能性】
【０１３４】
以上のように、本発明にかかるソフトウェア検証支援装置、ソフトウェア検証支援方法、およびソフトウェア検証支援プログラムは、ソフトウェアの検証を支援する際に有用であり、特に、ＧＵＩが採用されたソフトウェアの検証に適している。
【図面の簡単な説明】
【０１３５】
【図１】この発明の実施の形態にかかるソフトウェア検証支援装置のハードウェア構成を示すブロック図である。
【図２】この発明の実施の形態にかかるソフトウェア検証支援装置の機能的構成を示すブロック図である。
【図３】この発明の実施の形態にかかるソフトウェア検証支援装置の処理手順を示すフローチャートである。
【図４】この発明の実施の形態にかかるソフトウェア検証支援装置による強調表示を説明する説明図（その１）である。
【図５】この発明の実施の形態にかかるソフトウェア検証支援装置による強調表示を説明する説明図（その２）である。
【図６】ＧＵＩ処理の処理内容とそれに対応する表示色とを関連づけた状態を説明する説明図である。
【図７】この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースを示す説明図（その１）である。
【図８】この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースを示す説明図（その２）である。
【図９−１】この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースに表示される具体的な表示例を示す説明図（その１）である。
【図９−２】この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースに表示される具体的な表示例を示す説明図（その２）である。
【図９−３】この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースに表示される具体的な表示例を示す説明図（その３）である。
【図９−４】この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースに表示される具体的な表示例を示す説明図（その４）である。
【図９−５】この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースに表示される具体的な表示例を示す説明図（その５）である。
【図９−６】この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースに表示される具体的な表示例を示す説明図（その６）である。
【図９−７】この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースに表示される具体的な表示例を示す説明図（その７）である。
【図９−８】この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースに表示される具体的な表示例を示す説明図（その８）である。
【図９−９】この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースに表示される具体的な表示例を示す説明図（その９）である。
【図９−１０】この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースに表示される具体的な表示例を示す説明図（その１０）である。
【図１０】この発明の実施の形態にかかるソフトウェア検証支援装置の具体的な処理手順を示すフローチャート（その１）である。
【図１１】この発明の実施の形態にかかるソフトウェア検証支援装置の具体的な処理手順を示すフローチャート（その２）である。
【図１２】この発明の実施の形態にかかるソフトウェア検証支援装置のユーザインターフェースに表示される具体的な表示例を示す説明図（その１１）である。
【図１３】従来技術によるソフトウェアの検証の一例を示す説明図である。
【符号の説明】
【０１３６】
１００  ソフトウェア検証支援装置
２０１  表示部
２０２  実行部
２０３  特定部
２０４  表示制御部
【図１】
0005060996.tif 000002
【図２】
0005060996.tif 000003
【図３】
0005060996.tif 000004
【図４】
0005060996.tif 000005
【図５】
0005060996.tif 000006
【図６】
0005060996.tif 000007
【図７】
0005060996.tif 000008
【図８】
0005060996.tif 000009
【図９−１】
0005060996.tif 000010
【図９−２】
0005060996.tif 000011
【図９−３】
0005060996.tif 000012
【図９−４】
0005060996.tif 000013
【図９−５】
0005060996.tif 000014
【図９−６】
0005060996.tif 000015
【図９−７】
0005060996.tif 000016
【図９−８】
0005060996.tif 000017
【図９−９】
0005060996.tif 000018
【図９−１０】
0005060996.tif 000019
【図１０】
0005060996.tif 000020
【図１１】
0005060996.tif 000021
【図１２】
0005060996.tif 000022
【図１３】
0005060996.tif 000023