JP2002342119A - 画像形成装置用プログラム生成方法、画像形成装置用カバレージ測定方法、これらの方法をコンピュータに実行させるプログラム、カバレージ測定装置、カバレージ測定プログラムおよび情報記録媒体 - Google Patents

画像形成装置用プログラム生成方法、画像形成装置用カバレージ測定方法、これらの方法をコンピュータに実行させるプログラム、カバレージ測定装置、カバレージ測定プログラムおよび情報記録媒体

Info

Publication number
JP2002342119A
JP2002342119A JP2002019115A JP2002019115A JP2002342119A JP 2002342119 A JP2002342119 A JP 2002342119A JP 2002019115 A JP2002019115 A JP 2002019115A JP 2002019115 A JP2002019115 A JP 2002019115A JP 2002342119 A JP2002342119 A JP 2002342119A
Authority
JP
Japan
Prior art keywords
program
coverage
image forming
function
information
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.)
Pending
Application number
JP2002019115A
Other languages
English (en)
Inventor
Tsutomu Oishi
勉 大石
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2002019115A priority Critical patent/JP2002342119A/ja
Publication of JP2002342119A publication Critical patent/JP2002342119A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 画像形成装置で動作させるプログラムのすべ
ての箇所を通過したか否かを、画像形成装置に搭載され
る記憶容量の制限を受けることなく判定して、高品質な
画像形成装置用プログラムを開発すること。 【解決手段】 通過情報処理付加部313によって、ソ
ースファイル332の関数を実行した旨の通過情報を出
力する通過情報処理を、ソースファイル332のソース
コードに埋め込み、このソースコードから実行形式ファ
イル334を生成して、複合機500とNSFマウント
されたHD330に格納する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、コピー、プリン
タ、スキャナおよびファクシミリなどの画像形成処理に
かかるユーザサービスを提供する画像形成装置で動作す
るプログラムの品質向上のために、プログラムの所定箇
所を実行した旨の通過情報を出力する処理をプログラム
に埋め込んで実行形式ファイルを生成する画像形成装置
用プログラム生成方法、画像形成装置用プログラムの実
行により出力された通過情報を集計してカバレージ情報
を生成する画像形成装置用カバレージ測定方法、これら
の方法をコンピュータに実行させるプログラム、通過情
報を集計したカバレージ情報を生成するカバレージ測定
装置、カバレージ測定プログラム、情報記録媒体に関す
るものである。
【0002】
【従来の技術】近年、プリンタ、コピー、ファクシミ
リ、スキャナなどの各装置の機能を1つの筐体内に収納
した画像形成装置(以下、「複合機」という。)が一般
的に知られている。この複合機は、1つの筐体内に表示
部、印刷部および撮像部などを設けるとともに、プリン
タ、コピーおよびファクシミリ装置にそれぞれ対応する
3種類のソフトウェアを設け、ソフトウェアの切り替え
によって、当該装置をプリンタ、コピー、スキャナまた
はファクシミリ装置として動作させるものである。
【0003】このような複合機では、複合機上で動作す
るプログラムの品質を向上させるため、プログラムのど
の部分が実行されたかを計測することで、プログラムの
テストが十分かどうかを判定するテストカバレージを行
うことが重要となってくる。
【0004】このように、ソフトウェアの品質を管理す
るため、プログラムの所定箇所を実行した旨の通過情報
からカバレージ情報を生成するカバレージ測定装置、カ
バレージ測定プログラムの従来技術として、例えば特開
平2−25939号公報、特開平2−58136号公
報、特開平3−245243号公報、特開平5−282
177号公報などに開示されている。このような従来の
カバレージ測定装置、カバレージ測定プログラムでは、
以下のような処理を行うことが一般的である。
【0005】(a)プログラムをコンパイル・リンク
し、実行オブジェクトを生成する。 (b)テストパターンを生成する。 (c)テストパターンを用いてプログラムを実行させ、
通過情報を取得する。 (d)通過情報に基づいて通過率を算出する。 (e)通過情報に基づいてソースコードマーキング処理
を行う。 (f)ソースコード上の未通過部分を再検対し、テスト
パターンを作成する。 (g)手順(c)から繰り返す。 ここでの通過率の算出では、ファイル単位あるいは関数
単位での通過率をカバレージとして算出するのが一般的
である。
【0006】
【発明が解決しようとする課題】しかしながら、このよ
うな通過情報を出力する通過情報出力処理をソースコー
ドに埋め込んで実行形式プログラムを生成した場合、プ
ログラムサイズが通常のサイズの2〜3倍と過大となっ
てしまう。このため、複合機のように、各プログラムが
ROMに組み込まれている場合には、ROMの容量制限
のために、通過情報出力処理を埋め込んでプログラムを
ROMに搭載して実行することができず、複合機のデバ
ッグ作業を十分に行うことができないという問題があ
る。
【0007】このような従来の複合機では、プリンタ、
コピー、スキャナおよびファクシミリ装置に対応するソ
フトウェアをそれぞれ別個に設けているため、各ソフト
ウェアの開発に多大の時間を要する。このため、出願人
は、表示部、印刷部および撮像部などの画像形成処理で
使用されるハードウェア資源を有し、プリンタ、コピー
またはファクシミリなどの各ユーザサービスにそれぞれ
固有の処理を行うアプリケーションを複数搭載し、これ
らのアプリケーションとハードウェア資源との間に介在
して、ユーザサービスを提供する際に、アプリケーショ
ンの少なくとも2つが共通的に必要とするハードウェア
資源の管理、実行制御並びに画像形成処理を行う各種コ
ントロールサービスからなるプラットホームを備えた画
像形成装置(複合機)を発明した。この複合機によれ
ば、アプリケーションの少なくとも2つが共通的に必要
とするハードウェア資源の管理、実行制御並びに画像形
成処理を行うプラットホームを備えた構成とすることに
よって、ソフトウェア開発の効率化を図るとともに、装
置全体としての生産性を向上させることが可能となる。
【0008】このような新規な複合機では、アプリケー
ションのプロセスが機能ごとに複数存在するばかりか、
アプリケーションの少なくとも2つが共通的に必要とす
るサービスを提供するコントロールサービスのプロセス
が存在し、複合機内部には、従来の複合機に比べて非常
に多くのプロセスが動作している。しかも、かかる複合
機では、コントロールサービスのプロセスは、複数のア
プリケーションが共通に必要とするサービスを提供する
という位置づけにあるため、各コントロールサービスで
は多数のアプリケーションのプロセスとの間でデータ送
受信が発生する。また、アプリケーションのプロセスと
の間ばかりではなく、コントロールサービス同士のプロ
セス間においてもデータの送受信が生じる。
【0009】このように、出願人が発明をした新規な複
合機は、多数のプロセスが複雑に絡み合って協働すると
いう特徴的な構成となっているため、複合機の品質向上
のためにプログラムのすべての箇所を通過したか否かを
判定するテストカバレージを行うことは、従来の複合機
におけるプログラムに比べて、さらに重要な問題となっ
てくる。
【0010】また、かかる複合機は、アプリケーション
とコントロールサービスとを別個に設けており、複合機
の出荷後にユーザもしくは第三者であるサードベンダー
が新規なアプリケーションを開発して複合機に搭載可能
な構成となっている。このため、新規アプリケーション
の開発段階で、新規アプリケーションのプログラムに対
してテストカバレージを確実に行わなければならないと
いう、従来の複合機開発では問題にならなかった新規な
課題が生じている。
【0011】さらに、一般的にプログラムには数十から
数百の関数が含まれており、ある関数に着目してテスト
を行ったときに、その関数に対するテストがどれくらい
終了しているかを知りたいことがある。また、関数はそ
の中で別の関数を呼び出すことが多く、関数の連鎖関係
を追ってカバレージを算出する必要がある。また、関数
単位でカバレージを測定する場合、その関数が呼び出し
たすべての関数の通過情報を含めたカバレージの他に、
その関数だけのカバレージも当然必要となる。
【0012】この発明は上記に鑑みてなされたもので、
画像形成装置で動作させるプログラムのすべての箇所を
通過したか否かを、画像形成装置に搭載される記憶容量
の制限を受けることなく判定して、高品質な画像形成装
置用プログラムを開発することができる画像形成装置用
カバレージ測定方法およびこれらの方法をコンピュータ
に実行させるプログラムを得ることを目的とする。
【0013】また、この発明は、ある関数に着目してテ
ストを行ったときに、その関数に対するテストがどれく
らい終了しているかを知ることができるカバレージ測定
装置およびカバレージ測定プログラム並びに情報記録媒
体を得ることを目的とする。
【0014】
【課題を解決するための手段】上記目的を達成するた
め、請求項1にかかる発明は、画像形成処理で使用され
るハードウェア資源と、画像形成処理にかかるユーザサ
ービスにそれぞれ固有の処理を行うアプリケーションと
前記ハードウェア資源との間に介在し、前記ユーザサー
ビスを提供する際に、アプリケーションの少なくとも2
つが共通的に必要とする前記ハードウェア資源の獲得要
求、管理、実行制御並びに画像形成処理を行うコントロ
ールサービスとを備えた画像形成装置で動作する前記コ
ントロールサービスまたは前記アプリケーションのプロ
グラムを生成する画像形成装置用プログラム生成方法に
おいて、前記プログラムの所定の箇所を実行した旨の通
過情報を出力する通過情報処理を、前記プログラムのソ
ースコードに埋め込む通過情報処理付加ステップと、前
記通過情報処理付加ステップによって前記通過情報処理
が埋め込まれた前記ソースコードから実行形式ファイル
を生成し、生成された実行形式ファイルを前記画像形成
装置とネットワークを介してマウントされた記憶手段に
格納する実行ファイル生成ステップと、を含んだことを
特徴とする。
【0015】この請求項1にかかる発明によれば、通過
情報処理付加ステップによって、プログラムの所定の箇
所を実行した旨の通過情報を出力する通過情報処理を、
プログラムのソースコードに埋め込み、実行ファイル生
成ステップによって、この通過情報処理が埋め込まれた
ソースコードから実行形式ファイルを生成して、この実
行形式ファイルを画像形成装置とネットワークを介して
マウントされた記憶手段に格納することで、生成された
実行形式ファイルを実行することにより、通過情報が出
力されるので、デバッグ作業の終了度合いを明確に把握
することができ、不完全なデバッグ作業を防止して高品
質な画像形成装置を提供することができる。
【0016】また、このような通過情報処理をソースコ
ードに埋め込むことにより生成される実行形式プログラ
ムのサイズは膨大なものとなる。しかしながら、この請
求項1にかかる発明によれば、実行形式プログラムを画
像形成装置とネットワークを介してマウントされた記憶
手段に格納することで、画像形成装置のデバッグ作業を
ネットワーク経由で実行することが可能となり、記憶容
量の小さい画像形成装置においても、通過情報からテス
トの網羅度を示すカバレージ情報を生成することがで
き、不完全なデバッグ作業を防止してより高品質な画像
形成装置を提供することができる。
【0017】また、請求項2にかかる発明は、請求項1
に記載の画像形成装置用プログラム生成方法において、
前記通過情報は、前記ソースコードにおける通過箇所の
行数と通過回数とを示すものであり、前記通過情報処理
付加ステップは、プログラム実行開始時に前記通過回数
を記憶する領域を確保する処理と、プログラム実行の際
の前記通過箇所における通過回数を計数する処理と、前
記通過箇所の行数および計数された通過回数とを出力す
る処理とを、前記ソースコードに埋め込むことを特徴と
する。
【0018】この請求項2にかかる発明によれば、通過
情報処理付加ステップによって、プログラム実行開始時
に通過回数を記憶する領域を確保する処理と、プログラ
ム実行の際の通過箇所における通過回数を計数する処理
と、通過箇所の行数および計数された通過回数とを出力
する処理をソースコードに埋め込むことで、生成された
実行形式ファイルを実行することにより、計数された通
過回数が出力されるので、デバッグ作業の終了度合いを
通過回数によって明確に把握することができ、不完全な
デバッグ作業を防止してより高品質な画像形成装置を提
供することができる。
【0019】また、請求項3にかかる発明は、画像形成
処理で使用されるハードウェア資源と、画像形成処理に
かかるユーザサービスにそれぞれ固有の処理を行うアプ
リケーションと前記ハードウェア資源との間に介在し、
前記ユーザサービスを提供する際に、アプリケーション
の少なくとも2つが共通的に必要とする前記ハードウェ
ア資源の獲得要求、管理、実行制御並びに画像形成処理
を行うコントロールサービスとを備えた画像形成装置の
前記コントロールサービスまたは前記アプリケーション
のプログラムのテストの網羅度を示すカバレージ情報を
生成する画像形成装置用カバレージ測定方法において、
前記プログラムを前記画像形成装置とネットワークを介
してマウントされた記憶手段から実行することにより出
力された前記プログラムの所定の箇所を実行した旨の通
過情報を集計し、集計結果から前記カバレージ情報を生
成する集計ステップ、を含んだことを特徴とする。
【0020】この請求項3にかかる発明によれば、集計
ステップによって、プログラムを画像形成装置とネット
ワークを介してマウントされた記憶手段から実行するこ
とにより出力された通過情報を集計し、その集計結果か
らプログラムのテストの網羅度を示すカバレージ情報を
生成することで、記憶容量の小さい画像形成装置におい
ても、ネットワーク経由でカバレージ情報を利用したプ
ログラムのデバッグを行うことができ、不完全なデバッ
グ作業を防止してより高品質な画像形成装置を提供する
ことができる。
【0021】また、請求項4にかかる発明は、請求項3
に記載の画像形成装置用カバレージ測定方法において、
前記集計ステップは、前記プログラムの中の関数の実行
により出力された前記通過情報と、前記関数の実行によ
り呼び出される他のすべての関数の実行により出力され
た前記通過情報とを集計して、前記カバレージ情報を生
成することを特徴とする。
【0022】この請求項4にかかる発明によれば、集計
ステップによって、プログラムの中の関数の実行により
出力された通過情報と、関数の実行により呼び出される
他のすべての関数の実行により出力された通過情報とを
集計して、カバレージ情報を生成することで、関数がそ
の中で別の関数を呼び出している場合に、関数の連鎖関
係を追ってカバレージを算出することができるので、あ
る関数に着目してデバッグを行ったときに、その関数に
対するデバッグの終了度合いを把握することができ、不
完全なデバッグ作業を防止してより高品質な画像形成装
置を提供することができる。
【0023】また、請求項5にかかる発明は、請求項3
または4に記載の画像形成装置用カバレージ測定方法に
おいて、前記集計ステップにより生成された前記カバレ
ージ情報に基づいて、前記プログラムのソースコードの
前記カバレージ情報の対応箇所に通過マークを累積的に
付加するマーク付加ステップ、をさらに含んだことを特
徴とする。
【0024】この請求項5にかかる発明によれば、マー
ク付加ステップによって、集計ステップにより生成され
たカバレージ情報に基づいてプログラムのソースコード
のカバレージ情報の対応箇所に通過マークを累積的に付
加することで、過去のプログラム実行による通過マーク
と、今回のプログラム実行による通過マークとが累積的
に付加されて、デバッグ作業全体の終了度合いを総合的
に把握することができ、より高品質な画像形成装置を提
供することができる。
【0025】また、請求項6にかかる発明は、請求項5
に記載の画像形成装置用カバレージ測定方法において、
前記マーク付加ステップは、前記通過マークを、前記ソ
ースコードのコメント箇所に付加することを特徴とす
る。
【0026】この請求項6にかかる発明によれば、マー
ク付加ステップによって、通過マークをソースコードの
コメント箇所に付加することで、通過マークのソースコ
ードへの付加によってソースファイルを再コンパイルす
る必要がなくなり、デバッグ作業を効率的に行うことが
できる。
【0027】また、請求項7にかかる発明は、請求項1
〜6のいずれか一つに記載された方法をコンピュータに
実行させるプログラムであるので、請求項1〜6のいず
れか一つの動作をコンピュータによって実行することが
できる。
【0028】また、請求項8にかかる発明は、プログラ
ムの実行によって、前記プログラムの中の関数およびそ
の関数によって呼び出されたすべての関数を実行した旨
の通過情報を集計して、集計結果から前記プログラムの
テストの網羅度を示すカバレージ情報を生成する集計手
段と、前記集計手段によって生成されたカバレージ情報
を表示する表示手段と、を備えたことを特徴とするカバ
レージ測定装置にかかるものである。
【0029】この請求項8にかかる発明によれば、集計
手段によって、プログラムの中の関数およびその関数に
よって呼び出されたすべての関数を実行した旨の通過情
報を集計して、集計結果からプログラムのテストの網羅
度を示すカバレージ情報を生成し、表示手段によって、
生成されたカバレージ情報を表示することで、関数がそ
の中で別の関数を呼び出している場合に、関数の連鎖関
係を追ってカバレージを算出することができるので、あ
る関数に着目してデバッグを行ったときに、その関数に
対するデバッグの終了度合いを把握することができ、不
完全なデバッグ作業を防止して高品質なソフトウェアを
提供することができる。
【0030】また、請求項9にかかる発明は、請求項8
に記載のカバレージ測定装置において、前記表示手段
は、前記プログラムの中の関数の前記カバレージ情報
と、前記呼び出されたすべての関数の前記カバレージ情
報とを、別個に表示することを特徴とする。
【0031】この請求項9にかかる発明によれば、表示
手段によって、プログラムの中の関数のカバレージ情報
と、呼び出されたすべての関数のカバレージ情報とを、
別個に表示することで、その関数が呼び出したすべての
関数の通過情報を含めたカバレージの他に、その関数だ
けのカバレージも同時に表示することができるので、関
数自体のデバッグの十分性と、その関数およびその関数
から呼ばれるすべての関数を含めたデバッグの十分性の
両方を評価することができ、より高品質なソフトウェア
を提供することができる。
【0032】また、請求項10にかかる発明は、プログ
ラムの実行によって、前記プログラムの中の関数および
その関数によって呼び出されたすべての関数を実行した
旨の通過情報を集計して、集計結果から前記プログラム
のテストの網羅度を示すカバレージ情報を生成する集計
ステップと、前記集計ステップによって生成されたカバ
レージ情報を表示する表示ステップと、をコンピュータ
に実行させるカバレージ測定プログラムにかかるもので
ある。
【0033】この請求項10にかかる発明によれば、集
計ステップによって、プログラムの実行によって、プロ
グラムの中の関数およびその関数によって呼び出された
すべての関数を実行した旨の通過情報を集計して、集計
結果からプログラムのテストの網羅度を示すカバレージ
情報を生成し、表示ステップによって、生成されたカバ
レージ情報を表示することで、関数がその中で別の関数
を呼び出している場合に、関数の連鎖関係を追ってカバ
レージを算出することができるので、ある関数に着目し
てデバッグを行ったときに、その関数に対するデバッグ
の終了度合いを把握することができ、不完全なデバッグ
作業を防止して高品質なソフトウェアを提供することが
できる。
【0034】また、請求項11にかかる発明は、請求項
10に記載のカバレージ測定プログラムにおいて、前記
表示ステップは、前記プログラムの中の関数の前記カバ
レージ情報と、前記呼び出されたすべての関数の前記カ
バレージ情報とを、別個に表示することをコンピュータ
に実行させることを特徴とする。
【0035】この請求項11にかかる発明によれば、表
示ステップによって、プログラムの中の関数のカバレー
ジ情報と、呼び出されたすべての関数のカバレージ情報
とを、別個に表示することで、その関数が呼び出したす
べての関数の通過情報を含めたカバレージの他に、その
関数だけのカバレージも同時に表示することができるの
で、関数自体のデバッグの十分性と、その関数およびそ
の関数から呼ばれるすべての関数を含めたデバッグの十
分性の両方を評価することができ、より高品質なソフト
ウェアを提供することができる。
【0036】また、請求項12にかかる発明は、請求項
10または11に記載のカバレージ測定プログラムを記
録したコンピュータ読み取り可能な情報記録媒体である
ので、請求項10または11の動作をコンピュータによ
って実行することができる。
【0037】
【発明の実施の形態】以下に添付図面を参照して、この
発明にかかる画像形成装置用プログラム生成方法、画像
形成装置用カバレージ測定方法、これらの方法をコンピ
ュータに実行させるプログラム、カバレージ測定装置、
カバレージ測定プログラムおよび情報記録媒体の好適な
実施の形態を詳細に説明する。
【0038】(実施の形態1)この発明の実施の形態1
にかかるカバレージ測定装置およびカバレージ測定プロ
グラムは、入力されるソースコードに記述された関数に
対して、通過情報を出力し、その通過情報を集計したカ
バレージを出力するというテストカバレージを行うもの
である。一般的にテストカバレージでの通過情報を取得
するには以下のような手順による処理が行われる。
【0039】1.プログラムをコンパイルし、実行オブ
ジェクトを生成する。 2.テストパターンを生成する。 3.テストパターンを用いてプログラムを実行させ、通
過情報を取得する。 4.通過情報に基づいて通過率を算出し、カバレージと
して出力する。 5.通過情報に基づいてソースコードマーキング処理を
行う。 6.ソースコード上の未通過部分を再検対し、テストパ
ターンを作成する。 7.手順3.から繰り返す。
【0040】以下に一般的な通過情報を取得するための
処理について説明する。図1は実施の形態1にかかるカ
バレージ測定装置に入力するソースコードの一例を示す
説明図である。
【0041】コンパイラにこのプログラムが入力される
と、まずパーサと呼ばれる構文解析器がC言語の文法に
基づいて構文解析を行う。具体的にはこのプログラムに
含まれている関数名や変数名とその型の解釈や、代入
文、if/elseやwhle/forの解析なども行
う。解析が終了したら、行単位でマシン語に変換され
る。このプログラムが実行を始める前に、このプログラ
ムが含む行数分のカウンタ(メモリ)をあらかじめ確保
して、そのカウンタの中身を0にクリアする処理を追加
しておく。
【0042】また、各行が翻訳されたマシン語の前に、
その行に対応するカウンタの中身を1増やす処理を追加
しておく。これにより、ソースレベルで1行処理される
ごとにその行に対応するカウンタが1増えることにな
る。このようにして、通過情報を得る。
【0043】プログラムが終了する直前に、この一連の
カウンタの内容をあらかじめ決められたファイルに出力
することにより、通過情報が取得できる。例えば上記の
ようなフォーマットでは、行単位の通過情報で、ファイ
ル名、行番号、関数とこの行に対する通過回数からなっ
ている。この通過情報を元にファイル単位あるいは関数
単位のカバレージを算出する。ここで、カバレージと
は、プログラムをデバッグする際に、プログラムのテス
トの網羅度を示すものであり、プログラム実行により、
ソースコードの中で指定した箇所の通過率を算出してカ
バレージとしたり、前記指定箇所の通過回数のみをカバ
レージとしたり、通過率と通過回数の双方をカバレージ
とすることができる。
【0044】テスト全体としての指標としてであれば、
ファイル単位あるいは関数単位のカバレージを求めるだ
けでも十分である。しかしながら、ある関数に着目し
て、その関数から呼び出される関数をも含めて、その関
数に対するテストの指標を得るには、ファイル単位ある
いは関数単位のカバレージだけでは十分とは言えない。
【0045】そこで、あらかじめ関数の呼び出し関係を
検索しておき、この呼び出し関係に基づいて関数リスト
を作成する。この関数リストに基づいて、カバレージを
算出すれば、ある関数について、どれくらいテストが終
わっているかを客観的に評価することができる。
【0046】ここで、ある関数から呼ばれる関数のリス
トを作成する場合、FreeBSD−4.0などに添付
されているcflowを利用することで得ることができ
る。図1の例に示すソースコードに対してcflowを
実行したときの出力結果を以下に示す。 1.main{file.c 9} 2. func1{file.c 5} 3. func2{file.c 2} ここで、各行は、関数名{ファイル名 行番号}の形式
で出力される。例えば、main{file.c 9}
は、mainという関数はfile.cというファイル
の9行目に存在していることを意味する。そして、かか
る出力結果は、mainという関数はfunc1という
関数を呼び出しており、func1はfunc2を呼び
出していることを示している。
【0047】ある関数に着目して、その関数から呼び出
される関数をも含めて、その関数についてのカバレージ
を算出する手順を以下に示す。 1.ある関数と、この関数から呼ばれる関数のリストを
作成する。 2.通過情報から関数単位のカバレージを算出する。 3.関数リスト記載の関数について、それ自身とその関
数が呼び出している関数のカバレージを加算し算出す
る。 4.関数のリストに関数自身のカバレージとその関数が
呼び出しているすべての関数の累積カバレージを追加表
記する。
【0048】下記に処理結果の例を示す。 1.main{file.c 9} 80% 56% 2. func1{file.c 5} 20% 30% 3. func2{file.c 2} 100% 100%
【0049】このように、関数mainのカバレージ
と、関数mainから呼び出される関数func1のカ
バレージと、関数func1から呼び出される関数fu
nc2のカバレージとが別々に表示されている。
【0050】関数名のあとに2つの100分率による数
字が示されているが、前者の数字が関数自体の通過率を
示し、後者の数字が、関数とその関数が呼び出している
すべての関数の通過率の合計を示している。
【0051】図2は、実施の形態1にかかるカバレージ
測定装置のハードウェア構成を示すブロック図である。
実施の形態1にかかるカバレージ測定装置は、CPU1
01と、ROM102と、RAM103と、スキャナ1
04と、CRTやプリンタエンジン(印字装置)などの
出力装置105と、ハードディスクドライブ(HDD)
106と、CD−ROMメディア109の入力を制御す
るCD−ROMドライブ107と、キーボードやマウス
などの入力装置108とが、バス110で接続された構
成となっている。ここで、CD−ROMメディア109
は、本発明における情報記憶媒体を構成するものであ
り、上記の手順をコンピュータに実行させるプログラム
が記録されている。
【0052】このように実施の形態1にかかるカバレー
ジ測定装置では、プログラムの実行によって、プログラ
ムの中の関数およびその関数によって呼び出されたすべ
ての関数を実行した旨の通過情報を集計して、プログラ
ムのテスト網羅度を示すカバレージを表示しているの
で、関数がその中で別の関数を呼び出している場合に、
関数の連鎖関係を追ってカバレージを表示することがで
きる。このため、ある関数に着目してデバッグを行った
ときに、その関数に対するデバッグの終了度合いを把握
することができ、高品質なソフトウェアを提供すること
ができる。
【0053】また、実施の形態1にかかるカバレージ測
定装置では、プログラムの中の関数のカバレージと、そ
の関数から呼び出されたすべての関数のカバレージとを
別々に表示しているので、その関数が呼び出したすべて
の関数を含めたカバレージの他に、その関数だけのカバ
レージも同時に表示することができ、関数自体のデバッ
グの十分性と、その関数およびその関数から呼ばれるす
べての関数を含めたデバッグの十分性の両方を評価する
ことができ、より高品質なソフトウェアを提供すること
ができる。
【0054】(実施の形態2)実施の形態1にかかるカ
バレージ測定装置およびカバレージ測定プログラムは、
一般的なプログラムのデバッグ作業においてカバレージ
を測定するものであったが、この実施の形態2では、画
像形成装置で動作するプログラムを開発する際のデバッ
グ作業で行われるカバレージの測定に関するものであ
る。実施の形態2では、画像形成装置(以下、「複合
機」という。)で動作させる新規アプリケーションを開
発する場合、デバッグ用PC(Personal Co
mputer)によってアプリケーションのソースファ
イルを作成する。そして、アプリケーション開発のため
にCD−ROMなどの記録媒体で提供されるアプリ開発
キットをデバッグ用PCにインストールして、作成した
ソースファイルを、デバッグ用PCでコンパイル、リン
クして複合機で実行可能なアプリケーションの実行形式
ファイルを生成している。
【0055】図3は、実施の形態2であるデバッグ用P
C300のソフトウェア構成を示すブロック図である。
この図3では、アプリ開発キットをデバッグ用PC30
0のハードディスク(HD)330にインストールした
状態を示している。実施の形態2にかかるデバッグ用P
C300は、複合機で動作させるための新規アプリケー
ションのソースファイルをコンパイルおよびリンクし
て、新規アプリーションの実行形式プログラムを生成す
るものである。実施の形態2にかかるデバッグ用PC3
00は、図3に示すように、カバレージ機能付きコンパ
イラ310と、リンカ320と、カバレージ処理部34
0と、HD330とから構成される。
【0056】カバレージ機能付きコンパイラ310は、
ハードディスク(HD)330に格納された新規アプリ
ケーションのソースコードが記述されたソースファイル
332を、コマンドの指定に従って、オブジェクトコー
ドからなるオブジェクトファイル333を生成するもの
である。カバレージ機能付きコンパイラ310は、図3
に示すように、コマンド解析部311と、構文解析部3
12と、通過情報処理付加部313と、コード生成部3
14とから構成される。
【0057】HD(ハードディスク)330には、アプ
リケーション開発用のアプリ開発キット331がインス
トールされている。また、HD330にアプリケーショ
ンのC言語ソースコードが記述されたソースファイル3
32が格納される。このソースファイル332は、デバ
ッグ用PC300でエディタによって作成される。ま
た、HD330には、カバレージ機能付きコンパイラ3
10によって、オブジェクトファイル333が生成さ
れ、さらにリンカ320によってアプリケーションの実
行形式ファイル334が生成される。
【0058】カバレージ機能付きコンパイラ310のコ
マンド解析部311は、ユーザからキーボードなどの入
力装置によって入力されたコマンドのパラメータや構文
の解析を行って、入力されたコマンドが文法的に正確か
否かを判断するものである。
【0059】構文解析部312は、HD330に格納さ
れたアプリケーションのソースファイル332を入力し
て、ソースファイル332に記述されたC言語ソースコ
ードを、C言語文法に従って解析し、導出木や構文木な
どを生成するものであり、通常のコンパイラにおける構
文解析と同様の処理を行う。
【0060】通過情報処理付加部313は、ユーザから
のコマンドのオプションパラメータによる指定によっ
て、ソースコードにプログラム実行によって実行された
旨を示す通過情報を出力する処理(通過情報処理)を追
加するものである。この通過情報は、ソースコードの関
数ごとに通過回数をカウントしたものである。通過情報
処理付加部313がソースコードに付加する通過情報処
理は、具体的には、ソースコードの先頭に通過回数を示
すカウンタのためのカウンタ領域の確保および当該領域
の初期化処理、ソースコードの関数ごとにカウンタを、
通過するごとに1づつ増加する処理(インクリメント処
理)、カウンタ値をファイル名および行数とともに出力
する処理、プログラムの最終部分でカウンタ領域を解放
する処理である。
【0061】コード生成部314は、構文解析されたソ
ースファイル332を、オブジェクトコードからなるア
プリケーションのオブジェクトファイル333を生成す
るものである。
【0062】リンカ320は、コード生成部314によ
って生成されたオブジェクトファイル333と、アプリ
開発キット331の中のコントロールサービス関数ライ
ブラリおよび標準関数ライブラリとをリンク(結合)し
て、複合機500およびコンピュータのOS上で実行可
能なアプリケーションの実行形式ファイル334を生成
するものである。
【0063】カバレージ処理部340は、HD330に
インストールされたカバレージツールを実行したときに
RAM403に生成される。このカバレージ処理部34
0は、集計部341と、マーク付加部342とから構成
される。
【0064】集計部341は、実行形式ファイル334
を実行することにより出力される通過情報を、関数およ
びその関数が呼び出している関数を1グループとして集
計して、集計結果としてカバレージを生成するものであ
る。カバレージは、具体的には、関数ごとに、ファイル
名、行数、通過回数(集計値)、通過率および呼び出さ
れる関数全体の通過率合計を示すものである。
【0065】マーク付加部342は、このカバレージか
ら、ソースファイル332のソースコードの該当する行
に、通過回数をコメントとして付加するものである。す
でに、通過回数が記述されている場合には、新たな通過
回数を加算して付加する。
【0066】アプリ開発キット331は、CD−ROM
またはフレキシブルディスク(FD)などの記録媒体に
インストール可能な形式で提供され、デバッグ用PC3
00のHD330にインストールされる。このアプリ開
発キット331の中には、図3に示すように、各コント
ロールサービスごとに、提供するサービス関数を登録し
たコントロールサービス関数ライブラリ(たとえば、E
CS関数ライブラリ、MCS関数ライブラリなど)と、
strcpy、memcpyなどのC言語標準関数を登
録した標準関数ライブラリと、アプリケーションとコン
トロールサービスに共通で使用される関数宣言やメッセ
ージ宣言が記述されているヘッダファイルと、カバレー
ジ機能付きコンパイラ310のプログラムと、リンカ3
20のプログラムと、カバレージツールのプログラム
と、汎用OSプログラムと、デバッガなどのデバッグ用
ユーティリティとが含まれている。
【0067】上記カバレージ機能付きコンパイラ310
の各部、リンカ320およびカバレージ処理部340
は、このアプリ開発キットをインストールして、カバレ
ージ機能付きコンパイラプログラム、リンカプログラム
およびカバレージツールをそれぞれ実行したときに、R
AM403上に生成されて実行される。
【0068】なお、実施の形態2では、アプリ開発キッ
トを記録媒体で提供することとしているが、このような
実行可能な形式またはインストール可能な形式のファイ
ルを、ネットワーク経由でダウンロードすることにより
提供するように構成しても良い。
【0069】図4は、実施の形態2にかかるデバッグ用
PC300のハードウェア構成およびデバッグ環境のネ
ットワーク構成を示すブロック図である。図4に示すよ
うに、このデバッグ用PC300は、CPUなどの制御
装置404と、RAM(Random Access
Memory)403と、HD(ハードディスク)33
0と、ディスプレイ装置などの表示装置402と、キー
ボードやマウスなどの入力装置401と、LANボード
やモデムなどの通信装置406と、CD−ROMなどの
記録媒体のリード制御を行うCDドライブ装置などの外
部記憶装置405とを備えており、PC(Person
al Computer)、ワークステーションなどの
コンピュータを利用した通常の構成である。
【0070】このデバッグ用PC300は、イーサネッ
ト(登録商標)408などのネットワークによって複合
機500と接続されており、LAN環境が構築されてい
る。複合機500には、複合機500の起動を制御した
り、エラー表示のためのコンソールPC407がケーブ
ルによって接続されている。また、図4に示すように、
複合機500は、その起動時に、自己のファイルシステ
ムにデバッグ用PC300のHD330のファイルシス
テムをNFS(Network File Syste
m)によってマウントし、デバッグ用PC300のファ
イルシステムを、仮想的に複合機500のファイルシス
テムに統合するようになっている。従って、このデバッ
グ用PC300のHD330は、本発明における記憶手
段を構成する。
【0071】次に、デバッグ対象である複合機500に
ついて説明する。図5は、複合機500の機能的構成を
示すブロック図である。図5に示すように、複合機50
0は、白黒ラインプリンタ(B&W LP)501と、カラー
ラインプリンタ(Color LP)502と、スキャナ、ファ
クシミリ、ハードディスク(HD)、メモリ、ネットワ
ークインタフェースなどのハードウェアリソース503
を有するとともに、プラットホーム520とアプリケー
ション530とから構成されるソフトウェア群510と
を備えている。
【0072】プラットホーム520は、アプリケーショ
ン530からの処理要求を解釈してハードウェア資源の
獲得要求を発生させるコントロールサービスと、一また
は複数のハードウェア資源の管理を行い、コントロール
サービスからの獲得要求を調停するシステムリソースマ
ネージャ(SRM)523と、汎用OS521とを備え
ている。
【0073】コントロールサービスは、複数のサービス
モジュールから形成され、SCS(システムコントロー
ルサービス)522と、ECS(エンジンコントロール
サービス)524と、MCS(メモリコントロールサー
ビス)525と、OCS(オペレーションパネルコント
ロールサービス)526と、FCS(ファックスコント
ロールサービス)527と、NCS(ネットワークコン
トロールサービス)528とから構成される。なお、こ
のプラットホーム520は、あらかじめ定義された関数
により前記アプリケーション530から処理要求を受信
可能とするアプリケーションプログラムインタフェース
(API)を有する。
【0074】汎用OS521は、UNIX(登録商標)
などの汎用オペレーティングシステムであり、プラット
ホーム520並びにアプリケーション530の各ソフト
ウェアをそれぞれプロセスとして並列実行する。
【0075】SRM523のプロセスは、SCS522
とともにシステムの制御およびリソースの管理を行うも
のである。SRM523のプロセスは、スキャナ部やプ
リンタ部などのエンジン、メモリ、HDDファイル、ホ
ストI/O(セントロI/F、ネットワークI/F、I
EEE1394 I/F、RS232C I/Fなど)
のハードウェア資源を利用する上位層からの要求に従っ
て調停を行い、実行制御する。
【0076】具体的には、このSRM523は、要求さ
れたハードウェア資源が利用可能であるか(他の要求に
より利用されていないかどうか)を判断し、利用可能で
あれば要求されたハードウェア資源が利用可能である旨
を上位層に伝える。また、SRM523は、上位層から
の要求に対してハードウェア資源の利用スケジューリン
グを行い、要求内容(例えば、プリンタエンジンにより
紙搬送と作像動作、メモリ確保、ファイル生成など)を
直接実施している。
【0077】SCS522のプロセスは、アプリ管理、
操作部制御、システム画面表示、LED表示、リソース
管理、割り込みアプリ制御などを行う。
【0078】ECS524のプロセスは、白黒ラインプ
リンタ(B&W LP)501、カラーラインプリンタ(Colo
r LP)502、スキャナ、ファクシミリなどからなるハ
ードウェアリソース503のエンジンの制御を行う。
【0079】MCS525のプロセスは、画像メモリの
取得および解放、ハードディスク装置(HDD)の利
用、画像データの圧縮および伸張などを行う。
【0080】FCS527のプロセスは、システムコン
トローラの各アプリ層からPSTN/ISDN網を利用
したファクシミリ送受信、BKM(バックアップSRA
M)で管理されている各種ファクシミリデータの登録/
引用、ファクシミリ読みとり、ファクシミリ受信印刷、
融合送受信を行うためのAPIを提供する。
【0081】NCS528のプロセスは、ネットワーク
I/Oを必要とするアプリケーションに対して共通に利
用できるサービスを提供するためのプロセスであり、ネ
ットワーク側から各プロトコルによって受信したデータ
を各アプリケーションに振り分けたり、アプリケーショ
ンからデータをネットワーク側に送信する際の仲介を行
う。具体的には、ftpd、httpd、lpd、snmpd、telnetd、
smtpdなどのサーバデーモンや、同プロトコルのクライ
アント機能などを有している。
【0082】OCS526は、オペレータ(ユーザ)と
本体制御間の情報伝達手段となるオペレーションパネル
(操作パネル)の制御を行う。OCS526は、オペレ
ーションパネル610からキー押下をキーイベントとし
て取得し、取得したキーに対応したキーイベント関数を
SCS522に送信するOCSプロセスの部分と、アプ
リケーション530またはコントロールサービスからの
要求によりオペレーションパネル610に各種画面を描
画出力する描画関数やその他オペレーションパネルに対
する制御を行う関数などがあらかじめ登録されたOCS
ライブラリの部分とから構成される。このOCSライブ
ラリは、アプリケーション530およびコントロールサ
ービスの各モジュールにリンクされて実装されている。
なお、OCS526のすべてをプロセスとして動作させ
るように構成しても良く、あるいはOCS526のすべ
てをOCSライブラリとして構成しても良い。
【0083】アプリケーション530は、ページ記述言
語(PDL)、PCLおよびポストスクリプト(PS)
を有するプリンタ用のアプリケーションであるプリンタ
アプリ511と、コピー用アプリケーションであるコピ
ーアプリ512と、ファクシミリ用アプリケーションで
あるファックスアプリ513と、スキャナ用アプリケー
ションであるスキャナアプリ514と、ネットワークフ
ァイル用アプリケーションであるネットファイルアプリ
515と、工程検査用アプリケーションである工程検査
アプリ516とを有している。これらのアプリケーショ
ン530はいずれも複合機500の起動時に後述する複
合機初期化部700によってプロセスとして生成され、
動作する。
【0084】アプリケーション530の各プロセス、コ
ントロールサービスの各プロセスは、関数呼び出しとそ
の戻り値送信およびメッセージの送受信によってプロセ
ス間通信を行いながら、コピー、プリンタ、スキャナ、
ファクシミリなどの画像形成処理にかかるユーザサービ
スを実現している。
【0085】このように、実施の形態1にかかる複合機
500には、複数のアプリケーション530および複数
のコントロールサービスが存在し、いずれもプロセスと
して動作している。そして、これらの各プロセス内部に
は、一または複数のスレッドが生成されて、スレッド単
位の並列実行が行われる。そして、コントロールサービ
スがアプリケーション530に対し共通サービスを提供
しており、このため、これらの多数のプロセスが並列動
作、およびスレッドの並列動作を行って互いにプロセス
間通信を行って協調動作をしながら、コピー、プリン
タ、スキャナ、ファクシミリなどの画像形成処理にかか
るユーザサービスを提供するようになっている。そし
て、複合機500には、サードベンダーなどの第三者が
コントロールサービス層の上のアプリケーション層に新
規なアプリケーションを開発して搭載することが可能と
なっている。
【0086】図6は、図5に示した実施の形態2の複合
機500のハードウェア構成図である。図6に示すよう
に、この複合機500は、CPU602、SDRAM6
03、SRAM608、フラッシュメモリ604、フラ
ッシュカードインタフェース部606およびHD605
などをASIC601に接続したコントローラボード6
00と、オペレーションパネル610と、ファックスコ
ントロールユニット(FCU)620と、USB630
と、IEEE1394 640と、プリンタ650とから構
成されている。オペレーションパネル610はASIC
601に直接接続され、FCU620、USB630、
IEEE1394 640およびプリンタ650はPCIバ
スを介してASIC601に接続されている。
【0087】フラッシュカードインタフェース部606
は、フラッシュカード607を挿入して、フラッシュカ
ード607とデータのやりとりを行うインタフェースで
ある。
【0088】フラッシュメモリ(以下、「フラッシュR
OM」という。)604には、上述の各アプリ、プラッ
トホーム520を構成する各コントロールサービスやS
RM523の各プログラム、起動するコントロールサー
ビスおよびアプリを指定したコンフィグレーションファ
イルが格納されている。なお、フラッシュROM604
内のコンフィグレーションファイルは、複合機500の
起動時に参照されるが、複合機500のネットワークブ
ート時には、ネットワークに接続されたデバッグ用PC
300のHD330に格納されたコンフィグレーション
ファイルが参照される。
【0089】オペレーションパネル610は、利用者の
キー入力、ボタン押下などのキー操作を入力する操作部
と、ボタン、ウィンドウ、各種画面などの描画データを
表示する表示部とから構成されている。
【0090】図7は、複合機500の起動時に実行され
る複合機初期化部700の構成を示すブロック図であ
る。複合機初期化部700は、ROMモニタ701とプ
ログラム起動部702とから構成される。ROMモニタ
701は、ハードウェアの初期化、コントローラボード
600の診断、ソフトウェアの初期化、汎用OS521
の起動などを行う。
【0091】プログラム起動部702は、汎用OS52
1から呼び出されるものであり、コンフィグレーション
ファイルを参照して、コンフィグレーションファイルに
指定されているコントロールサービスとアプリを、フラ
ッシュROM604から読み出して複合機500上で起
動するものである。また、コントローラボード600の
ディップスイッチがネットワークブート側に設定された
状態で複合機500が電源投入された場合には、プログ
ラム起動部702は、ネットワーク上のデバッグ用PC
300のHD330のファイルシステムを、NFSによ
ってマウントし、マウントされたネットワーク上のHD
330に格納されているコンフィグレーションファイル
を参照する。そして、コンフィグレーションファイルで
指定されたコントロールサービスとアプリケーション5
30、およびNFSマウントされたHD330の中のア
プリの実行形式ファイル334を起動する。
【0092】次に、以上のように構成されたデバッグ用
PC300におけるカバレージ機能を使用したプログラ
ム生成処理について説明する。まず、デバッグ作業を行
うユーザはデバッグ用PC300において、エディタな
どの編集ツールによって新規アプリのソースコードを記
述しソースファイル332を生成して、HD330に格
納する。
【0093】ここで、新規アプリは任意の機能を持たせ
ることができるが、例えば、以下のような機能を新規ア
プリの一部または全部の機能とすることが考えられる。
オペレーションパネル610の操作部表示画面の設計、
スキャナから読み取ったデータのファイル保存、HD6
05上の画像データの加工および編集、プロッタを利用
した印刷、機器状態の通知要求および通知、イーサネッ
ト(登録商標)を利用した他の機器との接続などの機能
を有する新規アプリを、アプリ開発キット331を利用
して作成することが可能である。また、複合機500の
汎用OS521がUNIX(登録商標)である場合に
は、UNIX(登録商標)用のソフトウェアを新規アプ
リとすることも可能である。なお、新規アプリの機能と
してはこれらの機能に限定されるものではない。
【0094】そして、ユーザは、新規アプリの実行形式
ファイル334を生成するために、デバッグ用PC30
0のキーボードなどの入力装置401から、カバレージ
機能付きコンパイラ310およびリンカ320の起動コ
マンドを入力する。なお、起動コマンドでは、カバレー
ジ機能を利用するためカバレージオプションを指定する
ものとする。
【0095】図8は、デバッグ用PC300による新規
アプリのプログラム生成処理の手順を示すフローチャー
トである。起動コマンドが入力されると、カバレージ機
能付きコンパイラ310が起動し、コマンド解析部31
1によって入力されたコマンドの解析を行う(ステップ
S801)。具体的にはパラメータや構文の解析を行っ
て、入力されたコマンドが文法的に正確か否かを判断す
る。
【0096】次に、構文解析部312によって、新規ア
プリのソースファイル332とインストール済みのアプ
リ開発キット331の中のヘッダファイルを読み込み
(ステップS802)、ソースファイル332に記述さ
れたC言語ソースコードの構文解析を行う(ステップS
803)。具体的には、構文解析部312は、C言語ソ
ースコードをC言語文法に従って解析し、導出木や構文
木などを生成する。
【0097】次に、通過情報処理付加部313によっ
て、ソースコードの先頭に、カウンタ領域を確保ため確
保命令を追加する(ステップS804)。このカウンタ
領域は、新規アプリの実行形式ファイル334(プログ
ラム)を実行したときに、ソースコード上で何回通過し
たかをカウントする際に使用する領域である。このた
め、出力する通過情報の数のサイズだけ確保する必要が
ある。実施の形態2では、関数の行において通過情報を
出力するように、関数の行数分のサイズを確保する。な
お、この他、ソースコードの1行ごとに通過情報を出力
するように構成することもできる。この場合には、ソー
スコードのすべての行数分(複数のソースファイルがあ
る場合には、すべてのソースファイルのソースコードの
行数分)のサイズとし、関数行か1行ごとかの指定は起
動コマンドのオプションパラメータで指定するように構
成すれば良い。そして、通過情報処理付加部313によ
って、確保したカウンタ領域の初期化命令を確保命令の
後に追加する(ステップS805)。
【0098】次に、通過情報処理付加部313によっ
て、ソースコードにおける関数行を検索し、検索された
関数行の後の行に、カウンタの1増加命令(以下、「イ
ンクリメント命令」という。)を追加する(ステップS
806)。そして、かかるインクリメント命令の追加を
ソースコード(ソースファイル332が複数存在する場
合にはすべてのソースファイル332のソースコード)
のすべての関数の行に対して繰り返し行う(ステップS
807)。
【0099】次に、通過情報処理付加部313によっ
て、ソースコードの最終箇所(処理終了の箇所)に、カ
ウンタ領域の数値(すべてのカウンタ値)の出力命令
と、カウンタ領域の解放命令とを追加する(ステップS
808)。
【0100】そして、コード生成部314によってコー
ド生成処理を行って、新規アプリのオブジェクトコード
を生成し、オブジェクトファイル333としてHD33
0に格納する(ステップS809)。そして、生成され
た新規アプリのオブジェクトファイル333と、アプリ
開発キット331のコントロールサービス関数ライブラ
リと標準関数ライブラリとをリンクして、新規アプリの
実行形式ファイル334を生成し、HD330に格納す
る(ステップS810)。これにより、実行時に通過情
報を出力するというカバレージ機能を含む新規アプリの
プログラムが生成されることになる。
【0101】図9は、ソースファイル332のソースコ
ードに上述の通過情報処理付加部313により通過情報
処理を施した後のソースコードの内容の一例を示す説明
図である。図9の例では、新規アプリの全体処理が記述
されたnewappl.cと、ECS524が提供する
サービス関数を利用するための処理が記述されたec
s.cと、ECS524のサービス関数を呼び出す処理
が記述されたecs_sub.cの三つのソースファイ
ル332がある。そして、newappl.cの中で関
数ecs_jobと関数mcs_fileを呼び出し、
関数ecs_jobの処理はソースファイルecs.c
に記述されている。ソースファイルecs.cでは、E
CS524のサービス関数ecs_job_modeと
関数ecs_job_startを呼び出しており、関
数ecs_job_startの処理はソースファイル
ecs_sub.cに記述されている。ソースファイル
ecs_sub.cでは、さらにECS524のサービ
ス関数ecs_job_createとサービス関数e
cs_job_openを呼び出している。
【0102】このようなソースコードのソースファイル
332に図8で説明した通過情報処理付加部313によ
る通過情報処理を施すと、図9に示すように、ソースコ
ードの先頭にカウンタ領域count(配列)の確保命
令901およびその当該領域の初期化命令902が挿入
される。また、各関数の行の後には、各カウンタcou
nt[n](n:1〜関数の数)のインクリメント命令
903〜908が挿入される。さらに、newapp
l.cのソースコードの最後に、ファイル名、行数およ
びカウンタcountの出力命令909とカウンタ領域
の解放命令910が挿入される。従って、このような通
過情報処理が挿入されて生成された実行形式ファイル3
34を実行すると、各関数を実行する(通過する)たび
にカウンタが1だけ増加するので、各関数ごとにファイ
ル名、行数および通過回数が出力されることになる。
【0103】次に、このように生成された新規アプリの
実行形式ファイル334を使用したデバッグ方法につい
て説明する。上述のように、新規アプリの実行形式ファ
イル334はデバッグ用PC300のHD330に生成
されるが、生成されるディレクトリは、複合機500の
ファイルシステムとNFSによってマウントされる。こ
のため、新規アプリのデバッグ作業時に、デバッグ用P
C300上で生成した新規アプリの実行形式ファイル3
34をフラッシュカード607にコピーして複合機50
0に移動したり、複合機500のフラッシュROM60
4にコピーしたりする必要がなく、ユーザは複合機50
0から離れた場所にいた状態で新規アプリのテストを行
うことができ、デバッグ作業を効率的に行える。
【0104】まず、デバッグ作業を行うユーザは、デバ
ッグ用PC300のHD330にコンフィグレーション
ファイルを作成する。コンフィグレーションファイル
は、複合機500で実行されるコントロールサービスや
アプリケーション530を指定したものである。そし
て、複合機500のネットワークボードのMAC(Me
dia Access Control)アドレス、複
合機500のIPアドレス、デバッグ用PC300のI
Pアドレスなどのネットワーク情報、および複合機50
0にマウントさせる実行形式ファイル334の存在する
ディレクトリをエクスポートするためのディスク情報な
どを設定して、デバッグ用PC300を再起動する。か
かるネットワーク情報とディスク情報は、汎用OS52
1がUNIX(登録商標)であれば、起動時に実行され
るシェルスクリプトに記述しておき、デバッグ用PC3
00を再起動させれば良い。
【0105】図10は、複合機500がネットワークブ
ートを行った場合の初期化処理の手順を示すフローチャ
ートである。ユーザは、複合機500のディップスイッ
チをネットワークブート側に設定して、複合機500の
電源を投入する。このとき、複合機初期化部700のR
OMモニタ701によってハードウェアの初期化と診断
処理が行われる(ステップS1001)。次に、ネット
ワークブートの場合、ROMモニタ701はコンソール
PC407に起動コマンド入力待ちの画面を表示する。
このため、ユーザはコンソールPC407から複合機5
00の起動コマンドを入力する。ROMモニタ701は
入力された起動コマンドを受け付けた後(ステップS1
002)、汎用OS521を起動する(ステップS10
03)。
【0106】起動した汎用OS521は、コンソールP
C407に対してログイン入力画面を表示し、ユーザか
らのログイン入力待ち状態となる。ユーザは、コンソー
ルPC407からユーザ名、パスワードを入力して複合
機500に対してログインを行うと、汎用OS521
は、入力されたユーザ名、パスワードによるログインを
受け付けて、ユーザ認証処理を行う(ステップS100
4)。そして、正当なユーザの場合には、汎用OS52
1はプログラム起動部702を起動する。
【0107】プログラム起動部702は、まずデバッグ
用PC300のエクスポートされたディスク(またはデ
ィレクトリ)をマウントする(ステップS1005)。
かかるマウント処理は、汎用OS521がUNIX(登
録商標)の場合、マウント先をデバッグ用PC300で
設定したディスク情報に記述されたディスクまたはディ
レクトリを指定したマウントコマンドを、あらかじめ記
述したシェルスクリプトを用意して、プログラム起動部
702の実行時にかかるシェルスクリプトを実行するよ
うに構成しておけば良い。
【0108】次に、プログラム起動部702は、マウン
トしたデバッグ用PC300のディスクからコンフィグ
レーションファイルを読み込み(ステップS100
6)、かかるコンフィグレーションファイルの設定に従
って、複合機500のフラッシュROM604から各コ
ントロールサービスおよびアプリケーション530を起
動する(ステップS1007)。さらに、プログラム起
動部702は、NFSマウントされたデバッグ用PC3
00のディスク(またはディレクトリ)から新規アプリ
の実行形式ファイル334を起動する(ステップS10
08)。これにより、複合機500で新規アプリが実行
された状態となる。
【0109】このように、デバッグ用PC300上の新
規アプリ(実行形式ファイル334)がNFSマウント
によって仮想的に複合機500で実行されると、カバレ
ージ機能付きコンパイラ310によって通過情報処理が
付加されているため、通過情報が出力される。このと
き、ユーザが、出力された通過情報を集計するために、
デバッグ用PC300上でインストールされたアプリ開
発キット331のカバレージツールをツール起動コマン
ドの入力によって起動すると、図3に示すカバレージ処
理部340が実行される。
【0110】通過情報の集計は、関数とその関数から呼
び出される関数を一グループとした単位で行われる。そ
して、かかる通過情報の集計によって、各関数ごとに関
数の存在するソースファイル332のファイル名、関数
の存在する行、通過回数、通過率、呼び出される全関数
の通過率合計が、プログラムのテスト網羅度を示すカバ
レージとして出力される。このため、ユーザはあらかじ
め、関数とその関数から呼び出される関数の関係を示す
関数テーブルを作成しておく。図11は、関数テーブル
の一例を示す説明図であり、図9に示したソースファイ
ル例における関数の呼び出し関係を示したものである。
図9において、関数がサブ関数1を呼び出し、サブ関数
1がサブ関数2を呼び出すことを示している。カバレー
ジは、この関数の欄に記述された関数を一グループとし
て出力される。なお、この関数テーブルは、汎用OS5
21のコマンドあるいはシステムコールを利用すること
により、プログラム生成時に自動的に生成されるように
構成することも可能である。
【0111】図12は、カバレージ処理部340の集計
部341による通過情報の集計およびカバレージの出力
処理の手順を示すフローチャートである。集計部341
は、まず出力された通過情報を一行読み込む(ステップ
S1201)。そして、関数テーブルを参照して、通過
情報を、関数およびその関数から呼び出される関数を一
グループとしたグループに分類する(ステップS120
2)。次に、分類した通過情報の通過回数(カウンタ
値)を、同一ファイルで、かつ同一関数の通過情報が存
在する場合にはその通過情報の通過回数(カウンタ値)
に加算する(ステップS1203)。このようなステッ
プS1201からS1203までの分類処理を、出力さ
れているすべての通過情報に対して繰り返し行う(ステ
ップS1204)。
【0112】次に、関数ごとの通過率およびその関数が
呼び出しているすべての関数の通過率合計を算出する
(ステップS1205)。ここで、通過率は、その関数
を通過したブロック数を、その関数の全ブロック数で除
した値として算出する。そして、関数名、ソースファイ
ル名、行数、通過回数、通過率、通過率合計をカバレー
ジとして関数のグループごとに出力する(ステップS1
206)。図13は、出力されたカバレージの一例を示
す説明図であり、図9に示したソースファイル例におけ
るカバレージの一部を示している。
【0113】次に、このように出力されたカバレージか
らソースファイルに通過マークを付加するマーク付加処
理について説明する。図14は、カバレージ処理部34
0のマーク付加部342による通過マーク付加処理の手
順を示すフローチャートである。マーク付加部342
は、通過情報のファイル名および行数から対応する関数
のソースコード上の位置を特定し、その行上でセミコロ
ン(;)を検出する(ステップS1401)。
【0114】そして、セミコロン(;)の後方にコメン
トとして通過回数のマークがすでに記録されているか否
かをチェックする(ステップS1402)。そして、す
でに記録されている場合には、カバレージの通過回数を
すでに記録されている通過回数に加算して上書きする
(ステップS1403)。一方、通過回数がまだ記録さ
れていない場合には、コメント行としてカバレージの通
過回数を書き込む(ステップS1404)。そして、カ
バレージの中の次の通過情報を読み込み(ステップS1
405)、このようなステップS1401からS140
5までの処理を、すべての通過情報に対して繰り返し行
う(ステップS1406)。これにより、ソースファイ
ル332のソースコードに通過回数が累積的に加算され
ていくことになる。図15は、通過回数が加算されたソ
ースファイル332の一例を示す説明図であり、図9に
示したソースファイル例に通過回数が書き込まれた例を
示している。
【0115】このように実施の形態2にかかるデバッグ
用PC300のカバレージ機能付きコンパイラ310で
は、関数を実行した旨の通過情報を出力する通過情報処
理を、プログラムのソースコードに埋め込み、この通過
情報処理が埋め込まれたソースコードから実行形式ファ
イル334を生成しているので、生成された実行形式フ
ァイルを実行することにより、出力される通過情報から
カバレージを求め、デバッグ作業の終了度合いを明確に
把握することができ、高品質な複合機500を提供する
ことが可能となる。
【0116】また、実施の形態2にかかる複合機500
では、実行形式ファイル334のあるデバッグ用PC3
00のディレクトリを複合機500のファイルシステム
とNFSマウントさせて、ネットワーク経由で新規アプ
リのデバッグ作業を行っているので、記憶容量の小さい
複合機500においても、カバレージを利用したデバッ
グ作業を行うことができ、高品質な画像形成装置を提供
することができる。また、このようにネットワーク経由
でデバッグ作業を行えるので、ユーザはデバッグ用PC
300のある場所から複合機500の配置されている場
所まで移動する必要がなくなり、デバッグ作業の効率化
を図ることができる。
【0117】また、実施の形態2にかかるカバレージツ
ールでは、ソースコード中の関数の実行により出力され
た通過情報と、関数の実行により呼び出される他のすべ
ての関数の実行により出力された通過情報とを集計し
て、カバレージを生成しているので、関数がその中で別
の関数を呼び出している場合に、関数の連鎖関係を追っ
てカバレージを算出することができる。このため、ある
関数に着目してデバッグを行ったときに、その関数に対
するデバッグの終了度合いを把握することができ、高品
質な複合機500を提供することができる。
【0118】さらに、実施の形態2にかかるカバレージ
ツールでは、生成されたカバレージに基づいてソースコ
ードのカバレージの対応箇所に通過マークを累積的に付
加しているので、過去のプログラム実行による通過マー
クと、今回のプログラム実行による通過マークとが累積
的に付加されて、デバッグ作業全体の終了度合いを総合
的に把握することができる。この場合において、通過マ
ークは、ソースコードのコメント箇所に付加されるの
で、ソースファイル332を再コンパイルする必要がな
くなり、デバッグ作業を効率的に行うことができる。
【0119】なお、実施の形態2では、新規アプリを生
成しデバッグ作業を行う場合を例にあげて説明したが、
その他、コントロールサービスのプログラムを生成して
デバッグ作業を行う場合も、本発明を適用することがで
きる。
【0120】また、実施の形態2では、デバッグ用PC
300を、開発用とデバッグ用に兼用して使用していた
が、たとえば、開発用PCとデバッグ用PCの2台を複
合機500とネットワーク接続し、開発用PCでプログ
ラム生成を行い、デバッグ用PCを複合機500とNF
Sマウントするように構成しても良い。
【0121】さらに、実施の形態2にかかるカバレージ
ツールでは、通過回数、通過率、通過率合計をカバレー
ジとして出力しているが、この他、テストの網羅度を示
す情報であればいかなる情報もカバレージとして用いる
ことができる。
【0122】
【発明の効果】以上説明したように、請求項1にかかる
発明によれば、生成された実行形式ファイルを実行する
ことにより、通過情報が出力されるので、デバッグ作業
の終了度合いを明確に把握することができ、不完全なデ
バッグ作業を防止して高品質な画像形成装置を提供する
ことができるという効果を奏する。また、この請求項1
にかかる発明によれば、画像形成装置のデバッグ作業を
ネットワーク経由で実行することが可能となり、記憶容
量の小さい画像形成装置においても、カバレージ情報を
利用したデバッグ作業を行うことができ、不完全なデバ
ッグ作業を防止してより高品質な画像形成装置を提供す
ることができるという効果を奏する。
【0123】また、請求項2にかかる発明によれば、デ
バッグ作業の終了度合いを通過回数によって明確に把握
することができ、不完全なデバッグ作業を防止してより
高品質な画像形成装置を提供することができるという効
果を奏する。
【0124】また、請求項3にかかる発明によれば、記
憶容量の小さい画像形成装置においても、ネットワーク
経由でカバレージ情報を利用したプログラムのデバッグ
を行うことができ、不完全なデバッグ作業を防止してよ
り高品質な画像形成装置を提供することができるという
効果を奏する。
【0125】また、請求項4にかかる発明によれば、関
数の連鎖関係を追ってカバレージを算出することができ
るので、ある関数に着目してデバッグを行ったときに、
その関数に対するデバッグの終了度合いを把握すること
ができ、不完全なデバッグ作業を防止してより高品質な
画像形成装置を提供することができるという効果を奏す
る。
【0126】また、請求項5にかかる発明によれば、過
去のプログラム実行による通過マークと、今回のプログ
ラム実行による通過マークとが累積的に付加されて、デ
バッグ作業全体の終了度合いを総合的に把握することが
でき、より高品質な画像形成装置を提供することができ
るという効果を奏する。
【0127】また、請求項6にかかる発明によれば、通
過マークのソースコードへの付加によってソースファイ
ルを再コンパイルする必要がなくなり、デバッグ作業を
効率的に行うことができるという効果を奏する。
【0128】また、請求項7にかかる発明によれば、請
求項1〜6のいずれか一つの動作をコンピュータによっ
て実行することができるという効果を奏する。
【0129】また、請求項8にかかる発明によれば、関
数の連鎖関係を追ってカバレージを算出することがで
き、ある関数に着目してデバッグを行ったときに、その
関数に対するデバッグの終了度合いを把握することがで
き、不完全なデバッグ作業を防止して高品質なソフトウ
ェアを提供することができるという効果を奏する。
【0130】また、請求項9にかかる発明によれば、関
数自体のデバッグの十分性と、その関数およびその関数
から呼ばれるすべての関数を含めたデバッグの十分性の
両方を評価することができ、より高品質なソフトウェア
を提供することができるという効果を奏する。
【0131】また、請求項10にかかる発明によれば、
関数の連鎖関係を追ってカバレージを算出することがで
き、ある関数に着目してデバッグを行ったときに、その
関数に対するデバッグの終了度合いを把握することがで
き、不完全なデバッグ作業を防止して高品質なソフトウ
ェアを提供することができるという効果を奏する。
【0132】また、請求項11にかかる発明によれば、
関数自体のデバッグの十分性と、その関数およびその関
数から呼ばれるすべての関数を含めたデバッグの十分性
の両方を評価することができ、より高品質なソフトウェ
アを提供することができるという効果を奏する。
【0133】また、請求項12にかかる発明によれば、
請求項10または11の動作をコンピュータによって実
行することができるという効果を奏する。
【図面の簡単な説明】
【図1】実施の形態1にかかるカバレージ測定装置に入
力するソースコードの一例を示す説明図である。
【図2】実施の形態1にかかるカバレージ測定装置およ
び記録媒体のハードウェア構成を示すブロック図であ
る。
【図3】実施の形態2にかかるデバッグ用PCのソフト
ウェア構成を示すブロック図である。
【図4】実施の形態2にかかるデバッグ用PCのハード
ウェア構成およびデバッグ環境のネットワーク構成を示
すブロック図である。
【図5】実施の形態2にかかる複合機の機能的構成を示
すブロック図である。
【図6】実施の形態2にかかる複合機のハードウェア構
成図である。
【図7】実施の形態2にかかる複合機の起動時に実行さ
れる複合機初期化部の機能的構成を示すブロック図であ
る。
【図8】実施の形態2にかかるデバッグ用PCによる新
規アプリのプログラム生成処理の手順を示すフローチャ
ートである。
【図9】実施の形態2にかかるデバッグ用PCにおい
て、ソースファイルのソースコードに通過情報処理を施
した後のソースコードの内容の一例を示す説明図であ
る。
【図10】実施の形態2にかかる複合機におけるネット
ワークブート時の初期化処理の手順を示すフローチャー
トである。
【図11】実施の形態2にかかるデバッグ用PCにおけ
る関数テーブルの一例を示す説明図である。
【図12】実施の形態2にかかるカバレージ処理部によ
る通過情報の集計およびカバレージの出力処理の手順を
示すフローチャートである。
【図13】実施の形態2にかかるカバレージ処理部によ
って出力されたカバレージの一例を示す説明図である。
【図14】実施の形態2にかかるカバレージ処理部によ
る通過マーク付加処理の手順を示すフローチャートであ
る。
【図15】実施の形態2にかかるカバレージ処理部によ
って通過回数が加算されたソースファイルの一例を示す
説明図である。
【符号の説明】
101 CPU 102 ROM 103 RAM 104 スキャナ 105 出力装置 106 ハードディスクドライブ(HDD) 107 CD−ROMドライブ 108 入力装置(キーボード/マウス) 109 CD−ROMメディア 110 バス 300 デバッグ用PC 310 コンパイラ 311 コマンド解析部 312 構文解析部 313 通過情報処理付加部 314 コード生成部 320 リンカ 330 ハードディスク(HD) 331 アプリ開発キット 332 ソースファイル 333 オブジェクトファイル 334 実行形式ファイル 340 カバレージ処理部 341 集計部 342 マーク付加部 401 入力装置 402 表示装置 403 RAM 404 制御装置 405 外部記憶装置 406 通信装置 407 コンソールPC 408 イーサネット(登録商標) 500 複合機 501 白黒ラインプリンタ 502 カラーラインプリンタ 503 ハードウェアリソース 510 ソフトウェア群 511 プリンタアプリ 512 コピーアプリ 513 ファックスアプリ 514 スキャナアプリ 515 ネットファイルアプリ 516 工程検査アプリ 520 プラットホーム 521 汎用OS 522 SCS 523 SRM 524 ECS 525 MCS 526 OCS 527 FCS 528 NCS 530 アプリケーション 600 コントローラボード 601 ASIC 602 CPU 603 SDRAM(RAM) 604 フラッシュメモリ(ROM) 605 HD 606 フラッシュカードインタフェース部 607 フラッシュカード 608 SRAM 610 オペレーションパネル 630 USB 640 IEEE1394 650 プリンタ 700 複合機初期化部 701 ROMモニタ 702 プログラム起動部 901 カウンタ領域確保命令 902 カウンタ領域初期化命令 903〜908 インクリメント命令 909 通過情報出力命令 910 カウンタ領域解放命令
───────────────────────────────────────────────────── フロントページの続き (54)【発明の名称】 画像形成装置用プログラム生成方法、画像形成装置用カバレージ測定方法、これらの方法をコン ピュータに実行させるプログラム、カバレージ測定装置、カバレージ測定プログラムおよび情報 記録媒体

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 画像形成処理で使用されるハードウェア
    資源と、画像形成処理にかかるユーザサービスにそれぞ
    れ固有の処理を行うアプリケーションと前記ハードウェ
    ア資源との間に介在し、前記ユーザサービスを提供する
    際に、アプリケーションの少なくとも2つが共通的に必
    要とする前記ハードウェア資源の獲得要求、管理、実行
    制御並びに画像形成処理を行うコントロールサービスと
    を備えた画像形成装置で動作する前記コントロールサー
    ビスまたは前記アプリケーションのプログラムを生成す
    る画像形成装置用プログラム生成方法において、 前記プログラムの所定の箇所を実行した旨の通過情報を
    出力する通過情報処理を、前記プログラムのソースコー
    ドに埋め込む通過情報処理付加ステップと、 前記通過情報処理付加ステップによって前記通過情報処
    理が埋め込まれた前記ソースコードから実行形式ファイ
    ルを生成し、生成された実行形式ファイルを前記画像形
    成装置とネットワークを介してマウントされた記憶手段
    に格納する実行ファイル生成ステップと、 を含んだことを特徴とする画像形成装置用プログラム生
    成方法。
  2. 【請求項2】 前記通過情報は、前記ソースコードにお
    ける通過箇所の行数と通過回数とを示すものであり、 前記通過情報処理付加ステップは、プログラム実行開始
    時に前記通過回数を記憶する領域を確保する処理と、プ
    ログラム実行の際の前記通過箇所における通過回数を計
    数する処理と、前記通過箇所の行数および計数された通
    過回数とを出力する処理とを、前記ソースコードに埋め
    込むことを特徴とする請求項1に記載の画像形成装置用
    プログラム生成方法。
  3. 【請求項3】 画像形成処理で使用されるハードウェア
    資源と、画像形成処理にかかるユーザサービスにそれぞ
    れ固有の処理を行うアプリケーションと前記ハードウェ
    ア資源との間に介在し、前記ユーザサービスを提供する
    際に、アプリケーションの少なくとも2つが共通的に必
    要とする前記ハードウェア資源の獲得要求、管理、実行
    制御並びに画像形成処理を行うコントロールサービスと
    を備えた画像形成装置の前記コントロールサービスまた
    は前記アプリケーションのプログラムのテストの網羅度
    を示すカバレージ情報を生成する画像形成装置用カバレ
    ージ測定方法において、 前記プログラムを前記画像形成装置とネットワークを介
    してマウントされた記憶手段から実行することにより出
    力された前記プログラムの所定の箇所を実行した旨の通
    過情報を集計し、集計結果から前記カバレージ情報を生
    成する集計ステップ、 を含んだことを特徴とする画像形成装置用カバレージ測
    定方法。
  4. 【請求項4】 前記集計ステップは、前記プログラムの
    中の関数の実行により出力された前記通過情報と、前記
    関数の実行により呼び出される他のすべての関数の実行
    により出力された前記通過情報とを集計して、前記カバ
    レージ情報を生成することを特徴とする請求項3に記載
    の画像形成装置用カバレージ測定方法。
  5. 【請求項5】 前記集計ステップにより生成された前記
    カバレージ情報に基づいて、前記プログラムのソースコ
    ードの前記カバレージ情報の対応箇所に通過マークを累
    積的に付加するマーク付加ステップ、をさらに含んだこ
    とを特徴とする請求項3または4に記載の画像形成装置
    用カバレージ測定方法。
  6. 【請求項6】 前記マーク付加ステップは、前記通過マ
    ークを、前記ソースコードのコメント箇所に付加するこ
    とを特徴とする請求項5に記載の画像形成装置用カバレ
    ージ測定方法。
  7. 【請求項7】 請求項1〜6のいずれか一つに記載され
    た方法をコンピュータに実行させるプログラム。
  8. 【請求項8】 プログラムの実行によって、前記プログ
    ラムの中の関数およびその関数によって呼び出されたす
    べての関数を実行した旨の通過情報を集計して、集計結
    果から前記プログラムのテストの網羅度を示すカバレー
    ジ情報を生成する集計手段と、 前記集計手段によって生成されたカバレージ情報を表示
    する表示手段と、 を備えたことを特徴とするカバレージ測定装置。
  9. 【請求項9】 前記表示手段は、前記プログラムの中の
    関数の前記カバレージ情報と、前記呼び出されたすべて
    の関数の前記カバレージ情報とを、別個に表示すること
    を特徴とする請求項8に記載のカバレージ測定装置。
  10. 【請求項10】 プログラムの実行によって、前記プロ
    グラムの中の関数およびその関数によって呼び出された
    すべての関数を実行した旨の通過情報を集計して、集計
    結果から前記プログラムのテストの網羅度を示すカバレ
    ージ情報を生成する集計ステップと、 前記集計ステップによって生成されたカバレージ情報を
    表示する表示ステップと、 をコンピュータに実行させるカバレージ測定プログラ
    ム。
  11. 【請求項11】 前記表示ステップは、前記プログラム
    の中の関数の前記カバレージ情報と、前記呼び出された
    すべての関数の前記カバレージ情報とを、別個に表示す
    ることをコンピュータに実行させる請求項10に記載の
    カバレージ測定プログラム。
  12. 【請求項12】 請求項10または11に記載のカバレ
    ージ測定プログラムを記録したコンピュータ読み取り可
    能な情報記録媒体。
JP2002019115A 2001-03-15 2002-01-28 画像形成装置用プログラム生成方法、画像形成装置用カバレージ測定方法、これらの方法をコンピュータに実行させるプログラム、カバレージ測定装置、カバレージ測定プログラムおよび情報記録媒体 Pending JP2002342119A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002019115A JP2002342119A (ja) 2001-03-15 2002-01-28 画像形成装置用プログラム生成方法、画像形成装置用カバレージ測定方法、これらの方法をコンピュータに実行させるプログラム、カバレージ測定装置、カバレージ測定プログラムおよび情報記録媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001-74485 2001-03-15
JP2001074485 2001-03-15
JP2002019115A JP2002342119A (ja) 2001-03-15 2002-01-28 画像形成装置用プログラム生成方法、画像形成装置用カバレージ測定方法、これらの方法をコンピュータに実行させるプログラム、カバレージ測定装置、カバレージ測定プログラムおよび情報記録媒体

Publications (1)

Publication Number Publication Date
JP2002342119A true JP2002342119A (ja) 2002-11-29

Family

ID=26611348

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002019115A Pending JP2002342119A (ja) 2001-03-15 2002-01-28 画像形成装置用プログラム生成方法、画像形成装置用カバレージ測定方法、これらの方法をコンピュータに実行させるプログラム、カバレージ測定装置、カバレージ測定プログラムおよび情報記録媒体

Country Status (1)

Country Link
JP (1) JP2002342119A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005063421A (ja) * 2003-07-29 2005-03-10 Ricoh Co Ltd 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
JP2005063422A (ja) * 2003-07-29 2005-03-10 Ricoh Co Ltd 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
US7933033B2 (en) 2003-07-29 2011-04-26 Ricoh Company, Ltd. Image forming apparatus, image processing method, image processing program and recording medium
JP2011113474A (ja) * 2009-11-30 2011-06-09 Fujitsu Ltd カバレッジ情報算出プログラム、カバレッジ情報算出装置およびカバレッジ情報算出方法
JP2012073692A (ja) * 2010-09-28 2012-04-12 Hitachi Ltd 組込システムの保守支援装置

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9092182B2 (en) 2003-07-29 2015-07-28 Ricoh Company, Ltd. Information processing system, method and recording medium
JP2005063422A (ja) * 2003-07-29 2005-03-10 Ricoh Co Ltd 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
JP4571455B2 (ja) * 2003-07-29 2010-10-27 株式会社リコー 画像形成装置、情報処理方法、情報処理プログラム、記録媒体、及び分散ファイルシステム
JP4602705B2 (ja) * 2003-07-29 2010-12-22 株式会社リコー 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
US7933033B2 (en) 2003-07-29 2011-04-26 Ricoh Company, Ltd. Image forming apparatus, image processing method, image processing program and recording medium
US8339649B2 (en) 2003-07-29 2012-12-25 Ricoh Company, Ltd. Information processing system, method and recording medium
US8593678B2 (en) 2003-07-29 2013-11-26 Ricoh Company, Ltd. Information processing system, method and recording medium
JP2005063421A (ja) * 2003-07-29 2005-03-10 Ricoh Co Ltd 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
US9344596B2 (en) 2003-07-29 2016-05-17 Ricoh Company, Ltd. Information processing system, method and recording medium
US9787867B2 (en) 2003-07-29 2017-10-10 Ricoh Company, Ltd. Information processing system, method and recording medium
US10148846B2 (en) 2003-07-29 2018-12-04 Ricoh Company, Ltd. Information processing system, method and recoding medium
JP2011113474A (ja) * 2009-11-30 2011-06-09 Fujitsu Ltd カバレッジ情報算出プログラム、カバレッジ情報算出装置およびカバレッジ情報算出方法
JP2012073692A (ja) * 2010-09-28 2012-04-12 Hitachi Ltd 組込システムの保守支援装置

Similar Documents

Publication Publication Date Title
US9792159B2 (en) Program determining apparatus and program determining method
US8115943B2 (en) Image forming apparatus and print process method
US20040057074A1 (en) Image forming apparatus
CA2842095A1 (en) Embedded apparatus, program generation apparatus, and program
JP2004185595A (ja) 情報処理装置およびそのプログラム
US20030133136A1 (en) Method for generating and launching application for information processing apparatus and image forming apparatus
JP2004118237A (ja) 画像形成装置およびアプリケーションインストール方法
JP4037079B2 (ja) 画像形成装置、プロセス監視方法およびこの方法をコンピュータに実行させるプログラム
US7339696B2 (en) Systems and methods for dynamically generating a printer model database
US20030140174A1 (en) Method for generating application for information processing apparatus and image forming apparatus
JP2002342119A (ja) 画像形成装置用プログラム生成方法、画像形成装置用カバレージ測定方法、これらの方法をコンピュータに実行させるプログラム、カバレージ測定装置、カバレージ測定プログラムおよび情報記録媒体
JP4512565B2 (ja) 画像形成装置およびアプリケーションインストール方法
JP2004185593A (ja) 画像形成装置およびアプリケーション実行方法
TWI271981B (en) An IPMI validating system and method
JP2004185594A (ja) 画像形成装置およびプログラム実行方法
JP2003167715A (ja) プロセス間通信履歴表示方法、その方法をコンピュータに実行させるプログラム、画像形成装置および画像形成システム
US20110010649A1 (en) Information processing apparatus, information processing method, and program
JP3677474B2 (ja) 画像形成装置、プロセス間通信履歴表示方法およびその方法をコンピュータに実行させるプログラム
JP4080739B2 (ja) 画像形成装置用アプリケーション生成方法およびその方法をコンピュータに実行させるプログラム
JP4334214B2 (ja) 画像形成装置、アプリケーションプログラム及び記録媒体
JP4133085B2 (ja) 画像形成装置およびカスタマイズプログラム試験方法
JP3920893B2 (ja) 情報処理装置、プロセス間通信履歴表示方法およびその方法をコンピュータに実行させるプログラム
JP2008198097A (ja) 情報処理装置、制御装置、スクリプト処理方法、記憶媒体、プログラム
JP2003263321A (ja) 画像形成装置用アプリケーション生成方法、画像形成装置用アプリケーション起動方法、画像形成装置用アプリケーション生成プログラム、画像形成装置および画像形成装置用アプリ開発記録媒体
JP3798710B2 (ja) 画像情報処理装置、プロセス情報取得方法およびその方法をコンピュータに実行させるプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050816

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051017

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060328

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060427

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060814

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20060915