WO2009104658A1 - 情報表示装置、方法及びプログラム - Google Patents
情報表示装置、方法及びプログラム Download PDFInfo
- Publication number
- WO2009104658A1 WO2009104658A1 PCT/JP2009/052830 JP2009052830W WO2009104658A1 WO 2009104658 A1 WO2009104658 A1 WO 2009104658A1 JP 2009052830 W JP2009052830 W JP 2009052830W WO 2009104658 A1 WO2009104658 A1 WO 2009104658A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- type
- information
- score
- unit
- belonging
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/74—Reverse engineering; Extracting design information from source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
Definitions
- the present invention is based on the priority claim of Japanese patent application: Japanese Patent Application No. 2008-037604 (filed on Feb. 19, 2008), the entire description of which is incorporated herein by reference. Shall.
- the present invention relates to an information display device, method, and program, and more particularly, to an information display device, method, and program for displaying instance method information appearing in a source code of a program written in an object-oriented language.
- Non-Patent Document 1 describes an information display device. As illustrated in FIG. 7, the information display device 110 described in Non-Patent Document 1 includes an input unit 111, a definition type collection unit 112, an output unit 116, and a storage device 117. The storage device 117 stores definition type information and source code.
- the information display device 110 operates as follows. It is assumed that an editor for viewing or editing the program source code is already operating.
- the input unit 111 receives user input from a mouse or keyboard. When a call to a specific instance method included in the source code displayed on the screen is selected, when an input corresponding to the function of “open declaration” (for example, input of the function key F3) is received, The input unit 111 transmits the information on the instance method to the definition type collection unit 112.
- the definition type collection unit 112 When the definition type collection unit 112 receives the instance method information, the definition type collection unit 112 reads, from the definition type information stored in the storage device 117, the type information for the variable that refers to the receiver object of the received instance method.
- the definition type information A shows an example of the configuration of definition type information held in the storage device 117.
- the definition type information A indicates a variable and a type for the variable.
- the definition type information A can be generated by a technique called type analysis, for example.
- the definition type collection unit 112 acquires type information for a variable that references the receiver object from the definition type information A, acquires information (class definition) corresponding to the acquired type from the source code, and includes instances included in the class definition Method definition information (method definition) is output via the output unit 116.
- the source code is assumed to be displayed in the editor. For example, it is assumed that the user selects “p.foo ();” on the fourth line and performs an input operation for calling the “open declaration” function. At this time, the variable p and the instance method foo () are transmitted from the input unit 111 to the definition type collection unit 112.
- the definition type collection unit 112 acquires the type corresponding to the variable p from the definition type information A. In the case of the source code shown in FIG. 8, it is determined that the type of the variable p is P by type analysis.
- the definition type collection unit 112 acquires the P class definition from the source code, and transmits the method definition of the instance method foo () defined in the P class information to the output unit 116.
- the output unit 116 presents the method definition of the instance method foo () on the ninth line to the user.
- the information display device 110 displays the information of the instance method by using the variable type information.
- Non-Patent Document 1 The entire contents disclosed in Non-Patent Document 1 are incorporated herein by reference. The following analysis was made by the present inventors.
- a problem in the information display device 110 will be described with reference to FIG. As described above, the information display device 110 includes the p.
- the foo () method definition on the ninth line is displayed as information corresponding to the instance method call foo ().
- the instance method actually called in the fourth line is not defined in the ninth line but defined in the fifteenth line. This is because the variable p on the fourth line refers to the instance of the class R by the substitution on the third line. Therefore, in the case of the source code of FIG. 8, it is more beneficial for the user to present the method definition on the 15th line instead of the 4th line to the user.
- the type assigned to the variable (“definition type”) is distinguished from the type of the object (“runtime type”) referenced by the variable when the program is executed.
- the definition type of the variable p is P
- the runtime type is R.
- the first problem in the information display device 110 is that when displaying the method definition corresponding to the specified instance method call, the method definition in the variable definition type is displayed. -It is a point that the processing contents of the method cannot be grasped.
- the second problem in the information display device 110 is that when a plurality of definition information candidates are displayed when displaying a method definition corresponding to a specified instance method call, an appropriate method is displayed. It takes time to select a definition. This is because a plurality of types may correspond to the runtime type of the selected variable, and in such a case, the user is required to select desired definition information.
- an information display device, method, and program for displaying definition information corresponding to processing contents of an instance method at the time of execution when displaying a method definition corresponding to a specified instance method call. It becomes a problem.
- information display that is more likely to be selected by the user from a plurality of definition information candidates is displayed in a more easily selectable location Providing an apparatus, a method, and a program becomes a problem.
- An information display device is: Displays definition information of the instance method in a type that can be referenced at runtime by a variable that references the receiver object of the instance method.
- the information display device of the first development form is A storage device that stores, as reference information, a type that can be referred to at runtime by a variable; A runtime type collection unit that extracts from the reference information a type that may be referenced at runtime by a variable that references a receiver object of the instance method; A selection result display unit that displays definition information of the instance method in (included in) the extracted type.
- the information display device of the second development form is A first rearrangement (score assignment) unit that assigns a higher score to a type generated in the application unit than a score assigned to a type generated in the library unit; and / or It is preferable to include a second rearrangement (score assignment) unit that assigns a higher score to a type belonging to the application unit than a score assigned to a type belonging to the library unit.
- the information display device of the third development form is Scores are generated for types generated in the application part and belonging to the application part, types generated in the application part and not belonging to the application part, types not generated in the application part and belonging to the application part, and other types. It is preferable to assign.
- the information display device of the fourth development form is Monotonic in this order for types generated in the application section and belonging to the application section, types generated in the application section and not belonging to the application section, types not generated in the application section and belonging to the application section, and other types Is preferably assigned a decreasing score.
- the information display device of the fifth development form is It is preferable that the selection result display unit displays definition information of instance methods included in each type by sorting in descending order of score.
- the information display device of the sixth development form is It is preferable that the selection result display unit displays the definition information of the instance method in the type having a higher score in a place where the user can easily see or select.
- the information display method is: Displaying definition information of the instance method in a type that can be referenced at runtime by a variable that references a receiver object of the instance method selected by the user.
- the information display method of the seventh development form is A runtime type that extracts a type that can be referenced at runtime by a variable that references a receiver object of the instance method from the reference information with reference to a storage device that stores a type that can be referenced by the variable at runtime as reference information Collection process; A selection result display step for displaying definition information of the instance method in (included in) the extracted type.
- the information display method of the eighth development form is A first score assigning step for assigning a higher score to a type generated in the application unit than a score assigned to a type generated in the library unit; and / or It is preferable to include a second score assigning step for assigning a higher score to a type belonging to the application unit than a score assigned to a type belonging to the library unit.
- the information display method of the ninth development form is Monotonic in this order for types generated in the application section and belonging to the application section, types generated in the application section and not belonging to the application section, types not generated in the application section and belonging to the application section, and other types Is preferably assigned a decreasing score.
- the information display method of the tenth development form is In the selection result display step, it is preferable that the definition information of the instance method in the type having a higher score is displayed in a place that is easier for the user to see or select.
- An information display program is: Causes the computer to execute a process of displaying definition information of the instance method in a type that can be referred to at runtime by a variable that references the receiver object of the instance method selected by the user.
- the information display program of the eleventh development form is A runtime type that extracts a type that can be referenced at runtime by a variable that references a receiver object of the instance method from the reference information with reference to a storage device that stores a type that can be referenced by the variable at runtime as reference information Collection process, A selection result display process for displaying the definition information of the instance method in the extracted type is included in the computer.
- the information display program of the 12th development form is A first score assignment process for assigning a higher score to a type generated in the application unit than a score assigned to a type generated in the library unit; and / or It is preferable to cause the computer to execute a second score assignment process for assigning a higher score to a type belonging to the application unit than a score assigned to a type belonging to the library unit.
- the information display program of the thirteenth development form is Monotonic in this order for types generated in the application section and belonging to the application section, types generated in the application section and not belonging to the application section, types not generated in the application section and belonging to the application section, and other types It is preferable to cause a computer to execute a process of assigning a score that decreases to the computer.
- the information display program of the 14th development form is In the selection result display process, it is preferable to cause the computer to execute a process of displaying the instance method definition information in a higher score type in a place that is easier for the user to see or select.
- an information display device, method, and program for displaying definition information corresponding to processing contents of an instance method at the time of execution when displaying definition information of the instance method selected by the user. .
- the reason is that when displaying instance method definition information, it is possible to display definition information in types that may be referenced at runtime by variables that reference instance method receiver objects. .
- the present invention when there are a plurality of type candidates that may be referred to at the time of execution by a variable that refers to the receiver object of the instance method, it is possible to reduce the effort for the user to select a desired type. it can.
- prioritization is performed from the viewpoint of whether it is generated in the application part or belongs to the application part from a plurality of types of candidates, and is displayed to the user when displayed on the GUI. This is because a useful type is displayed in a place that is easy for the user to see or select.
- FIG. 1 is a block diagram illustrating a configuration of an information display apparatus 10 according to the present embodiment.
- the information display device 10 includes a runtime type collection unit 12, a selection result display unit 15, and a storage device 17.
- the storage device 17 stores, as reference information, an effective type that is referred to by a variable at the time of execution.
- the runtime type collection unit 12 extracts, from the reference information, a type that can be referred to at runtime by a variable that references the receiver object of the instance method.
- the selection result display unit 15 displays definition information of the instance method in the extracted type.
- FIG. 2 is a block diagram illustrating a configuration of the information display apparatus 10 according to the present embodiment.
- the information display device 10 includes a runtime type collection unit 12, a rearrangement (score assignment) unit A ⁇ b> 13, a rearrangement (score assignment) unit B ⁇ b> 14, and a selection result display unit 15.
- the storage device 17 stores, as reference information, a set of types that variables that appear in the program may reference at the time of execution.
- the runtime type collection unit 12 acquires, from the reference information, a set of types that are referred to at the time of execution by a variable that references the receiver object of the instance method.
- the storage device 17 stores information indicating whether the type is generated in the application part as the generation information.
- the first rearrangement (score assignment) unit A13 assigns a score to the acquired type based on the generation information.
- the storage device 17 stores, as APP / LIB information, information indicating whether the type belongs to the application part or the library part.
- the second rearrangement (score assignment) unit B14 assigns a score to the type based on the APP / LIB information.
- the selection result display unit 15 displays the type of the instance method according to the type selected by the user by displaying the type with a higher score on the GUI in a place that is easier for the user to see and select. Is displayed.
- the information display apparatus 10 presents a user with a type that may be referred to at the time of execution by a variable that references a receiver object of an instance method, and provides a method definition corresponding to the selected type.
- a variable that references a receiver object of an instance method
- the information display apparatus 10 presents a user with a type that may be referred to at the time of execution by a variable that references a receiver object of an instance method, and provides a method definition corresponding to the selected type.
- the score for the type is obtained using information such as whether the type is generated in the code corresponding to the application part or belongs to the application part.
- One of the problems of the present invention is solved by attaching a type with a higher score (that is, a type that seems to be more useful to the user) to a location that is easy to see and select on the GUI screen. To do. In other words, when displaying the method definition corresponding to the specified instance method call, the method definition that is more likely to be selected by the user from among multiple method definition candidates should be displayed in a place where it can be easily selected. Can do.
- the information display apparatus 10 includes a computer 18 that operates under program control and a storage device 17 such as a memory or a hard disk.
- the computer 18 is connected to an input unit 11 having a keyboard, a mouse and the like, and an output unit 16 having a monitor and the like.
- the computer 18 includes a runtime type collection unit 12, a first rearrangement (score assignment) unit A13, a second rearrangement (score assignment) unit B14, and a selection result display unit 15.
- the storage device 17 holds reference information, generation information, APP / LIB information, and source code.
- the input unit 11 receives an input made by a user (user) based on a source code viewing / editing GUI (graphical user interface, not shown) displayed on the output unit (monitor, etc.) 16.
- the input unit 11 detects that the user has selected an instance method calling part based on the browsing GUI and has given an instruction to display the definition information.
- the runtime type collection unit 12 When the runtime type collection unit 12 receives the call information of the instance method selected by the input unit 11, the runtime type collection unit 12 reads the runtime type information for the variable that refers to the receiver object of the instance method from the reference information.
- the sort information as shown in FIG. 3 is formed from the read type information, and is transmitted to the first sort (score assignment) unit A13.
- Reference information A is a specific example of the reference information held in the storage device 17.
- the reference information A is a table that associates a variable with a set of types that may be referenced by the variable at the time of execution.
- the reference information A can be generated by, for example, CHA (class hierarchy analysis), RTA (rapid type analysis), VTA (variable type analysis), pointer analysis, and the like.
- CHA class hierarchy analysis
- RTA rapid type analysis
- VTA variable type analysis
- pointer analysis pointer analysis
- the reference information obtained as a result of CHA and RTA has the configuration of reference information B shown in FIG.
- the reference information obtained as a result of the flow-sensitive pointer analysis has the configuration of reference information C shown in FIG. Processing based on these reference information B and C will be described later.
- the sorting information includes score information for sorting in addition to the type information.
- the initial score at the time of generation is 0.
- the rearrangement (score assignment) unit A13 When receiving the rearrangement information, the rearrangement (score assignment) unit A13 acquires the generation information of each type included in the rearrangement information from the generation information A. Only when the value corresponding to each type is true, for example, 2 is added to the score value corresponding to the rearrangement information. After the processing, the rearrangement (score assignment) unit A13 transmits the rearrangement information to the rearrangement (score assignment) unit B14.
- generation information A A specific example of generation information is shown in generation information A.
- the program is divided into an application part (APP) and a library part (LIB).
- APP application part
- LIB library part
- the generation information A indicates whether each type has been generated by the application part of the program by true or false.
- Such generation information can be generated by collecting a target type of an object generation instruction (for example, instruction new) appearing in the source code of the application unit.
- object generation instruction for example, instruction new
- the rearrangement (score assignment) unit B14 When receiving the rearrangement information, the rearrangement (score assignment) unit B14 acquires the APP / LIB information of each type included in the rearrangement information from the APP / LIB information held in the storage device 17. Only when the type is included in the application part (APP), for example, 1 is added to the corresponding score value of the rearrangement information. After the processing, the rearrangement (score assignment) unit B14 transmits the rearrangement information to the selection result display unit 15.
- APP application part
- APP / LIB information A A specific example of APP / LIB information is shown in APP / LIB information A. As described above, the program is divided into an application part and a library part, and APP / LIB information A indicates whether a certain type belongs to the application part (APP) or the library part (LIB). LIB).
- the selection result display unit 15 Upon receiving the sort information, the selection result display unit 15 stores the types included in the sort information in a list type data structure, sorts the sorted list in descending order by the score value corresponding to each type, and then sorts the sorted list. Transmit to the output unit 16.
- the selection result display unit 15 receives the type selected by the user from the input unit 11 and reads the class definition corresponding to the type from the source code. Further, the selection result display unit 15 outputs the method definition corresponding to the selected instance method included in the class definition to the GUI screen via the output unit 16.
- the input unit 11 detects an input to the user's GUI, the location where the instance method of the source code displayed on the GUI is selected, and an input requesting the display of the definition is given by the user
- the information on the selected instance method is transmitted to the runtime type collection unit 12.
- the instance method information includes a location in the source code where the instance method appears, a variable name that refers to the receiver object, a character string (signature) that represents the method, and the like.
- the runtime type collection unit 12 receives the instance method information, the runtime type collection unit 12 obtains type information (runtime type) for a variable referring to the receiver object of the instance method from the reference information stored in the storage device 17. Take out (step S11 in FIG. 6).
- the reference information can be generated by, for example, CHA, RTA, VTA, and pointer analysis.
- CTA and RTA a table indicating correspondence between types and sets of types is obtained instead of tables corresponding to sets of variables and types (reference information B in FIG. 4).
- a set of types for the type in which the variable that refers to the receiver object of the selected instance method is defined is acquired.
- flow-sensitive pointer analysis since variables are distinguished by places where they appear in the program, as shown in the reference information C in FIG. 5, the correspondence between a set of variables and places and a set of types is shown.
- a table is obtained. In this case, a set of types is acquired based on the variable that refers to the receiver object of the instance method and the location in the program where the variable appears.
- the runtime type collection unit 12 generates rearrangement information shown in FIG. 3 by using a set of types indicating runtime types of variables that refer to receiver objects.
- the types A and B in the first column respectively correspond to elements of the set of runtime types.
- the score in the second column is an integer, and 0 is set as an initial value.
- the runtime type collection unit 12 displays the generated reordering information. It transmits to the rearrangement (score assignment) part A13.
- the runtime type collection unit 12 transmits the rearrangement information directly to the selection result display unit 15. If the number of elements is 0, there is a possibility that a problem such as failure of the runtime type analysis has occurred, so an error is output at this stage and the processing is terminated.
- the rearrangement (score assignment) unit A13 acquires the generation information of each type from the generation information stored in the storage device 17.
- the value of the generation information of each type is true, the object of that type is generated by the application part of the program.
- 2 is added to the value of the corresponding score (step S13).
- the present embodiment determines with the possibility that it is information useful for a user so that the value of a score is large. In other words, the present embodiment is based on the assumption that the type information generated in the application unit is more useful to the user than the type information generated in the library unit.
- the rearrangement (score assignment) unit B14 When receiving the rearrangement information, the rearrangement (score assignment) unit B14 acquires the APP / LIB information of each type from the APP / LIB information stored in the storage device 17. If the value corresponding to the type is APP, the type definition belongs to the application part, and if it is LIB, it belongs to the library part. The rearrangement (score assignment) unit B14 checks the value corresponding to the APP / LIB information for each type of rearrangement information, and if the value is APP, adds 1 to the score corresponding to that type (step S14). When the processing is completed for all types, the rearrangement (score assignment) unit B14 transmits the rearrangement information to the selection result display unit 15. In the present embodiment, the type definition belonging to the application part is based on the assumption that the type definition belonging to the library part is more beneficial to the user.
- the ranking process A (step S13) and the ranking process B (step S14) are generated by the application unit, and the type definition of the type belonging to the application unit has a score of 3 (highest), and is generated by the application unit. Also, the score of the type whose type definition belongs to the library part is 2, the score of the type whose type definition belongs to the application part is 1 and the score of the other type is 0.
- the scoring method does not have to be the same as in this embodiment. In the present embodiment, only a preferred case for assigning scores is shown. Therefore, the priority value may be changed by changing the value of the score added in steps S13 and S14.
- the selection result display unit 15 sorts the sort information in descending order (that is, the higher the score, the higher the position of the list), and the type information is displayed on the GUI based on the sorted order.
- a list is displayed (step S15). It is preferable to give a default focus to the list item that displays the type higher in the list. By giving the focus by default, for example, the selection by the user can be completed by a simple operation such as pressing the Enter key. Further, the display format does not necessarily have to be a list format, and any type having a higher score may be easier to view for the user.
- the selection result display unit 15 receives from the input unit 11 information regarding what the user has selected from the list of types presented previously, the selection result display unit 15 stores definition information corresponding to the selected type. Extract from the source code stored in. Further, the selection result display unit 15 transmits to the output unit 16 a method definition that is included in the extracted type definition and that corresponds to the selected instance method. The output unit 16 displays the received method definition on the GUI screen (step S16).
- the method definition of the selected instance method may not be included in the extracted type definition information. Therefore, in such a case, the parent type of the extracted type is searched based on the inheritance tree, and the parent type definition that is closest to the extracted type (the shortest path to the type exists in the inheritance tree). Method definition included in is acquired from the source code and displayed.
- the processing of the sorting (score allocation) unit A13 and the sorting (score allocation) unit B14 is omitted, and the selection result directly from the runtime type collection unit 12
- the rearrangement information may be transmitted to the display unit 15, and the selection result display unit 15 may display the type information without considering the score.
- the processing of the rearrangement (score assignment) part A13 (step S13) and the processing of the rearrangement (score assignment) part B14 (step S14) may be reversed in order or in parallel (in parallel).
- the assigned score values may be aggregated to calculate a score for each type. Further, either the processing of the rearrangement (score assignment) part A13 (step S13) or the processing of the rearrangement (score assignment) part B14 (step S14) may be omitted.
- the information display device 10 is configured to acquire and display the runtime type from the reference information, not the definition type of the variable that refers to the receiver object of the instance method, when displaying the definition of the instance method. Yes. Therefore, the information display device 10 can display definition information corresponding to the runtime type of the instance method. Also, in this embodiment, by scoring a plurality of types corresponding to the runtime type, a list of candidate types is presented in a format that is easier to see or select for those that are useful to the user. It is configured. Therefore, the user can select a required type with less effort and refer to necessary definition information.
- the operation of the information display apparatus 10 according to the present embodiment will be described using the program shown in FIG. 8 as an example. It is assumed that the user requests definition information corresponding to “p.foo ();” on the fourth line. Further, App, Q, and R are types belonging to the application unit, and P and Lib are types belonging to the library unit. In the class App, R is generated by new on the third line, so the generation information is true only for the type R.
- reference information for a set of types (runtime type) corresponding to the variable p appearing on the fourth line will be described.
- the content of the reference information differs depending on whether it is generated using CHA, RTA, VTA, or pointer analysis.
- the set of types includes ⁇ P, Q, R ⁇ .
- ⁇ Q, R ⁇ is included.
- VTA and pointer analysis only ⁇ R ⁇ is included.
- CHA is used at this time.
- the set of types corresponding to the variable p is ⁇ P, Q, R ⁇ .
- the runtime type collection unit 12 is p. Reference information of a variable that references the receiver object of foo () is acquired. The variable is p, and the corresponding reference information is ⁇ P, Q, R ⁇ .
- the rearrangement (score assignment) unit A13 assigns scores for each of P, Q, and R using the generation information. As described above, only R is generated in the application part (App). Therefore, a score of 0 is assigned to P, 0 to Q, and 2 to R.
- the rearrangement (score assignment) unit B14 assigns a score for each of P, Q, and R using APP / LIB information.
- P is LIB
- Q and R are APPs, so 0 is assigned to P, and 1 is assigned to Q and R.
- 0 is assigned to P
- 1 is assigned to Q
- 3 is assigned to R.
- the selection result display unit 15 displays R in the place where it is easy to see, then Q, and finally P in the order where it is easy to see.
- RTA it is displayed in the same way in the order of R and Q in the same manner.
- the type displayed by the selection result display unit 15 at the place where it is most easily visible and easy to select is R.
- the type of the object referenced at the time of execution by the variable p in the fourth line is R from the third line. Accordingly, the definition information corresponding to the processing contents of the instance method at the time of execution is displayed to the user in the most visible place.
- the selection result display unit 15 displays the definition on the 9th line when the user selects P, the definition on the 12th line when Q is selected, and the definition on the 15th line when R is selected. Each is displayed on the GUI screen.
- the present invention can be applied to uses such as a program browsing function in a program development environment that supports program development. Further, the present invention can be applied to a use such as a program browsing tool that supports browsing of a program. It should be noted that the disclosures of the aforementioned patent documents and the like are incorporated herein by reference. Within the scope of the entire disclosure (including claims) of the present invention, the embodiments and examples can be changed and adjusted based on the basic technical concept. Various combinations and selections of various disclosed elements are possible within the scope of the claims of the present invention. That is, the present invention of course includes various variations and modifications that could be made by those skilled in the art according to the entire disclosure including the claims and the technical idea.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
Abstract
Description
本発明は、日本国特許出願:特願2008-037604号(2008年 2月19日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は情報表示装置、方法及びプログラムに関し、特に、オブジェクト指向型言語で記述されたプログラムのソースコードに登場するインスタンス・メソッドの情報を表示する情報表示装置、方法及びプログラムに関する。
以下の分析は、本発明者によってなされたものである。図8を参照して、情報表示装置110における問題点について説明する。上記の通り、情報表示装置110は、4行目のp.foo()というインスタンス・メソッドの呼び出しに対応する情報として、9行目のfoo()メソッド定義を表示する。しかしながら、プログラムの実行時において、4行目において実際に呼び出されるインスタンス・メソッドは9行目で定義されているものではなく、15行目で定義されているものである。なぜならば、4行目の変数pは3行目の代入によって、クラスRのインスタンスを参照するからである。したがって、図8のソースコードの場合には、4行目ではなく15行目のメソッド定義を利用者に提示した方が、利用者にとって有益である。ここでは、変数に割り当てられた型(「定義型」)と、変数によってプログラムの実行時に参照されるオブジェクトの型(「実行時型」)と、を区別する。図8のソースコードにおいては、変数pの定義型はPであり、一方、実行時型はRである。
インスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型における(含まれる)該インスタンス・メソッドの定義情報を表示する。
変数によって実行時に参照され得る型を参照情報として記憶する記憶装置と、
前記インスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照される可能性のある型を前記参照情報から抽出する実行時型収集部と、
抽出された型における(含まれる)前記インスタンス・メソッドの定義情報を表示する選択結果表示部と、を備える。
アプリケーション部において生成された型に対し、ライブラリ部において生成された型に対して割り当てられるスコアよりも高いスコアを割り当てる第1の並び替え(スコア割り当て)部、及び/又は、
アプリケーション部に属する型に対し、ライブラリ部に属する型に対して割り当てられるスコアよりも高いスコアを割り当てる第2の並び替え(スコア割り当て)部を備えることが好ましい。
アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、それぞれスコアを割り当てることが好ましい。
第4の展開形態の情報表示装置は、
アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、この順に単調に減少するスコアを割り当てることが好ましい。
前記選択結果表示部が、スコアの降順にソートして各型に含まれるインスタンス・メソッドの定義情報を表示することが好ましい。
第6の展開形態の情報表示装置は、
前記選択結果表示部が、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい又は選択しやすい場所に表示することが好ましい。
利用者によって選択されたインスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型における(含まれる)該インスタンス・メソッドの定義情報を表示する工程を含む。
変数によって実行時に参照され得る型を参照情報として記憶する記憶装置を参照して、前記インスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型を前記参照情報から抽出する実行時型収集工程と、
抽出された型における(含まれる)前記インスタンス・メソッドの定義情報を表示する選択結果表示工程と、を含む。
アプリケーション部において生成された型に対し、ライブラリ部において生成された型に対して割り当てられるスコアよりも高いスコアを割り当てる第1のスコア割り当て工程、及び/又は、
アプリケーション部に属する型に対し、ライブラリ部に属する型に対して割り当てられるスコアよりも高いスコアを割り当てる第2のスコア割り当て工程を含むことが好ましい。
アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、この順に単調に減少するスコアを割り当てることが好ましい。
前記選択結果表示工程において、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい又は選択しやすい場所に表示することが好ましい。
利用者によって選択されたイインスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型における(含まれる)該インスタンス・メソッドの定義情報を表示する処理をコンピュータに実行させる。
変数によって実行時に参照され得る型を参照情報として記憶する記憶装置を参照して、前記インスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型を前記参照情報から抽出する実行時型収集処理と、
抽出された型における(含まれる)前記インスタンス・メソッドの定義情報を表示する選択結果表示処理と、をコンピュータに実行させる。
アプリケーション部において生成された型に対し、ライブラリ部において生成された型に対して割り当てられるスコアよりも高いスコアを割り当てる第1のスコア割り当て処理、及び/又は、
アプリケーション部に属する型に対し、ライブラリ部に属する型に対して割り当てられるスコアよりも高いスコアを割り当てる第2のスコア割り当て処理をコンピュータに実行させることが好ましい。
アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、この順に単調に減少するスコアを割り当てる処理をコンピュータに実行させることが好ましい。
前記選択結果表示処理において、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい又は選択しやすい場所に表示する処理をコンピュータに実行させることが好ましい。
11、111 入力部
12 実行時型収集部
13 並び替え(スコア割り当て)部A
14 並び替え(スコア割り当て)部B
15 選択結果表示部
16、116 出力部
17、117 記憶装置
18 計算機
112 定義型収集部
本発明の第1の実施形態に係る情報表示装置について図面を参照して説明する。図1は、本実施形態に係る情報表示装置10の構成を示すブロック図である。情報表示装置10は、実行時型収集部12、選択結果表示部15及び記憶装置17を備える。記憶装置17は、変数によって実行時に参照される能性のある型を参照情報として記憶する。実行時型収集部12は、インスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照される可能性のある型を参照情報から抽出する。選択結果表示部15は、抽出された型におけるインスタンス・メソッドの定義情報を表示する。
次に、本発明の第2の実施形態に係る情報表示装置について図面を参照して説明する。図2は、本実施形態に係る情報表示装置10の構成を示すブロック図である。情報表示装置10は、図2を参照すると、実行時型収集部12、並び替え(スコア割り当て)部A13、並び替え(スコア割り当て)部B14、選択結果表示部15を備える。
なお、前述の特許文献等の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
Claims (17)
- 利用者によって選択されたインスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型に含まれる該インスタンス・メソッドの定義情報を表示することを特徴とする情報表示装置。
- 変数によって実行時に参照され得る型を参照情報として記憶する記憶装置と、
前記インスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照される可能性のある型を前記参照情報から抽出する実行時型収集部と、
抽出された型に含まれる前記インスタンス・メソッドの定義情報を表示する選択結果表示部と、を備えることを特徴とする、請求項1に記載の情報表示装置。 - アプリケーション部において生成された型に対し、ライブラリ部において生成された型に対して割り当てられるスコアよりも高いスコアを割り当てる第1の並び替え部、及び/又は、
アプリケーション部に属する型に対し、ライブラリ部に属する型に対して割り当てられるスコアよりも高いスコアを割り当てる第2の並び替え部を備えることを特徴とする、請求項2に記載の情報表示装置。 - アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、それぞれスコアを割り当てることを特徴とする、請求項3に記載の情報表示装置。
- アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、この順に単調に減少するスコアを割り当てることを特徴とする、請求項3に記載の情報表示装置。
- 前記選択結果表示部は、スコアの降順にソートして各型に含まれるインスタンス・メソッドの定義情報を表示することを特徴とする、請求項3乃至5のいずれか1項に記載の情報表示装置。
- 前記選択結果表示部は、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい又は選択しやすい場所に表示することを特徴とする、請求項3乃至5のいずれか1項に記載の情報表示装置。
- 利用者によって選択されたインスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型に含まれる該インスタンス・メソッドの定義情報を表示する工程を含むことを特徴とする情報表示方法。
- 変数によって実行時に参照され得る型を参照情報として記憶する記憶装置を参照して、前記インスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型を前記参照情報から抽出する実行時型収集工程と、
抽出された型に含まれる前記インスタンス・メソッドの定義情報を表示する選択結果表示工程と、を含むことを特徴とする、請求項8に記載の情報表示方法。 - アプリケーション部において生成された型に対し、ライブラリ部において生成された型に対して割り当てられるスコアよりも高いスコアを割り当てる第1のスコア割り当て工程、及び/又は、
アプリケーション部に属する型に対し、ライブラリ部に属する型に対して割り当てられるスコアよりも高いスコアを割り当てる第2のスコア割り当て工程を含むことを特徴とする、請求項9に記載の情報表示方法。 - アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、この順に単調に減少するスコアを割り当てることを特徴とする、請求項10に記載の情報表示方法。
- 前記選択結果表示工程において、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい又は選択しやすい場所に表示することを特徴とする、請求項10又は11に記載の情報表示方法。
- 利用者によって選択されたインスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型に含まれる該インスタンス・メソッドの定義情報を表示する処理をコンピュータに実行させることを特徴とする情報表示プログラム。
- 変数によって実行時に参照され得る型を参照情報として記憶する記憶装置を参照して、前記インスタンス・メソッドのレシーバ・オブジェクトを参照する変数によって実行時に参照され得る型を前記参照情報から抽出する実行時型収集処理と、
抽出された型に含まれる前記インスタンス・メソッドの定義情報を表示する選択結果表示処理と、をコンピュータに実行させることを特徴とする、請求項13に記載の情報表示プログラム。 - アプリケーション部において生成された型に対し、ライブラリ部において生成された型に対して割り当てられるスコアよりも高いスコアを割り当てる第1のスコア割り当て処理、及び/又は、
アプリケーション部に属する型に対し、ライブラリ部に属する型に対して割り当てられるスコアよりも高いスコアを割り当てる第2のスコア割り当て処理をコンピュータに実行させることを特徴とする、請求項14に記載の情報表示プログラム。 - アプリケーション部で生成されかつアプリケーション部に属する型、アプリケーション部で生成されかつアプリケーション部に属さない型、アプリケーション部で生成されずかつアプリケーション部に属する型、及び、それ以外の型に対し、この順に単調に減少するスコアを割り当てる処理をコンピュータに実行させることを特徴とする、請求項15に記載の情報表示プログラム。
- 前記選択結果表示処理において、スコアの高い型における前記インスタンス・メソッドの定義情報ほど利用者にとって見やすい又は選択しやすい場所に表示する処理をコンピュータに実行させることを特徴とする、請求項15又は16に記載の情報表示プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009554357A JP5359891B2 (ja) | 2008-02-19 | 2009-02-19 | 情報表示装置、方法及びプログラム |
US12/918,287 US20100328202A1 (en) | 2008-02-19 | 2009-02-19 | Information display device, information display method, and program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008037604 | 2008-02-19 | ||
JP2008-037604 | 2008-02-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2009104658A1 true WO2009104658A1 (ja) | 2009-08-27 |
Family
ID=40985536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2009/052830 WO2009104658A1 (ja) | 2008-02-19 | 2009-02-19 | 情報表示装置、方法及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20100328202A1 (ja) |
JP (1) | JP5359891B2 (ja) |
WO (1) | WO2009104658A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04181436A (ja) * | 1990-11-16 | 1992-06-29 | Fujitsu Ltd | デバック方式 |
JP2002517815A (ja) * | 1998-06-03 | 2002-06-18 | マイクロソフト コーポレイション | オブジェクトベースプログラミングでのメソッド参照 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04181426A (ja) * | 1990-11-16 | 1992-06-29 | Hitachi Ltd | オブジェクト指向プログラム表示方法 |
-
2009
- 2009-02-19 JP JP2009554357A patent/JP5359891B2/ja not_active Expired - Fee Related
- 2009-02-19 US US12/918,287 patent/US20100328202A1/en not_active Abandoned
- 2009-02-19 WO PCT/JP2009/052830 patent/WO2009104658A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04181436A (ja) * | 1990-11-16 | 1992-06-29 | Fujitsu Ltd | デバック方式 |
JP2002517815A (ja) * | 1998-06-03 | 2002-06-18 | マイクロソフト コーポレイション | オブジェクトベースプログラミングでのメソッド参照 |
Non-Patent Citations (2)
Title |
---|
JUN AOKI, OBJECTORRERY (THE FORMER TITLE: VISUALCOMPASS), 1998, Retrieved from the Internet <URL:http://www.sra.co.jp/smalltalk/ObjectOrrery/Japanese/intro/compassShort.htm,http://www.sra.co.jp/smalltalk/ObjectOrrery/Japanese/manual/man03ins.htm> [retrieved on 20090316] * |
MIYAMOTO: "Eclipse3 de Hajimeru Java Web Application Kaihatsu Dai 4 Kai: Eclipse no Benri na Kino", 9 February 2005 (2005-02-09), Retrieved from the Internet <URL:http://www.thinkit.co.jp/free/tech/3/4/l.html> [retrieved on 20090304] * |
Also Published As
Publication number | Publication date |
---|---|
US20100328202A1 (en) | 2010-12-30 |
JPWO2009104658A1 (ja) | 2011-06-23 |
JP5359891B2 (ja) | 2013-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3876116B1 (en) | Method and apparatus for running mini program, electronic device, and storage medium | |
JP4965623B2 (ja) | 所定のソフトウェアの実行パラメータを入力フィールドへ入力することを支援するための方法、システム、およびプログラム | |
US10120654B2 (en) | Domain specific language design | |
US7415696B2 (en) | Extensible help facility for a computer software application | |
US8578328B2 (en) | Method for presenting candidate for link target to component in web application, as well as computer program and computer system for the same | |
US7093199B2 (en) | Design environment to facilitate accessible software | |
CN108351764B (zh) | 数据处理方法和系统 | |
US20060209035A1 (en) | Device independent specification of navigation shortcuts in an application | |
US20070244691A1 (en) | Translation of user interface text strings | |
JP2006228228A (ja) | アクティブコンテンツウィザードおよびヘルプ機能を改善する方法 | |
US20060107234A1 (en) | Computer-implemented graphical user interface previews | |
US20130262968A1 (en) | Apparatus and method for efficiently reviewing patent documents | |
US9471405B1 (en) | Methods and systems for access to legacy programs using non-legacy interfaces | |
JP2000112708A (ja) | ユ―ザ・インタフェ―ス及びその構築方法 | |
KR20050061534A (ko) | 툴-팁 재생 시스템, 툴-팁 디스플레이 방법 및 머신 판독가능 저장 장치 | |
US8701086B2 (en) | Simplifying analysis of software code used in software systems | |
JP6440895B2 (ja) | ソフトウェア分析装置及びソフトウェア分析方法 | |
JP2014021508A (ja) | 文書関連付け装置及びプログラム | |
US11803697B2 (en) | Method and system for labeling and organizing data for summarizing and referencing content via a communication network | |
US20070057921A1 (en) | Standardized/extensible semantics in device independent navigation shortcuts in an application | |
CN112799760B (zh) | 一种表单渲染方法及其装置 | |
JP6866270B2 (ja) | Sql文抽出装置、sql文抽出方法及びプログラム | |
JP2005346666A (ja) | Webページ翻訳装置及びwebページ翻訳方法 | |
US20150261388A1 (en) | Method and apparatus for gesture operation on address bar and touch screen terminal | |
JP5359891B2 (ja) | 情報表示装置、方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09712687 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2009554357 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 12918287 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 09712687 Country of ref document: EP Kind code of ref document: A1 |