(57)【要約】  利用者によって選択されたインスタンス・メソッドの定義情報を表示する際に、実行時におけるインスタンス・メソッドの処理内容に応じた定義情報を表示する情報表示装置、方法及びプログラムを提供する。情報表示装置は、利用者によって選択されたインスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型に含まれるインスタンス・メソッドの定義情報を表示する。（図１）
2009104658.tif 000002
【特許請求の範囲】
【請求項１】
利用者によって選択されたインスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型に含まれる該インスタンス・メソッドの定義情報を表示することを特徴とする情報表示装置。
【請求項２】
変数によって実行時に参照され得る型を参照情報として記憶する記憶装置と、
前記インスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照される可能性のある型を前記参照情報から抽出する実行時型収集部と、
抽出された型に含まれる前記インスタンス・メソッドの定義情報を表示する選択結果表示部と、を備えることを特徴とする、請求項１に記載の情報表示装置。
【請求項３】
アプリケーション部において生成された型に対し、ライブラリ部において生成された型に対して割り当てられるスコアよりも高いスコアを割り当てる第１の並び替え部、及び／又は、
アプリケーション部に属する型に対し、ライブラリ部に属する型に対して割り当てられるスコアよりも高いスコアを割り当てる第２の並び替え部を備えることを特徴とする、請求項２に記載の情報表示装置。
【請求項４】
アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、それぞれスコアを割り当てることを特徴とする、請求項３に記載の情報表示装置。
【請求項５】
アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、この順に単調に減少するスコアを割り当てることを特徴とする、請求項３に記載の情報表示装置。
【請求項６】
前記選択結果表示部は、スコアの降順にソートして各型に含まれるインスタンス・メソッドの定義情報を表示することを特徴とする、請求項３乃至５のいずれか１項に記載の情報表示装置。
【請求項７】
前記選択結果表示部は、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい又は選択しやすい場所に表示することを特徴とする、請求項３乃至５のいずれか１項に記載の情報表示装置。
【請求項８】
利用者によって選択されたインスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型に含まれる該インスタンス・メソッドの定義情報を表示する工程を含むことを特徴とする情報表示方法。
【請求項９】
変数によって実行時に参照され得る型を参照情報として記憶する記憶装置を参照して、前記インスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型を前記参照情報から抽出する実行時型収集工程と、
抽出された型に含まれる前記インスタンス・メソッドの定義情報を表示する選択結果表示工程と、を含むことを特徴とする、請求項８に記載の情報表示方法。
【請求項１０】
アプリケーション部において生成された型に対し、ライブラリ部において生成された型に対して割り当てられるスコアよりも高いスコアを割り当てる第１のスコア割り当て工程、及び／又は、
アプリケーション部に属する型に対し、ライブラリ部に属する型に対して割り当てられるスコアよりも高いスコアを割り当てる第２のスコア割り当て工程を含むことを特徴とする、請求項９に記載の情報表示方法。
【請求項１１】
アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、この順に単調に減少するスコアを割り当てることを特徴とする、請求項１０に記載の情報表示方法。
【請求項１２】
前記選択結果表示工程において、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい又は選択しやすい場所に表示することを特徴とする、請求項１０又は１１に記載の情報表示方法。
【請求項１３】
利用者によって選択されたインスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型に含まれる該インスタンス・メソッドの定義情報を表示する処理をコンピュータに実行させることを特徴とする情報表示プログラム。
【請求項１４】
変数によって実行時に参照され得る型を参照情報として記憶する記憶装置を参照して、前記インスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型を前記参照情報から抽出する実行時型収集処理と、
抽出された型に含まれる前記インスタンス・メソッドの定義情報を表示する選択結果表示処理と、をコンピュータに実行させることを特徴とする、請求項１３に記載の情報表示プログラム。
【請求項１５】
アプリケーション部において生成された型に対し、ライブラリ部において生成された型に対して割り当てられるスコアよりも高いスコアを割り当てる第１のスコア割り当て処理、及び／又は、
アプリケーション部に属する型に対し、ライブラリ部に属する型に対して割り当てられるスコアよりも高いスコアを割り当てる第２のスコア割り当て処理をコンピュータに実行させることを特徴とする、請求項１４に記載の情報表示プログラム。
【請求項１６】
アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、この順に単調に減少するスコアを割り当てる処理をコンピュータに実行させることを特徴とする、請求項１５に記載の情報表示プログラム。
【請求項１７】
前記選択結果表示処理において、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい又は選択しやすい場所に表示する処理をコンピュータに実行させることを特徴とする、請求項１５又は１６に記載の情報表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の記載］
本発明は、日本国特許出願：特願２００８−０３７６０４号（２００８年  ２月１９日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は情報表示装置、方法及びプログラムに関し、特に、オブジェクト指向型言語で記述されたプログラムのソースコードに登場するインスタンス・メソッドの情報を表示する情報表示装置、方法及びプログラムに関する。
【背景技術】
【０００２】
非特許文献１において、情報表示装置が記載されている。図７に示すように、非特許文献１に記載の情報表示装置１１０は、入力部１１１、定義型収集部１１２、出力部１１６、及び、記憶装置１１７を備える。記憶装置１１７は、定義型情報及びソースコードを格納する。【０００３】
情報表示装置１１０は、次のように動作する。プログラムのソースコードを閲覧又は編集するためのエディタは、すでに動作しているものとする。入力部１１１はマウスやキーボードから利用者の入力を受け付ける。画面に表示されたソースコードに含まれる特定のインスタンス・メソッドの呼び出しが選択された状態において、さらに「宣言を開ける」という機能に対応する入力（例えば、ファンクションキーＦ３の入力）を受け付けた場合、入力部１１１は、そのインスタンス・メソッドの情報を定義型収集部１１２に送信する。【０００４】
定義型収集部１１２は、インスタンス・メソッドの情報を受信した場合、受信したインスタンス・メソッドのレシーバ・オブジェクトを参照する変数に対する型情報を、記憶装置１１７に格納された定義型情報から読み込む。定義型情報Ａは、記憶装置１１７に保持される定義型情報の構成の一例を示す。定義型情報Ａは、変数とその変数に対する型を示す。定義型情報Ａは、例えば、型解析と呼ばれる手法によって生成することができる。定義型収集部１１２はレシーバ・オブジェクトを参照する変数に対する型情報を定義型情報Ａより取得し、取得した型に対応する情報（クラス定義）をソースコードから取得し、そのクラス定義に含まれるインスタンス・メソッドの定義情報（メソッド定義）を、出力部１１６を介して出力する。【０００５】
図８に示すプログラムのソースコードを参照して、従来の情報表示装置１１０の動作を具体的に説明する。ソースコードは、エディタに表示されているものとする。利用者は、例えば、４行目の”ｐ．ｆｏｏ（）；”を選択し、「宣言を開ける」機能を呼び出す入力操作を行ったものとする。このとき、入力部１１１から定義型収集部１１２に、変数ｐ及びインスタンス・メソッドｆｏｏ（）が送信される。【０００６】
定義型収集部１１２は、変数ｐに対応する型を定義型情報Ａから取得する。図８に示すソースコードの場合、型解析によって、変数ｐの型はＰであると判定される。定義型収集部１１２は、Ｐのクラス定義をソースコードから取得し、Ｐのクラス情報の中に定義されたインスタンス・メソッドｆｏｏ（）のメソッド定義を出力部１１６へ送信する。出力部１１６は、９行目のインスタンス・メソッドｆｏｏ（）のメソッド定義を利用者に提示する。このように、情報表示装置１１０は、変数の型の情報を利用して、インスタンス・メソッドの情報を表示する。【０００７】
【非特許文献１】宮本信二著、“第４回：Ｅｃｌｉｐｓｅの便利な機能”、［ｏｎｌｉｎｅ］、２００５年２月９日、ｉｍｐｒｅｓｓ  ＩＴ  Ｃｏｒｐｏｒａｔｉｏｎ、  ［２００７年１２月１３日検索］、インターネット＜ｈｔｔｐ：／／ｗｗｗ．ｔｈｉｎｋｉｔ．ｃｏ．ｊｐ／ｆｒｅｅ／ｔｅｃｈ／３／４／１．ｈｔｍｌ＞
【発明の開示】
【発明が解決しようとする課題】
【０００８】
以上の非特許文献１の全開示内容は、本書に引用をもって繰り込み記載されているものとする。
以下の分析は、本発明者によってなされたものである。図８を参照して、情報表示装置１１０における問題点について説明する。上記の通り、情報表示装置１１０は、４行目のｐ．ｆｏｏ（）というインスタンス・メソッドの呼び出しに対応する情報として、９行目のｆｏｏ（）メソッド定義を表示する。しかしながら、プログラムの実行時において、４行目において実際に呼び出されるインスタンス・メソッドは９行目で定義されているものではなく、１５行目で定義されているものである。なぜならば、４行目の変数ｐは３行目の代入によって、クラスＲのインスタンスを参照するからである。したがって、図８のソースコードの場合には、４行目ではなく１５行目のメソッド定義を利用者に提示した方が、利用者にとって有益である。ここでは、変数に割り当てられた型（「定義型」）と、変数によってプログラムの実行時に参照されるオブジェクトの型（「実行時型」）と、を区別する。図８のソースコードにおいては、変数ｐの定義型はＰであり、一方、実行時型はＲである。【０００９】
情報表示装置１１０における第１の問題点は、指定されたインスタンス・メソッドの呼び出しに対応するメソッド定義を表示する際、変数の定義型におけるメソッド定義が表示されるため、利用者は実行時におけるインスタンス・メソッドの処理内容を把握することができないという点である。【００１０】
情報表示装置１１０における第２の問題点は、指定されたインスタンス・メソッドの呼び出しに対応するメソッド定義を表示する際に、表示される定義情報の候補が複数となった場合には、適切なメソッド定義を選択するのに手間を要することである。選択された変数の実行時型には複数の型が対応する場合があり、かかる場合、利用者はその中から所望の定義情報を選択する必要に迫られるからである。【００１１】
そこで、指定されたインスタンス・メソッドの呼び出しに対応するメソッド定義を表示する際に、実行時におけるインスタンス・メソッドの処理内容に応じた定義情報を表示する情報表示装置、方法及びプログラムを提供することが課題となる。また、指定されたインスタンス・メソッドの呼び出しに対応するメソッド定義情報を表示する際に、複数の定義情報の候補から利用者によって選択される可能性が高いものほど選択しやすい場所に表示する情報表示装置、方法及びプログラムを提供することが課題となる。
【課題を解決するための手段】
【００１２】
本発明の第１の視点に係る情報表示装置は、
インスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型における（含まれる）該インスタンス・メソッドの定義情報を表示する。【００１３】
第１の展開形態の情報表示装置は、
変数によって実行時に参照され得る型を参照情報として記憶する記憶装置と、
前記インスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照される可能性のある型を前記参照情報から抽出する実行時型収集部と、
抽出された型における（含まれる）前記インスタンス・メソッドの定義情報を表示する選択結果表示部と、を備える。【００１４】
第２の展開形態の情報表示装置は、
アプリケーション部において生成された型に対し、ライブラリ部において生成された型に対して割り当てられるスコアよりも高いスコアを割り当てる第１の並び替え（スコア割り当て）部、及び／又は、
アプリケーション部に属する型に対し、ライブラリ部に属する型に対して割り当てられるスコアよりも高いスコアを割り当てる第２の並び替え（スコア割り当て）部を備えることが好ましい。【００１５】
第３の展開形態の情報表示装置は、
アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、それぞれスコアを割り当てることが好ましい。
第４の展開形態の情報表示装置は、
アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、この順に単調に減少するスコアを割り当てることが好ましい。【００１６】
第５の展開形態の情報表示装置は、
前記選択結果表示部が、スコアの降順にソートして各型に含まれるインスタンス・メソッドの定義情報を表示することが好ましい。
第６の展開形態の情報表示装置は、
前記選択結果表示部が、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい又は選択しやすい場所に表示することが好ましい。【００１７】
本発明の第２の視点に係る情報表示方法は、
利用者によって選択されたインスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型における（含まれる）該インスタンス・メソッドの定義情報を表示する工程を含む。【００１８】
第７の展開形態の情報表示方法は、
変数によって実行時に参照され得る型を参照情報として記憶する記憶装置を参照して、前記インスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型を前記参照情報から抽出する実行時型収集工程と、
抽出された型における（含まれる）前記インスタンス・メソッドの定義情報を表示する選択結果表示工程と、を含む。【００１９】
第８の展開形態の情報表示方法は、
アプリケーション部において生成された型に対し、ライブラリ部において生成された型に対して割り当てられるスコアよりも高いスコアを割り当てる第１のスコア割り当て工程、及び／又は、
アプリケーション部に属する型に対し、ライブラリ部に属する型に対して割り当てられるスコアよりも高いスコアを割り当てる第２のスコア割り当て工程を含むことが好ましい。【００２０】
第９の展開形態の情報表示方法は、
アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、この順に単調に減少するスコアを割り当てることが好ましい。【００２１】
第１０の展開形態の情報表示方法は、
前記選択結果表示工程において、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい又は選択しやすい場所に表示することが好ましい。【００２２】
本発明の第３の視点に係る情報表示プログラムは、
利用者によって選択されたイインスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型における（含まれる）該インスタンス・メソッドの定義情報を表示する処理をコンピュータに実行させる。【００２３】
第１１の展開形態の情報表示プログラムは、
変数によって実行時に参照され得る型を参照情報として記憶する記憶装置を参照して、前記インスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型を前記参照情報から抽出する実行時型収集処理と、
抽出された型における（含まれる）前記インスタンス・メソッドの定義情報を表示する選択結果表示処理と、をコンピュータに実行させる。【００２４】
第１２の展開形態の情報表示プログラムは、
アプリケーション部において生成された型に対し、ライブラリ部において生成された型に対して割り当てられるスコアよりも高いスコアを割り当てる第１のスコア割り当て処理、及び／又は、
アプリケーション部に属する型に対し、ライブラリ部に属する型に対して割り当てられるスコアよりも高いスコアを割り当てる第２のスコア割り当て処理をコンピュータに実行させることが好ましい。【００２５】
第１３の展開形態の情報表示プログラムは、
アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、この順に単調に減少するスコアを割り当てる処理をコンピュータに実行させることが好ましい。【００２６】
第１４の展開形態の情報表示プログラムは、
前記選択結果表示処理において、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい又は選択しやすい場所に表示する処理をコンピュータに実行させることが好ましい。
【発明の効果】
【００２７】
本発明によって、利用者によって選択されたインスタンス・メソッドの定義情報を表示する際に、実行時におけるインスタンス・メソッドの処理内容に応じた定義情報を表示する情報表示装置、方法及びプログラムが提供される。その理由は、インスタンス・メソッドの定義情報を表示する際に、インスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照される可能性のある型における定義情報を表示することができるからである。【００２８】
また、本発明によって、インスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照される可能性のある型の候補が複数ある場合、利用者が所望の型を選択する労力を削減することができる。その理由は、複数の型の候補の中から、アプリケーション部の中で生成されるか、又は、アプリケーション部に属するか、という観点による優先順位付けを行い、ＧＵＩに表示する際に、利用者にとって有益な型ほど利用者に見やすく、又は、選択しやすい場所に表示するからである。
【図面の簡単な説明】
【００２９】
【図１】本発明の第１の実施形態に係る情報表示装置の構成を示すブロック図である。
【図２】本発明の第２の実施形態に係る情報表示装置の構成を示すブロック図である。
【図３】本発明の実施例に係る情報表示装置における並び替え情報の形式を示す図である。
【図４】本発明の実施例に係る情報表示装置における参照情報の他の形式を示す図である。
【図５】本発明の実施例に係る情報表示装置における参照情報のさらに他の形式を示す図である。
【図６】本発明の実施例に係る情報表示装置の動作を示す流れ図である。
【図７】従来の情報表示装置の構成を示すブロック図である。
【図８】オブジェクト指向型言語の一つであるＪａｖａ（登録商標）言語によって記述されたプログラムのソースコードである。
【符号の説明】
【００３０】
１０、１１０  情報表示装置
１１、１１１  入力部
１２  実行時型収集部
１３  並び替え（スコア割り当て）部Ａ
１４  並び替え（スコア割り当て）部Ｂ
１５  選択結果表示部
１６、１１６  出力部
１７、１１７  記憶装置
１８  計算機
１１２  定義型収集部
【発明を実施するための最良の形態】
【００３１】
（実施形態１）
本発明の第１の実施形態に係る情報表示装置について図面を参照して説明する。図１は、本実施形態に係る情報表示装置１０の構成を示すブロック図である。情報表示装置１０は、実行時型収集部１２、選択結果表示部１５及び記憶装置１７を備える。記憶装置１７は、変数によって実行時に参照される能性のある型を参照情報として記憶する。実行時型収集部１２は、インスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照される可能性のある型を参照情報から抽出する。選択結果表示部１５は、抽出された型におけるインスタンス・メソッドの定義情報を表示する。【００３２】
（実施形態２）
次に、本発明の第２の実施形態に係る情報表示装置について図面を参照して説明する。図２は、本実施形態に係る情報表示装置１０の構成を示すブロック図である。情報表示装置１０は、図２を参照すると、実行時型収集部１２、並び替え（スコア割り当て）部Ａ１３、並び替え（スコア割り当て）部Ｂ１４、選択結果表示部１５を備える。【００３３】
記憶装置１７は、参照情報として、プログラム中に登場する変数が実行時に参照する可能性のある型の集合を保存する。実行時型収集部１２は、インスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照される型の集合を参照情報から取得する。【００３４】
記憶装置１７は、生成情報として、型がアプリケーション部分で生成されるか否かを示す情報を保存する。第１の並び替え（スコア割り当て）部Ａ１３は、生成情報に基づいて、取得した型に対してスコアを割り当てる。【００３５】
記憶装置１７は、ＡＰＰ／ＬＩＢ情報として、型がアプリケーション部分に属するのか、又は、ライブラリ部分に属するのかを示す情報を保存する。第２の並び替え（スコア割り当て）部Ｂ１４は、ＡＰＰ／ＬＩＢ情報に基づいて、型に対してスコアを割り当てる。【００３６】
選択結果表示部１５は、ＧＵＩ上において、高いスコアが付された型ほど利用者にとって見やすく、かつ、選択しやすい場所に表示し、利用者によって選択された型に応じたインスタンス・メソッドの定義情報を表示する。【００３７】
本実施形態に係る情報表示装置１０は、インスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照される可能性のある型を利用者に提示し、選択された型に対応するメソッド定義を表示することによって、本発明の課題の１つを解決する。すなわち、指定されたインスタンス・メソッドの呼び出しに対応するメソッド定義を表示する際、実行時型に相当するメソッド定義を表示することができる。【００３８】
さらに、利用者に提示する型の候補が複数ある場合、それらの型は、アプリケーション部分に相当するコード内で生成されているか、アプリケーション部分に属するか、等の情報を利用して、型に対するスコア付けを行い、スコアがより高い型（すなわち、より利用者にとって有益と思われる型）をＧＵＩ画面上の見やすく、かつ、選択しやすい箇所に出力することによって、本発明の課題の１つを解決する。すなわち、指定されたインスタンス・メソッドの呼び出しに対応するメソッド定義を表示する際に、複数のメソッド定義の候補の中から利用者によって選択される可能性が高いものほど選択しやすい場所に表示することができる。
【実施例１】
【００３９】
次に、本発明の第１の実施例について図面を参照して詳細に説明する。【００４０】
図２を参照すると、本実施例に係る情報表示装置１０は、プログラム制御によって動作する計算機１８と、メモリやハードディスク等の記憶装置１７とを備える。計算機１８は、キーボード、マウス等を有する入力部１１と、モニタ等を有する出力部１６とに接続される。計算機１８は、実行時型収集部１２、第１の並び替え（スコア割り当て）部Ａ１３、第２の並び替え（スコア割り当て）部Ｂ１４及び選択結果表示部１５を備える。記憶装置１７は、参照情報、生成情報、ＡＰＰ／ＬＩＢ情報及びソースコードを保持する。【００４１】
これらの各部は、次のように動作する。入力部１１は、ユーザ（利用者）が出力部（モニタ等）１６に表示されたソースコード閲覧・編集用のＧＵＩ（グラフィカル・ユーザ・インタフェース、非図示）に基づいて、行う入力を受け付ける。本実施例において、入力部１１は、ユーザが閲覧用のＧＵＩに基づいて、インスタンス・メソッドの呼び出し部分を選択し、かつ、その定義情報を表示させる旨の指示を行ったことを検知する。【００４２】
実行時型収集部１２は、入力部１１によって選択されたインスタンス・メソッドの呼び出し情報を受信すると、当該インスタンス・メソッドのレシーバ・オブジェクトを参照する変数に対する実行時型情報を参照情報から読み込む。読み込んだ型の情報から図３に示すような、並び替え情報を構成し、第１の並び替え（スコア割り当て）部Ａ１３に送信する。【００４３】
参照情報Ａは、記憶装置１７に保持される参照情報の具体例である。参照情報Ａは、変数とその変数によって実行時に参照される可能性のある型の集合と、を対応づける表である。かかる参照情報Ａは、例えば、ＣＨＡ（クラス・ヒエラルキー・アナリシス）や、ＲＴＡ（ラピッド・タイプ・アナリシス）、ＶＴＡ（バリアブル・タイプ・アナリシス）、ポインタ解析などによって生成することができる。特に、ＣＨＡとＲＴＡの結果として得られる参照情報は、図４に示す参照情報Ｂの構成からなる。一方、ｆｌｏｗ−ｓｅｎｓｉｔｉｖｅ（フロー・センシティブ）なポインタ解析の結果として得られる参照情報は、図５に示す参照情報Ｃの構成からなる。これらの参照情報Ｂ、Ｃに基づく処理については、後述する。【００４４】
並び替え情報は型情報に加えて、並べ替えのためのスコア情報を有する。生成時のスコアの初期値は０とする。【００４５】
並び替え（スコア割り当て）部Ａ１３は、並び替え情報を受信すると、生成情報Ａから、並び替え情報に含まれる各型の生成情報を取得する。各型に対応する値がｔｒｕｅの場合に限って、並び替え情報の対応するスコアの値に、例えば、２を加える。処理終了後、並び替え（スコア割り当て）部Ａ１３は並び替え情報を並び替え（スコア割り当て）部Ｂ１４に送信する。【００４６】
生成情報の具体例を生成情報Ａに示す。本実施例において、プログラムはアプリケーション部（ＡＰＰ）とライブラリ部（ＬＩＢ）とに分割されているものとする。例えば、広く利用されているプログラム開発環境Ｅｃｌｉｐｓｅ（エクリプス）においては、アプリケーション部とライブラリ部とが区切られて管理される。生成情報Ａは、各型がプログラムのアプリケーション部で生成されているか否かをｔｒｕｅ又はｆａｌｓｅによって示す。かかる生成情報は、アプリケーション部のソースコードに登場するオブジェクト生成命令（例えば、命令ｎｅｗ）の対象となる型を収集することによって、生成することができる。本実施例では、あらかじめ記憶装置１７に生成情報が保持されているものとする。【００４７】
並び替え（スコア割り当て）部Ｂ１４は、並び替え情報を受信すると、記憶装置１７が保持するＡＰＰ／ＬＩＢ情報から、並び替え情報に含まれる各型のＡＰＰ／ＬＩＢ情報を取得する。当該型がアプリケーション部（ＡＰＰ）に含まれる場合のみ、並び替え情報の対応するスコアの値に、例えば、１を加える。処理終了後、並び替え（スコア割り当て）部Ｂ１４は、並び替え情報を選択結果表示部１５に送信する。【００４８】
ＡＰＰ／ＬＩＢ情報の具体例をＡＰＰ／ＬＩＢ情報Ａに示す。先に述べた通り、プログラムはアプリケーション部とライブラリ部に分割され、ＡＰＰ／ＬＩＢ情報Ａは、ある型がアプリケーション部（ＡＰＰ）に属するかライブラリ部（ＬＩＢ）に属するかを型と値（ＡＰＰ又はＬＩＢ）との組によって格納している。【００４９】
選択結果表示部１５は、並び替え情報を受信すると、並び替え情報に含まれる型をリスト型のデータ構造に格納し、各型に対応するスコアの値によって降順にソートした後、ソートしたリストを出力部１６に送信する。また、選択結果表示部１５は、利用者が選択した型を入力部１１から受信し、その型に対応するクラス定義をソースコードから読み込む。さらに、選択結果表示部１５は、クラス定義に含まれる、選択されたインスタンス・メソッドに対応するメソッド定義を、出力部１６を介してＧＵＩ画面に出力する。【００５０】
次に、図６のフローチャートを参照して本実例に係る情報表示装置１０全体の動作について詳細に説明する。【００５１】
入力部１１は、利用者のＧＵＩへの入力を検出し、ＧＵＩに表示されているソースコードのインスタンス・メソッドの呼び出し箇所が選択され、その定義の表示を求める入力が利用者より与えられた場合には、実行時型収集部１２に選択されたインスタンス・メソッドの情報を送信する。インスタンス・メソッドの情報とは、そのインスタンス・メソッドが登場するソースコード中の場所、レシーバ・オブジェクトを参照する変数名、メソッドを表現する文字列（シグニチャ）等を含む。実行時型収集部１２は、インスタンス・メソッドの情報を受信すると、記憶装置１７に格納された参照情報から、そのインスタンス・メソッドのレシーバ・オブジェクトを参照する変数に対する型の情報（実行時型）を取り出す（図６のステップＳ１１）。【００５２】
先に述べたように、参照情報は、例えば、ＣＨＡ、ＲＴＡ、ＶＴＡ、ポインタ解析によって生成することができる。特に、ＣＴＡとＲＴＡの場合、変数と型の集合が対応した表ではなく、型と型の集合との対応を示す表が得られる（図４の参照情報Ｂ）。この場合、選択されたインスタンス・メソッドのレシーバ・オブジェクトを参照する変数が定義された型に対する型の集合を取得する。また、ｆｌｏｗ−ｓｅｎｓｉｔｉｖｅなポインタ解析の場合、変数はプログラム中に登場する場所によって区別されるため、図５の参照情報Ｃに示すように、変数及び場所の組と型の集合との対応を示す表が得られる。この場合、当該インスタンス・メソッドのレシーバ・オブジェクトを参照する変数と、その変数が登場するプログラム中の場所とに基づいて、型の集合を取得する。【００５３】
実行時型収集部１２は、レシーバ・オブジェクトを参照する変数の実行時型を示す型の集合を用いて、図３に示す並び替え情報を生成する。第１列の型Ａ、Ｂはそれぞれ実行時型の集合の要素にそれぞれ対応する。一方、第２列のスコアは整数とし、初期値として０が設定されるものとする。【００５４】
レシーバ・オブジェクトを参照する変数の実行時型の集合の要素数が２以上である（１より大きい）場合（ステップＳ１２のＹｅｓ）には、実行時型収集部１２は、生成した並び替え情報を並び替え（スコア割り当て）部Ａ１３に送信する。一方、要素数が１の場合（ステップＳ１２のＮｏ）には、ソートの必要がないため、実行時型収集部１２は、並び替え情報を直接、選択結果表示部１５に送信する。なお、要素数が０の場合は、実行時型の解析に失敗するなどの問題が発生している可能性があるために、この段階でエラーを出力して処理を終える。【００５５】
次に、並び替え（スコア割り当て）部Ａ１３は、並び替え情報を受信すると、記憶装置１７に格納された生成情報から、各型の生成情報を取得する。各型の生成情報の値がｔｒｕｅである場合には、その型のオブジェクトはプログラムのアプリケーション部で生成される。並び替え情報に含まれる型のそれぞれについて、生成情報の値がｔｒｕｅである場合には対応するスコアの値に２を加える（ステップＳ１３）。本実施例においては、スコアの値が大きいほど利用者にとって有益な情報である可能性が高いものと判定する。すなわち、本実施例は、アプリケーション部で生成されている型の情報の方が、ライブラリ部で生成されている型の情報よりも、ユーザにとって有益であるとの仮定に基づく。並び替え（スコア割り当て）部Ａ１３は並び替え情報に含まれるすべての型を処理すると、前記並び替え情報を並び替え（スコア割り当て）部Ｂ１４に送信する。【００５６】
並び替え（スコア割り当て）部Ｂ１４は、並び替え情報を受信すると、記憶装置１７に格納されたＡＰＰ／ＬＩＢ情報から、各型のＡＰＰ／ＬＩＢ情報を取得する。型に対応する値がＡＰＰである場合にはその型定義はアプリケーション部に属し、ＬＩＢである場合にはライブラリ部に属する。並び替え（スコア割り当て）部Ｂ１４は、並び替え情報の各型について、ＡＰＰ／ＬＩＢ情報の対応する値を調べ、値がＡＰＰであればその型に対応するスコアに１を加える（ステップＳ１４）。すべての型について処理を終えると、並び替え（スコア割り当て）部Ｂ１４は、並び替え情報を選択結果表示部１５に送信する。なお、本実施例では、アプリケーション部に属する型定義の方が、ライブラリ部に属する型定義よりも、ユーザにとって有益であるものとの仮定に基づく。【００５７】
ランク付け処理Ａ（ステップＳ１３）とランク付け処理Ｂ（ステップＳ１４）とによって、アプリケーション部で生成され、かつ、型定義がアプリケーション部に属する型のスコアは３（最高）、アプリケーション部で生成され、かつ、型定義がライブラリ部に属する型のスコアは２、アプリケーション部で生成されず、かつ、型定義がアプリケーション部に属する型のスコアは１、それ以外の型のスコアは０となる。スコア付けの方法は本実施の形態の通りである必要はない。本実施例においては、スコアの割り当てについての好適な事例を示したにすぎない。したがって、ステップＳ１３、Ｓ１４において加算されるスコアの値を変更し、優先度を変更してもよい。【００５８】
選択結果表示部１５は、並び替え情報を受信すると、並び替え情報を降順でソートし（すなわちスコアが大きいものほどリストの上位に位置する）、ソートした順番に基づいて、型情報をＧＵＩ上にリスト表示する（ステップＳ１５）。リスト上位の型を表示するリスト・アイテムに対し、デフォルトでフォーカスを与えておくことが好ましい。デフォルトでフォーカスを与えておくことによって、例えば、Ｅｎｔｅｒキーを押すなどの簡単な操作によって利用者による選択を完了させることができる。また、表示形式は、必ずしもリスト形式である必要はなく、スコアの大きい型ほど利用者にとって見やすいものであればよい。したがって、ソートした後、スコアの降順でＧＵＩ表示をする代わりに、又は、かかる表示とともに、スコアが大きい型ほど文字のフォントのサイズを大きくしたり、見やすい色としたり、又は、文字を強調処理してもよい。選択結果表示部１５は、先に提示した型の一覧の中から利用者が何を選択したかに関する情報を、入力部１１から受信した場合、選択された型に対応する定義情報を記憶装置１７に格納されたソースコードから取り出す。さらに、選択結果表示部１５は、取り出した型定義に含まれ、かつ、選択されたインスタンス・メソッドに対応するメソッド定義を出力部１６へ送信する。出力部１６は、受信したメソッド定義をＧＵＩ画面上に表示する（ステップＳ１６）。なお、オブジェクト指向型言語は継承の機能を有するため、選択されたインスタンス・メソッドのメソッド定義が取り出された型の定義情報に含まれていない場合があり得る。そこで、かかる場合には、取り出された型の親の型を継承木に基づいて探索し、もっとも取り出された型に近い（継承木において当該型への最も短いパスが存在する）親の型定義に含まれるメソッド定義をソースコードから取得して表示する。【００５９】
なお、実行時型が複数ある場合であっても、並び替え（スコア割り当て）部Ａ１３及び並び替え（スコア割り当て）部Ｂ１４の処理を省略して、実行時型収集部１２から、直接、選択結果表示部１５に並び替え情報を送信し、選択結果表示部１５はスコアを考慮することなく型情報を表示してもよい。また、並び替え（スコア割り当て）部Ａ１３の処理（ステップＳ１３）と並び替え（スコア割り当て）部Ｂ１４の処理（ステップＳ１４）とは、順序を逆にしてもよいし、並行して（並列に）処理を進めた後に、各処理において、割り当てられたスコアの値を集計して、各型に対するスコアを算出するようにしてもよい。また、並び替え（スコア割り当て）部Ａ１３の処理（ステップＳ１３）と並び替え（スコア割り当て）部Ｂ１４の処理（ステップＳ１４）のいずれかを省略してもよい。【００６０】
次に、本実施例の情報表示装置の効果について説明する。情報表示装置１０は、インスタンス・メソッドの定義を表示する際、インスタンス・メソッドのレシーバ・オブジェクトを参照する変数の定義型ではなく、実行時型を参照情報から取得して表示するように構成されている。したがって、情報表示装置１０はインスタンス・メソッドの実行時型に対応する定義情報を表示することができる。また、本実施例では、実行時型に対応する複数の型にスコアをつけることによって、候補となる型の一覧を利用者にとって有益なものほど見やすく、又は、選択しやすい形式によって提示するように構成されている。したがって、利用者は少ない労力で必要とする型を選択し、必要な定義情報を参照することができる。
【実施例２】
【００６１】
次に、本発明の第２の実施例に係る情報表示装置について図面を参照して説明する。【００６２】
本実施例に係る情報表示装置１０の動作を、図８に示すプログラムを例として説明する。利用者は４行目の「ｐ．ｆｏｏ（）；」に対応する定義情報を要求したとする。また、Ａｐｐ、Ｑ、Ｒ、はアプリケーション部に属する型であり、ＰとＬｉｂはライブラリ部に属する型であるとする。クラスＡｐｐの中において、３行目のｎｅｗによってＲが生成されているため、生成情報は型Ｒに対してのみｔｒｕｅとなる。【００６３】
ここでは、４行目に登場する変数ｐに対応する型の集合（実行時型）に対する参照情報について説明する。ＣＨＡ、ＲＴＡ、ＶＴＡ、ポインタ解析、のいずれを利用して生成したかによって、参照情報の内容は異なったものとなる。ＣＨＡの場合、型の集合には｛Ｐ、Ｑ、Ｒ｝が含まれる。ＲＴＡの場合には｛Ｑ、Ｒ｝が含まれる。ＶＴＡとポインタ解析の場合には｛Ｒ｝のみが含まれる。ここでは、一例として、ＣＨＡを用いた場合について説明する。このとき、変数ｐに対応する型の集合は｛Ｐ、Ｑ、Ｒ｝である。【００６４】
実行時型収集部１２はｐ．ｆｏｏ（）のレシーバ・オブジェクトを参照する変数の参照情報を取得する。前記変数はｐであり、対応する参照情報は｛Ｐ、Ｑ、Ｒ｝である。【００６５】
次に、並び替え（スコア割り当て）部Ａ１３は、Ｐ、Ｑ、Ｒそれぞれについて生成情報を用いてスコアを付ける。上記の通り、Ｒのみがアプリケーション部分（Ａｐｐ）の中で生成される。したがって、Ｐには０、Ｑには０、Ｒには２のスコアが割り当てられる。【００６６】
次に、並び替え（スコア割り当て）部Ｂ１４は、Ｐ、Ｑ、ＲそれぞれについてＡＰＰ／ＬＩＢ情報を用いてスコアを割り当てる。いま、ＰはＬＩＢ、ＱとＲはＡＰＰであるため、Ｐには０、ＱとＲには１のスコアが割り当てられる。並び替え（スコア割り当て）部Ａ１３において割り当てられたスコアと足し合わせると、結局、Ｐには０、Ｑには１、Ｒには３がスコアとして付けられる。【００６７】
このとき、選択結果表示部１５は、Ｒを最も見やすい場所に表示し、次にＱ、最後にＰの順で見やすい場所に表示される。なお、ＲＴＡの場合には、同様にして、Ｒ、Ｑの順で見やすい場所に表示される。このように、選択結果表示部１５によって、最も見やすく、かつ、選択しやすい場所に表示される型はＲとなる。４行目における変数ｐによって、実行時に参照されるオブジェクトの型は３行目よりＲである。したがって、利用者には、最も見やすい場所に、実行時におけるインスタンス・メソッドの処理内容に応じた定義情報が表示されることになる。【００６８】
選択結果表示部１５は、利用者がＰを選択した場合には９行目の定義、Ｑを選択した場合には１２行目の定義、Ｒを選択した場合には１５行目の定義を、それぞれＧＵＩ画面上に表示する。
【産業上の利用可能性】
【００６９】
本発明は、プログラムの開発を支援するプログラム開発環境のプログラム閲覧機能といった用途に適用することができる。また、プログラムの閲覧を支援するプログラム閲覧ツールといった用途にも適用することができる。
なお、前述の特許文献等の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図１】
2009104658.tif 000003
【図２】
2009104658.tif 000004
【図３】
2009104658.tif 000005
【図４】
2009104658.tif 000006
【図５】
2009104658.tif 000007
【図６】
2009104658.tif 000008
【図７】
2009104658.tif 000009
【図８】
2009104658.tif 000010
【手続補正書】
【提出日】平成21年7月29日(2009.7.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
（削除）
【請求項２】
変数によって実行時に参照され得る型を予め参照情報として記録した記憶装置と、
利用者によって選択されたインスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照される可能性のある型を前記参照情報から抽出する実行時型収集部と、
抽出された型に含まれる前記インスタンス・メソッドの定義情報を表示する選択結果表示部と、を備えることを特徴とする情報表示装置。
【請求項３】
アプリケーション部において生成された型に対し、ライブラリ部において生成された型に対して割り当てられるスコアよりも高いスコアを割り当てる第１の並び替え部、及び／又は、
アプリケーション部に属する型に対し、ライブラリ部に属する型に対して割り当てられるスコアよりも高いスコアを割り当てる第２の並び替え部を備えることを特徴とする、請求項２に記載の情報表示装置。
【請求項４】
アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、それぞれスコアを割り当てることを特徴とする、請求項３に記載の情報表示装置。
【請求項５】
アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、この順に単調に減少するスコアを割り当てることを特徴とする、請求項３に記載の情報表示装置。
【請求項６】
前記選択結果表示部は、スコアの降順にソートして各型に含まれるインスタンス・メソッドの定義情報を表示することを特徴とする、請求項３乃至５のいずれか１項に記載の情報表示装置。
【請求項７】
前記選択結果表示部は、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい又は選択しやすい場所に表示することを特徴とする、請求項３乃至５のいずれか１項に記載の情報表示装置。
【請求項８】
（削除）
【請求項９】
コンピュータが、変数によって実行時に参照され得る型を予め参照情報として記録した記憶装置を参照して、利用者によって選択されたインスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型を前記参照情報から抽出する実行時型収集工程と、
抽出された型に含まれる前記インスタンス・メソッドの定義情報を表示する選択結果表示工程と、を含むことを特徴とする情報表示方法。
【請求項１０】
コンピュータが、アプリケーション部において生成された型に対し、ライブラリ部において生成された型に対して割り当てられるスコアよりも高いスコアを割り当てる第１のスコア割り当て工程、及び／又は、
アプリケーショシ部に属する型に対し、ライブラリ部に属する型に対して割り当てられるスコアよりも高いスコアを割り当てる第２のスコア割り当て工程を含むことを特徴とする、請求項９に記載の情報表示方法。
【請求項１１】
コンピュータが、アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、この順に単調に減少するスコアを割り当てることを特徴とする、請求項１０に記載の情報表示方法。
【請求項１２】
コンピュータが、前記選択結果表示工程において、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい又は選択しやすい場所に表示することを特徴とする、請求項１０又は１１に記載の情報表示方法。
【請求項１３】
（削除）
【請求項１４】
変数によって実行時に参照され得る型を予め参照情報として記録した記憶装置を参照して、利用者によって選択されたインスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型を前記参照情報から抽出する実行時型収集処理と、
抽出された型に含まれる前記インスタンス・メソッドの定義情報を表示する選択結果表示処理と、をコンピュータに実行させることを特徴とする情報表示プログラム。
【請求項１５】
アプリケーション部において生成された型に対し、ライブラリ部において生成された型に対して割り当てられるスコアよりも高いスコアを割り当てる第１のスコア割り当て処理、及び／又は、
アプリケーション部に属する型に対し、ライブラリ部に属する型に対して割り当てられるスコアよりも高いスコアを割り当てる第２のスコア割り当て処理をコンピュータに実行させることを特徴とする、請求項１４に記載の情報表示プログラム。
【請求項１６】
アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、この順に単調に減少するスコアを割り当てる処理をコンピュータに実行させることを特徴とする、請求項１５に記載の情報表示プログラム。
【請求項１７】
前記選択結果表示処理において、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい又は選択しやすい場所に表示する処理をコンピュータに実行させることを特徴とする、請求項１５又は１６に記載の情報表示プログラム。
【請求項１８】
前記参照情報は、ＣＨＡ（クラス・ヒエラルキー・アナリシス）、ＲＴＡ（ラピッド・タイプ・アナリシス）、ＶＴＡ（バリアブル・タイプ・アナリシス）及びポインタ解析の少なくともいずれかによって生成されたものである、請求項２乃至７のいずれか１項に記載の情報表示装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
はなく、１５行目で定義されているものである。なぜならば、４行目の変数ｐは３行目の代入によって、クラスＲのインスタンスを参照するからである。したがって、図８のソースコードの場合には、４行目ではなく１５行目のメソッド定義を利用者に提示した方が、利用者にとって有益である。ここでは、変数に割り当てられた型（「定義型」）と、変数によってプログラムの実行時に参照されるオブジェクトの型（「実行時型」）と、を区別する。図８のソースコードにおいては、変数ｐの定義型はＰであり、一方、実行時型はＲである。
［０００９］
情報表示装置１１０における第１の問題点は、指定されたインスタンス・メソッドの呼び出しに対応するメソッド定義を表示する際、変数の定義型におけるメソッド定義が表示されるため、利用者は実行時におけるインスタンス・メソッドの処理内容を把握することができないという点である。
［００１０］
情報表示装置１１０における第２の問題点は、指定されたインスタンス・メソッドの呼び出しに対応するメソッド定義を表示する際に、表示される定義情報の候補が複数となった場合には、適切なメソッド定義を選択するのに手間を要することである。選択された変数の実行時型には複数の型が対応する場合があり、かかる場合、利用者はその中から所望の定義情報を選択する必要に迫られるからである。
［００１１］
そこで、指定されたインスタンス・メソッドの呼び出しに対応するメソッド定義を表示する際に、実行時におけるインスタンス・メソッドの処理内容に応じた定義情報を表示する情報表示装置、方法及びプログラムを提供することが課題となる。また、指定されたインスタンス・メソッドの呼び出しに対応するメソッド定義情報を表示する際に、複数の定義情報の候補から利用者によって選択される可能性が高いものほど選択しやすい場所に表示する情報表示装置、方法及びプログラムを提供することが課題となる。
課題を解決するための手段
［００１２］
本発明の第１の視点に係る情報表示装置は、
変数によって実行時に参照され得る型を予め参照情報として記録した記憶装置と、
利用者によって選択されたインスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照される可能性のある型を前記参照情報から抽出する実行時型収集部と、
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
抽出された型における（含まれる）前記インスタンス・メソッドの定義情報を表示する選択結果表示部と、を備える。
［００１３］
第１の展開形態の情報表示装置は、
アプリケーション部において生成された型に対し、ライブラリ部において生成された型に対して割り当てられるスコアよりも高いスコアを割り当てる第１の並び替え（スコア割り当て）部、及び／又は、
アプリケーション部に属する型に対し、ライブラリ部に属する型に対して割り当てられるスコアよりも高いスコアを割り当てる第２の並び替え（スコア割り当て）部を備えることが好ましい。
［００１４］
第２の展開形態の情報表示装置は、
アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、それぞれスコアを割り当てることが好ましい。
［００１５］
第３の展開形態の情報表示装置は、
アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、この順に単調に減少するスコアを割り当てることが好ましい。
［００１６］
第４の展開形態の情報表示装置は、
前記選択結果表示部が、スコアの降順にソートして各型に含まれるインスタンス・メソッドの定義情報を表示することが好ましい。
［００１７］
第５の展開形態の情報表示装置は、
前記選択結果表示部が、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい又は選択しやすい場所に表示することが好ましい。
［００１８］
本発明の第２の視点に係る情報表示方法は、コンピュータが、
変数によって実行時に参照され得る型を予め参照情報として記録した記憶装置を
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
参照して、利用者によって選択されたインスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型を前記参照情報から抽出する実行時型収集工程と、
抽出された型における（含まれる）前記インスタンス・メソッドの定義情報を表示する選択結果表示工程と、を含む。
［００１９］
第６の展開形態の情報表示方法は、コンピュータが、
アプリケーション部において生成された型に対し、ライブラリ部において生成された型に対して割り当てられるスコアよりも高いスコアを割り当てる第１のスコア割り当て工程、及び／又は、
アプリケーション部に属する型に対し、ライブラリ部に属する型に対して割り当てられるスコアよりも高いスコアを割り当てる第２のスコア割り当て工程を含むことが好ましい。
［００２０］
第７の展開形態の情報表示方法は、コンピュータが、
アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、この順に単調に減少するスコアを割り当てることが好ましい。
［００２１］
第８の展開形態の情報表示方法は、コンピュータが、
前記選択結果表示工程において、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい又は選択しやすい場所に表示することが好ましい。
［００２２］
本発明の第３の視点に係る情報表示プログラムは、変数によって実行時に参照され得る型を予め参照情報として記録した記憶装置を参照して、利用者によって選択されたインスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型を前記参照情報から抽出する実行時型収集処理と、
抽出された型における（含まれる）前記インスタンス・メソッドの定義情報を表示する選択結果表示処理と、をコンピュータに実行させる。
［００２３］
第９の展開形態の情報表示プログラムは、
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
アプリケーション部において生成された型に対し、ライブラリ部において生成された型に対して割り当てられるスコアよりも高いスコアを割り当てる第１のスコア割り当て処理、及び／又は、
アプリケーション部に属する型に対し、ライブラリ部に属する型に対して割り当てられるスコアよりも高いスコアを割り当てる第２のスコア割り当て処理をコンピュータに実行させることが好ましい。
［００２４］
第１０の展開形態の情報表示プログラムは、
アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、この順に単調に減少するスコアを割り当てる処理をコンピュータに実行させることが好ましい。
［００２５］
第１１の展開形態の情報表示プログラムは、
前記選択結果表示処理において、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい又は選択しやすい場所に表示する処理をコンピュータに実行させることが好ましい。
［００２６］
第１２の展開形態の情報表示装置は、上記の参照情報が、ＣＨＡ（クラス・ヒエラルキー・アナリシス）、ＲＴＡ（ラピッド・タイプ・アナリシス）、ＶＴＡ（バリアブル・タイプ・アナリシス）及びポインタ解析の少なくともいずれかによって生成されたものであってもよい。
発明の効果
［００２７］
本発明によって、利用者によって選択されたインスタンス・メソッドの定義情報を表示する際に、実行時におけるインスタンス・メソッドの処理内容に応じた定義情報を表示する情報表示装置、方法及びプログラムが提供される。その理由は、インスタンス・
【手続補正書】
【提出日】平成21年11月9日(2009.11.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
（削除）
【請求項２】
（削除）
【請求項３】
変数によって実行時に参照され得る型を予め参照情報として記録した記憶装置と、
利用者によって選択されたインスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照される可能性のある型を前記参照情報から抽出する実行時型収集部と、
抽出された型に含まれる前記インスタンス・メソッドの定義情報を表示する選択結果表示部と、
プログラムのうちの新規に開発されたモジュールであるアプリケーション部に含まれるコード中で生成されるオブジェクトの型とプログラムのうちの既存のモジュールであるライブラリ部に含まれるコード中で生成されるオブジェクトの型に対して、それぞれスコアを割り当てる並び替え部とを備えていることを特徴とする情報表示装置。
【請求項４】
（削除）
【請求項５】
前記並び替え部は、前記アプリケーション部に含まれるコード中で生成されるオブジェクトの型に対して、前記ライブラリ部に含まれるコード中で生成されるオブジェクトの型に対して割り当てられるスコアよりも高いスコアを割り当てることを特徴とする、請求項３に記載の情報表示装置。
【請求項６】
前記選択結果表示部は、スコアの降順にソートして各型に含まれるインスタンス・メソッドの定義情報を表示することを特徴とする、請求項３又は５に記載の情報表示装置。
【請求項７】
前記選択結果表示部は、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい、又は、選択しやすい場所に表示することを特徴とする、請求項３又は５に記載の情報表示装置。
【請求項８】
（削除）
【請求項９】
（削除）
【請求項１０】
コンピュータが、変数によって実行時に参照され得る型を予め参照情報として記録した記憶装置を参照して、利用者によって選択されたインスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型を前記参照情報から抽出する実行時型収集工程と、
抽出された型に含まれる前記インスタンス・メソッドの定義情報を表示する選択結果表示工程と、
プログラムのうちの新規に開発されたモジュールであるアプリケーション部に含まれるコード中で生成されるオブジェクトの型とプログラムのうちの既存のモジュールであるライブラリ部に含まれるコード中で生成されるオブジェクトの型に対して、それぞれスコアを割り当てるスコア割り当て工程とを含むことを特徴とする情報表示方法。
【請求項１１】
コンピュータが、前記アプリケーション部に含まれるコード中で生成されるオブジェクトの型に対して、前記ライブラリ部に含まれるコード中で生成されるオブジェクトの型に対して割り当てられるスコアよりも高いスコアを割り当てることを特徴とする、請求項１０に記載の情報表示方法。
【請求項１２】
コンピュータが、前記選択結果表示工程において、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい、又は、選択しやすい場所に表示することを特徴とする、請求項１０又は１１に記載の情報表示方法。
【請求項１３】
（削除）
【請求項１４】
（削除）
【請求項１５】
変数によって実行時に参照され得る型を予め参照情報として記録した記憶装置を参照して、利用者によって選択されたインスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型を前記参照情報から抽出する実行時型収集処理と、
抽出された型に含まれる前記インスタンス・メソッドの定義情報を表示する選択結果表示処理と、
プログラムのうちの新規に開発されたモジュールであるアプリケーション部に含まれるコード中で生成されるオブジェクトの型とプログラムのうちの既存のモジュールであるライブラリ部に含まれるコード中で生成されるオブジェクトの型に対して、それぞれスコアを割り当てるスコア割り当て処理とをコンピュータに実行させることを特徴とするプログラム。
【請求項１６】
前記アプリケーション部に含まれるコード中で生成されるオブジェクトの型に対して、前記ライブラリ部に含まれるコード中で生成されるオブジェクトの型に対して割り当てられるスコアよりも高いスコアを割り当てる処理をコンピュータに実行させることを特徴とする、請求項１５に記載のプログラム。
【請求項１７】
前記選択結果表示処理において、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい、又は、選択しやすい場所に表示する処理をコンピュータに実行させることを特徴とする、請求項１５又は１６に記載のプログラム。
【請求項１８】
前記参照情報は、ＣＨＡ（クラス・ヒエラルキー・アナリシス）、ＲＴＡ（ラピッド・タイプ・アナリシス）、ＶＴＡ（バリアブル・タイプ・アナリシス）及びポインタ解析の少なくともいずれかによって生成されたものである、請求項３及び５乃至７のいずれか１項に記載の情報表示装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
はなく、１５行目で定義されているものである。なぜならば、４行目の変数ｐは３行目の代入によって、クラスＲのインスタンスを参照するからである。したがって、図８のソースコードの場合には、４行目ではなく１５行目のメソッド定義を利用者に提示した方が、利用者にとって有益である。ここでは、変数に割り当てられた型（「定義型」）と、変数によってプログラムの実行時に参照されるオブジェクトの型（「実行時型」）と、を区別する。図８のソースコードにおいては、変数ｐの定義型はＰであり、一方、実行時型はＲである。
［０００９］
情報表示装置１１０における第１の問題点は、指定されたインスタンス・メソッドの呼び出しに対応するメソッド定義を表示する際、変数の定義型におけるメソッド定義が表示されるため、利用者は実行時におけるインスタンス・メソッドの処理内容を把握することができないという点である。
［００１０］
情報表示装置１１０における第２の問題点は、指定されたインスタンス・メソッドの呼び出しに対応するメソッド定義を表示する際に、表示される定義情報の候補が複数となった場合には、適切なメソッド定義を選択するのに手間を要することである。選択された変数の実行時型には複数の型が対応する場合があり、かかる場合、利用者はその中から所望の定義情報を選択する必要に迫られるからである。
［００１１］
そこで、指定されたインスタンス・メソッドの呼び出しに対応するメソッド定義を表示する際に、実行時におけるインスタンス・メソッドの処理内容に応じた定義情報を表示する情報表示装置、方法及びプログラムを提供することが課題となる。また、指定されたインスタンス・メソッドの呼び出しに対応するメソッド定義情報を表示する際に、複数の定義情報の候補から利用者によって選択される可能性が高いものほど選択しやすい場所に表示する情報表示装置、方法及びプログラムを提供することが課題となる。
課題を解決するための手段
［００１２］
［００１３］
本発明の第１の視点に係る情報表示装置は、
変数によって実行時に参照され得る型を予め参照情報として記録した記憶装置と、
利用者によって選択されたインスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照される可能性のある型を前記参照情報から抽出する実行
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
時型収集部と、
抽出された型に含まれる前記インスタンス・メソッドの定義情報を表示する選択結果表示部と、
プログラムのうちの新規に開発されたモジュールであるアプリケーション部に含まれるコード中で生成されるオブジェクトの型とプログラムのうちの既存のモジュールであるライブラリ部に含まれるコード中で生成されるオブジェクトの型に対して、それぞれスコアを割り当てる並び替え部と
を備えていることが好ましい。
［００１４］
［００１５］
第１の展開形態の情報表示装置は、
前記並び替え部が、前記アプリケーション部に含まれるコード中で生成されるオブジェクトの型に対して、前記ライブラリ部に含まれるコード中で生成されるオブジェクトの型に対して割り当てられるスコアよりも高いスコアを割り当てることが好ましい。
［００１６］
第２の展開形態の情報表示装置は、
前記選択結果表示部が、スコアの降順にソートして各型に含まれるインスタンス・メソッドの定義情報を表示することが好ましい。
［００１７］
第３の展開形態の情報表示装置は、
前記選択結果表示部が、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい、又は、選択しやすい場所に表示することが好ましい。
［００１８］
［００１９］
本発明の第２の視点に係る情報表示方法は、コンピュータが、
変数によって実行時に参照され得る型を予め参照情報として記録した記憶装置を参照して、利用者によって選択されたインスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型を前記参照情報から抽出する実行時型収集工程と、
抽出された型に含まれる前記インスタンス・メソッドの定義情報を表示する選択結果表示工程と、
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
プログラムのうちの新規に開発されたモジュールであるアプリケーション部に含まれるコード中で生成されるオブジェクトの型とプログラムのうちの既存のモジュールであるライブラリ部に含まれるコード中で生成されるオブジェクトの型に対して、それぞれスコアを割り当てるスコア割り当て工程と
を含むことが好ましい。
［００２０］
第４の展開形態の情報表示方法は、コンピュータが、
前記アプリケーション部に含まれるコード中で生成されるオブジェクトの型に対して、前記ライブラリ部に含まれるコード中で生成されるオブジェクトの型に対して割り当てられるスコアよりも高いスコアを割り当てることが好ましい。
［００２１］
第５の展開形態の情報表示方法は、コンピュータが、
前記選択結果表示工程において、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい、又は、選択しやすい場所に表示することが好ましい。
［００２２］
［００２３］
本発明の第３の視点に係るプログラムは、
変数によって実行時に参照され得る型を予め参照情報として記録した記憶装置を参照して、利用者によって選択されたインスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型を前記参照情報から抽出する実行時型収集処理と、
抽出された型に含まれる前記インスタンス・メソッドの定義情報を表示する選択結果表示処理と、
プログラムのうちの新規に開発されたモジュールであるアプリケーション部に含まれるコード中で生成されるオブジェクトの型とプログラムのうちの既存のモジュールであるライブラリ部に含まれるコード中で生成されるオブジェクト型に対して、それぞれスコアを割り当てるスコア割り当て処理とをコンピュータに実行させることが好ましい。
［００２４］
第６の展開形態のプログラムは、
前記アプリケーション部に含まれるコード中で生成されるオブジェクトの型に対して、前記ライブラリ部に含まれるコード中で生成されるオブジェクトの型に対して割り当
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
てられるスコアよりも高いスコアを割り当てる処理をコンピュータに実行させることが好ましい。
［００２５］
第７の展開形態のプログラムは、
前記選択結果表示処理において、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい、又は、選択しやすい場所に表示する処理をコンピュータに実行させることが好ましい。
［００２６］
第８の展開形態の情報表示装置は、上記の参照情報が、ＣＨＡ（クラス・ヒエラルキー・アナリシス）、ＲＴＡ（ラピッド・タイプ・アナリシス）、ＶＴＡ（バリアブル・タイプ・アナリシス）及びポインタ解析の少なくともいずれかによって生成されたものであってもよい。
発明の効果
［００２７］
本発明によって、利用者によって選択されたインスタンス・メソッドの定義情報を表示する際に、実行時におけるインスタンス・メソッドの処理内容に応じた定義情報を表示する情報表示装置、方法及びプログラムが提供される。その理由は、インスタンス・
【国際調査報告】
2009104658.tif 000011
2009104658.tif 000012
2009104658.tif 000013
2009104658.tif 000014
2009104658.tif 000015
2009104658.tif 000016