JP7356013B2 - Information presentation program, information presentation device, and information presentation method - Google Patents

Information presentation program, information presentation device, and information presentation method Download PDF

Info

Publication number
JP7356013B2
JP7356013B2 JP2019191821A JP2019191821A JP7356013B2 JP 7356013 B2 JP7356013 B2 JP 7356013B2 JP 2019191821 A JP2019191821 A JP 2019191821A JP 2019191821 A JP2019191821 A JP 2019191821A JP 7356013 B2 JP7356013 B2 JP 7356013B2
Authority
JP
Japan
Prior art keywords
range
data
program
program group
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019191821A
Other languages
Japanese (ja)
Other versions
JP2021068091A (en
Inventor
卓也 石津
学 上村
昭彦 松尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019191821A priority Critical patent/JP7356013B2/en
Publication of JP2021068091A publication Critical patent/JP2021068091A/en
Application granted granted Critical
Publication of JP7356013B2 publication Critical patent/JP7356013B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、情報提示プログラム、情報提示装置、及び情報提示方法に関する。 The present invention relates to an information presentation program, an information presentation device, and an information presentation method.

情報処理技術の発達により、利用者に対して様々なサービスを提供するためのコンピュータシステムが活用されている。そのようなコンピュータシステムでは、例えばサービスを提供する業務内容が見直されたときに、システムで使用される一部のプログラムやデータを変更することがある。 With the development of information processing technology, computer systems are being utilized to provide various services to users. In such a computer system, for example, when the business content of providing a service is reviewed, some programs and data used in the system may be changed.

しかし、大規模なコンピュータシステムでは、プログラム同士の依存関係が複雑であり、一部のプログラムを変更したときにその影響が及ぶ範囲を調べるのが容易ではない。そのため、複数のプログラムと複数のデータのうちのどの部分を切り出して変更を行えばいいのかが容易には分らず、コンピュータシステムの変更を行うのが難しい。 However, in large-scale computer systems, the dependencies between programs are complex, and it is not easy to determine the extent to which changes in some programs will affect the system. Therefore, it is difficult to know which part of the multiple programs and multiple data should be cut out and modified, making it difficult to modify the computer system.

特開2018-181005号公報Japanese Patent Application Publication No. 2018-181005

一側面によれば、複数のプログラムと複数のデータから切り出す範囲を提示することを目的とする。 According to one aspect, the object is to present a range to be extracted from a plurality of programs and a plurality of data.

一側面によれば、コンピュータに、複数のプログラム群と複数のデータの少なくとも一部を含む第1の範囲の指定を受け付ける処理と、前記複数のプログラム群と、当該複数のプログラム群がそれぞれアクセスする前記複数のデータとを対応付けた情報に基づいてグラフを生成する処理と、前記グラフ上で未使用データを反映させる処理と、前記第1の範囲と、前記第1の範囲に含まれるデータに前記第1の範囲の外からアクセスするプログラム群と、複数の前記プログラム群のうち前記第1の範囲に含まれるプログラム群のみがアクセスするデータであって前記第1の範囲の外にあるデータとを含む第2の範囲を、複数の前記プログラム群と複数の前記データから切り出す範囲として、前記グラフ上に重ねて提示する処理とを実行させるための情報提示プログラムが提供される。
According to one aspect, there is provided a process for receiving, in a computer, a first range that includes a plurality of program groups and at least part of a plurality of data , the plurality of program groups and the plurality of program groups respectively accessing. a process of generating a graph based on information associating the plurality of data; a process of reflecting unused data on the graph; and a process of generating the first range and the data included in the first range. A program group that is accessed from outside the first range, and data that is accessed only by a program group that is included in the first range among the plurality of program groups and is outside the first range. An information presentation program is provided for executing a process of superimposing and presenting a second range including a plurality of programs and a plurality of data on the graph as a range cut out from a plurality of the program groups and a plurality of the data.

一側面によれば、複数のプログラムと複数のデータから切り出す範囲を提示することができる。 According to one aspect, a range to be extracted from a plurality of programs and a plurality of data can be presented.

図1は、分割の対象となるプログラム資産について示す模式図である。FIG. 1 is a schematic diagram showing program assets to be divided. 図2は、プログラム資産の分割方法を示す模式図である。FIG. 2 is a schematic diagram showing a method of dividing program assets. 図3は、各データの取り扱いについて示す模式図である。FIG. 3 is a schematic diagram showing how each data is handled. 図4は、問題について模式的に示す図である。FIG. 4 is a diagram schematically showing the problem. 図5は、本実施形態に係る情報提示装置について説明するための模式図である。FIG. 5 is a schematic diagram for explaining the information presentation device according to this embodiment. 図6は、本実施形態に係る情報提示装置の機能構成図である。FIG. 6 is a functional configuration diagram of the information presentation device according to this embodiment. 図7(a)は、記憶部に格納されたプログラムアクセス情報について模式的に示す図であり、図7(b)は、指定範囲について模式的に示す図である。FIG. 7(a) is a diagram schematically showing the program access information stored in the storage unit, and FIG. 7(b) is a diagram schematically showing the designated range. 図8(a)は、ログ情報について模式的に示す図であり、図8(b)は、命令アクセス情報について模式的に示す図である。FIG. 8(a) is a diagram schematically showing log information, and FIG. 8(b) is a diagram schematically showing command access information. 図9は、図7(a)のプログラムアクセス情報に基づいてグラフ生成部が生成したグラフを示す模式図である。FIG. 9 is a schematic diagram showing a graph generated by the graph generation unit based on the program access information of FIG. 7(a). 図10(a)、(b)は、本実施形態においてルール1が適用されるグラフの一例を示す図である。FIGS. 10A and 10B are diagrams showing examples of graphs to which Rule 1 is applied in this embodiment. 図11(a)、(b)は、本実施形態においてルール2が適用されるグラフの一例を示す図である。FIGS. 11A and 11B are diagrams showing examples of graphs to which Rule 2 is applied in this embodiment. 図12(a)、(b)は、本実施形態においてルール3が適用されるグラフの一例を示す図である。FIGS. 12A and 12B are diagrams showing examples of graphs to which Rule 3 is applied in this embodiment. 図13は、本実施形態においてルール4が適用されるグラフの一例を示す図である。FIG. 13 is a diagram showing an example of a graph to which Rule 4 is applied in this embodiment. 図14は、本実施形態においてルール5が適用されるグラフの一例を示す図である。FIG. 14 is a diagram showing an example of a graph to which Rule 5 is applied in this embodiment. 図15は、本実施形態においてルール5が適用されるグラフの別の例について示す図である。FIG. 15 is a diagram showing another example of a graph to which Rule 5 is applied in this embodiment. 図16は、本実施形態においてルール5が適用されるグラフの更に別の例について示す図である。FIG. 16 is a diagram showing yet another example of a graph to which Rule 5 is applied in this embodiment. 図17は、本実施形態においてルール5が適用されるグラフの他の例について示す図である。FIG. 17 is a diagram showing another example of a graph to which Rule 5 is applied in this embodiment. 図18は、本実施形態において指定範囲、切り出し範囲、切り出さない範囲、及び共用範囲が設定されたグラフを例示する図である。FIG. 18 is a diagram illustrating a graph in which a specified range, a cutout range, a non-cutout range, and a shared range are set in this embodiment. 図19は、図2~図3の例で説明した方法で切り出し範囲が設定されたグラフを例示する図である。FIG. 19 is a diagram illustrating a graph in which the extraction range has been set using the method described in the examples of FIGS. 2 and 3. 図20は、本実施形態において、未使用のデータと未使用のプログラム群とを特定する処理について模式的に示す図である。FIG. 20 is a diagram schematically showing the process of identifying unused data and unused program groups in this embodiment. 図21は、本実施形態において、未使用のデータを特定した結果を模式的に示す図である。FIG. 21 is a diagram schematically showing the results of identifying unused data in this embodiment. 図22(a)、(b)は、本実施形態において、図21のプログラム群とデータから生成されるグラフに対し、未使用のデータを特定した結果を反映させる方法について模式的に示す図である。FIGS. 22(a) and 22(b) are diagrams schematically showing a method for reflecting the results of identifying unused data on the graph generated from the program group and data in FIG. 21 in this embodiment. be. 図23は、本実施形態に係る情報提示方法の全体的な処理の流れを示すフローチャートである。FIG. 23 is a flowchart showing the overall processing flow of the information presentation method according to this embodiment. 図24は、本実施形態における切り出し範囲の設定処理の流れを示すフローチャートである。FIG. 24 is a flowchart showing the flow of the cutting range setting process in this embodiment. 図25は、本実施形態における切り出さない範囲の設定処理の流れを示すフローチャートである。FIG. 25 is a flowchart showing the process of setting the range not to be cut out in this embodiment. 図26は、本実施形態における共用範囲の設定処理の流れを示すフローチャートである。FIG. 26 is a flowchart showing the flow of shared range setting processing in this embodiment. 図27は、本実施形態における未使用範囲の設定処理の流れを示すフローチャートである。FIG. 27 is a flowchart showing the flow of the unused range setting process in this embodiment. 図28は、本実施形態に係る情報提示装置のハードウェア構成図である。FIG. 28 is a hardware configuration diagram of the information presentation device according to this embodiment.

本実施形態の説明に先立ち、本願発明者が検討した事項について説明する。 Prior to describing this embodiment, matters considered by the inventor of the present application will be described.

大規模なコンピュータシステムにおいては、複数のプログラムと複数のデータを備えたプログラム資産の一部を変更しようとした場合、その変更によって影響を受ける範囲が容易には分からない。そのような問題を解決するため、例えば、以下のようにプログラム同士の依存関係を利用してプログラム資産を分割し、分割された範囲内でプログラムの変更を行う方法が考えられる。 In a large-scale computer system, when an attempt is made to change part of a program asset that includes multiple programs and multiple data, it is not easy to know the range that will be affected by the change. In order to solve such problems, for example, a method can be considered in which the program assets are divided using the dependencies between programs as described below, and the program is changed within the divided range.

図1は、分割の対象となるプログラム資産について示す模式図である。 FIG. 1 is a schematic diagram showing program assets to be divided.

このプログラム資産1は、コンピュータシステムにおいて実行される複数のプログラムと複数のデータとを有する。このうち、データは、各プログラムが実行時に参照するファイルやデータベースである。図1においては、プログラムによるデータの書き込みを実線矢印で示し、プログラムによるデータの読み出しを一点鎖線の矢印で示す。 This program asset 1 includes multiple programs and multiple data that are executed in a computer system. Of these, data is files and databases that each program refers to during execution. In FIG. 1, writing of data by a program is shown by a solid line arrow, and reading of data by a program is shown by a dashed-dotted arrow.

また、各プログラムは、実行時にデータに対して読み書きを行ったり、他のプログラムを呼び出したりすることによりサービスを実現する。このように一方のプログラムが実行時に他方のプログラムを呼び出す場合、これらのプログラムには依存関係があるという。図1においては、呼び出し元のプログラムから呼び出し先のプログラムに向かう点線矢印で依存関係を示している。 Furthermore, each program implements a service by reading and writing data or calling other programs during execution. When one program calls another program during execution, these programs are said to have a dependency relationship. In FIG. 1, dependence relationships are indicated by dotted arrows pointing from a calling program to a called program.

図2は、プログラム資産1の分割方法を示す模式図である。
図2に示すように、この例では、どこからも呼ばれないプログラムPG1、PG10、PG20を起点のプログラムとする。
FIG. 2 is a schematic diagram showing a method of dividing the program asset 1.
As shown in FIG. 2, in this example, the starting programs are programs PG1, PG10, and PG20 that are not called from anywhere.

そして、起点のプログラムから呼び出されるプログラムを、起点のプログラムと共に一つのプログラム群に含める。例えば、プログラム群p1は、起点となるプログラムPG1の他に、そのプログラムPG1から呼ばれるプログラムPG2、PG3を有する。 Then, a program called from the starting point program is included in one program group together with the starting point program. For example, the program group p1 includes, in addition to the program PG1 serving as a starting point, programs PG2 and PG3 called from the program PG1.

次に、複数のデータの各々を、複数のプログラム群のどれと共にプログラム資産1から切り出すかについて考える。
図3は、各データの取り扱いについて示す模式図である。
Next, consider which of the plurality of program groups each of the plurality of data should be extracted from the program asset 1.
FIG. 3 is a schematic diagram showing how each data is handled.

あるデータに対してプログラム群が書き込みを行う場合、そのプログラム群とデータとを切り離してしまうと、プログラム群の書き込み先がなくなるため、プログラム群が自立して動作することができない。 When a program group writes to certain data, if the program group and the data are separated, there will be no place for the program group to write, and the program group will not be able to operate independently.

そこで、この例では、データに書き込みを行うプログラム群を、そのデータと共に切り出し範囲7に含める。例えば、プログラム群p1は、データd1に対して書き込みを行っているため、そのデータd1と共に切り出し範囲7に含める。 Therefore, in this example, a program group that writes data is included in the extraction range 7 along with the data. For example, program group p 1 writes data to data d 1 , so it is included in the extraction range 7 together with the data d 1 .

また、データd2は、プログラム群p2、p3によって書き込みが行われているため、これらのプログラム群p2、p3と同じ切り出し範囲7に含める。 Furthermore, since the data d 2 is written by the program groups p 2 and p 3 , it is included in the same extraction range 7 as these program groups p 2 and p 3 .

切り出し範囲7は、その内側にあるプログラム群が自立して動作することが期待される範囲であって、プログラム資産1からの切り出しが推奨される範囲である。 The extraction range 7 is a range within which a group of programs is expected to operate independently, and is a range in which extraction from the program asset 1 is recommended.

一方、プログラム群が、あるデータに対して書き込みを行わず、読み出しのみを行っている場合を考える。この場合は、書き込みの場合と比較してデータとプログラム群との関連性は弱いと考え、データとプログラム群とを切り離す。図3の例では、データd2とプログラム群p1とが切り離されることになる。 On the other hand, consider a case where a program group does not write to certain data, but only reads from it. In this case, it is considered that the relationship between the data and the program group is weaker than in the case of writing, and the data and the program group are separated. In the example of FIG. 3, data d 2 and program group p 1 are separated.

このような方法によれば、複数の切り出し範囲7の各々に、自立して動作することが期待されるプログラム群とデータとを含めることができる。そのため、プログラム資産1から切り出し範囲7を切り出し、その切り出し範囲7に含まれるプログラム群やデータをユーザが変更することで、その変更の影響が及ぶ範囲を切り出し範囲7に収めることが可能となる。 According to such a method, each of the plurality of cutting ranges 7 can include a program group and data that are expected to operate independently. Therefore, by cutting out the cutting range 7 from the program asset 1 and changing the program group and data included in the cutting range 7 by the user, it becomes possible to fit the range affected by the change into the cutting range 7.

しかしながら、本願発明者が検討したところ、この方法には次のような問題があることが明らかとなった。 However, upon study by the inventor of the present application, it has become clear that this method has the following problems.

図4は、その問題について模式的に示す図である。
コンピュータシステムが対象とする業務要件等が変更された場合は、プログラム資産1において新たな業務要件等に対応する部分を指定し、その部分をプログラム資産1から切り出してユーザが変更作業を行うことになる。このように業務要件等を考慮してプログラム資産1から切り出すのが指定された範囲を指定範囲8と呼ぶ。
FIG. 4 is a diagram schematically showing this problem.
When the business requirements etc. targeted by the computer system change, the user can designate the part corresponding to the new business requirements etc. in program asset 1, cut out that part from program asset 1, and make the changes. Become. The range designated to be extracted from the program asset 1 in consideration of business requirements and the like is referred to as a designated range 8.

指定範囲8は、業務要件等を考慮してユーザにより設定される範囲であるため、プログラム群やデータの依存関係を考慮して設定した切り出し範囲7とは必ずしも一致しない。そのため、図4のように一つの切り出し範囲7の中に指定範囲8に属するプログラム群p2と属さないプログラム群p3とが生じることがある。その結果、指定範囲8に属さないプログラム群p3を切り出すべきかどうかをユーザが明確に判断することができず、プログラム資産1の保守や変更をするのが難しいという問題が生じてしまう。 Since the specified range 8 is a range set by the user in consideration of business requirements, etc., it does not necessarily match the cut-out range 7 set in consideration of dependencies of programs and data. Therefore, as shown in FIG. 4, there may be a program group p 2 that belongs to the specified range 8 and a program group p 3 that does not belong to the specified range 8 in one extraction range 7. As a result, the user cannot clearly judge whether or not to extract the program group p3 that does not belong to the specified range 8, resulting in a problem that it is difficult to maintain or change the program assets 1.

(本実施形態)
本実施形態では、以下のようにしてプログラム資産から切り出すプログラムとデータを提示する。
(This embodiment)
In this embodiment, programs and data extracted from program assets are presented as follows.

[情報提示装置]
図5は、本実施形態に係る情報提示装置について説明するための模式図である。
情報提示装置10は、プログラム資産11の一部を含む指定範囲12の指定を受け付けて、その指定範囲12を含むような切り出し範囲13を提示するPC(Personal Computer)等のコンピュータである。
[Information presentation device]
FIG. 5 is a schematic diagram for explaining the information presentation device according to this embodiment.
The information presentation device 10 is a computer such as a PC (Personal Computer) that accepts the designation of a specified range 12 that includes a part of the program asset 11 and presents a cutout range 13 that includes the specified range 12.

プログラム資産11は、業務システム等のコンピュータシステムで実行される複数のプログラムと複数のデータとを有する。このうち、各プログラムは、予めプログラム群に分類されているものとする。この例では、図1及び図2の例と同様に、どこからも呼ばれていない起点のプログラムと、そのプログラムから呼ばれるプログラムとを一つのプログラム群に含める。例えば、プログラム群p1には、起点のプログラムPG1と、これから呼び出されるプログラムPG2、PG3とが含められる。また、プログラム群p2には、起点のプログラムPG4と、これから呼び出されるプログラムPG2、PG3とが含められる。そして、プログラム群p3には一つのプログラムPG5のみが含められる。なお、図5においては、呼び出し元から呼び出し先に向かう点線矢印でプログラム同士の依存関係を示している。 The program assets 11 include a plurality of programs and a plurality of data that are executed by a computer system such as a business system. It is assumed that each of these programs is classified into program groups in advance. In this example, as in the examples of FIGS. 1 and 2, a starting program that is not called from anywhere and programs that are called from that program are included in one program group. For example, the program group p1 includes a starting program PG1 and programs PG2 and PG3 that will be called from now on. Furthermore, the program group p2 includes a starting program PG4 and programs PG2 and PG3 that will be called from now on. The program group p3 includes only one program PG5. Note that in FIG. 5, dependencies between programs are indicated by dotted arrows pointing from the caller to the callee.

また、データは、各プログラムが実行時に読み書きを行うファイルやデータベースである。本実施形態では、プログラムによるデータの読み出しと書き込みのいずれもアクセスと呼ぶ。図5においてプログラムからデータに向かう実線矢印は、このようにプログラムがデータにアクセスすることを示す。例えば、プログラムPG1、PG4はデータd2にアクセスしており、プログラムPG5はデータd3にアクセスしている。 Furthermore, data is a file or database that is read and written by each program during execution. In this embodiment, both reading and writing of data by a program is called an access. The solid arrow pointing from the program to the data in FIG. 5 indicates that the program accesses the data in this way. For example, programs PG1 and PG4 are accessing data d2 , and program PG5 is accessing data d3 .

ここで、前述のように、プログラムの依存関係のみを利用してプログラム資産11を複数の切り出し範囲に分割しても、その切り出し範囲は業務要件の見直し等によって変更が指定される指定範囲と一致しない場合がある。 Here, as described above, even if the program assets 11 are divided into multiple extraction ranges using only the program dependencies, the extraction range will match the specified range that is changed due to review of business requirements, etc. It may not.

このような場合に、情報提示装置10は、ユーザが切り出しを希望するプログラム群とデータの指定を受け付ける。例えば、業務要件の見直しによって変更を加えた方がいいとユーザが判断したプログラム群p2とデータd2とが指定範囲12に含められた場合を考える。指定範囲12は、第1の範囲の一例であって、ユーザが指定しないプログラム群とデータはその指定範囲12には含まれない。なお、プログラム群とデータのいずれか一方の指定のみを情報提示装置10が受け付けてもよい。 In such a case, the information presentation device 10 accepts the designation of the program group and data that the user desires to extract. For example, consider a case where the specified range 12 includes a program group p 2 and data d 2 that the user has determined should be modified based on a review of business requirements. The specified range 12 is an example of a first range, and programs and data not specified by the user are not included in the specified range 12. Note that the information presentation device 10 may accept only the designation of either the program group or the data.

この場合、情報提示装置10は、プログラム資産11からの切り出しを推奨する切り出し範囲13を提示する。切り出し範囲13は、第2の範囲の一例であって、指定範囲12のプログラムやデータを変更したときにそれに伴ってプログラムやデータを変更する必要が生じる可能性のある範囲である。 In this case, the information presentation device 10 presents the extraction range 13 that recommends extraction from the program asset 11. The cutout range 13 is an example of a second range, and is a range in which there is a possibility that when the program or data in the designated range 12 is changed, it may be necessary to change the program or data accordingly.

本実施形態では、後述のように切り出し範囲13に指定範囲12が含まれるようになる。そのため、プログラム資産11から切り出し範囲13を切り出すことにより、ユーザが指定した指定範囲12も切り出すことができ、その指定範囲12に含まれるプログラム群やデータを変更することができる。更に、その変更の影響は、切り出し範囲13の外側のプログラム資産11に及ぶ可能性が低く、変更の影響を切り出し範囲13の内側に局所化することができる。 In this embodiment, the designated range 12 is included in the cutout range 13 as described later. Therefore, by cutting out the cutting range 13 from the program asset 11, the specified range 12 specified by the user can also be cut out, and the program group and data included in the specified range 12 can be changed. Furthermore, the influence of the change is less likely to affect the program assets 11 outside the extraction range 13, and the influence of the change can be localized inside the extraction range 13.

[機能構成]
次に、情報提示装置10の機能構成について説明する。
[Functional configuration]
Next, the functional configuration of the information presentation device 10 will be explained.

図6は、情報提示装置10の機能構成図である。
図6に示すように、情報提示装置10は、通信部21、制御部22、及び記憶部23を有する。
FIG. 6 is a functional configuration diagram of the information presentation device 10.
As shown in FIG. 6, the information presentation device 10 includes a communication section 21, a control section 22, and a storage section 23.

このうち、通信部21は、他の装置との間の通信を制御する処理部であり、例えば通信インターフェース等である。 Among these, the communication unit 21 is a processing unit that controls communication with other devices, and is, for example, a communication interface.

また、制御部22は、情報提示装置10の全体を制御する処理部であり、受付部24、グラフ生成部25、提示部26、及び特定部27を有する。 Further, the control unit 22 is a processing unit that controls the entire information presentation device 10, and includes a reception unit 24, a graph generation unit 25, a presentation unit 26, and a specification unit 27.

受付部24は、通信部21を介して、プログラムアクセス情報31、指定範囲12、ログ情報33、及び命令アクセス情報34の入力を受け付け、これらの情報を記憶部23に格納する。 The receiving unit 24 receives input of program access information 31, specified range 12, log information 33, and command access information 34 via the communication unit 21, and stores these information in the storage unit 23.

記憶部23は、HDD(Hard Disk Drive)等の記憶装置やDRAM(Dynamic Random Access Memory)等のメモリによって実現することができ、各種情報を記憶する。 The storage unit 23 can be realized by a storage device such as an HDD (Hard Disk Drive) or a memory such as a DRAM (Dynamic Random Access Memory), and stores various information.

図7(a)は、その記憶部23に格納されたプログラムアクセス情報31について模式的に示す図である。 FIG. 7A is a diagram schematically showing the program access information 31 stored in the storage unit 23. As shown in FIG.

プログラムアクセス情報31は、プログラム群と、そのプログラム群がアクセスするデータとを対応付けた情報である。なお、プログラム群に含まれる複数のプログラムのいずれか一つがデータにアクセスする場合、当該プログラム群はそのデータにアクセスするという。 The program access information 31 is information that associates a program group with data accessed by the program group. Note that when any one of a plurality of programs included in a program group accesses data, the program group is said to access that data.

図7(a)の例では、プログラム群とデータとの対応関係を順序対で表しており、その順序対の第1成分がプログラム群を表し、第2成分がデータを表す。よって、順序対(p1, d1)は、プログラム群p1がデータd1にアクセスすることを示すことになる。なお、各順序対の並びは特に限定されず、この例のように辞書的に各順序対を並べてもよいし、これらをランダムに並べてもよい。 In the example of FIG. 7A, the correspondence between a program group and data is expressed as an ordered pair, where the first component of the ordered pair represents the program group, and the second component represents the data. Therefore, the ordered pair (p 1 , d 1 ) indicates that the program group p 1 accesses the data d 1 . Note that the arrangement of each ordered pair is not particularly limited, and the ordered pairs may be arranged dictionary-like as in this example, or they may be arranged randomly.

更に、プログラムアクセス情報31の生成方法も特に限定されない。例えば、各プログラム群のソースコードに対して静的解析を行い、これによりプログラムとそれがアクセスするデータを特定することでプログラムアクセス情報31を生成することができる。更に、ユーザが手作業でプログラムアクセス情報31を作成してもよい。 Furthermore, the method of generating the program access information 31 is not particularly limited either. For example, the program access information 31 can be generated by performing static analysis on the source code of each program group and thereby specifying the program and the data that it accesses. Furthermore, the program access information 31 may be created manually by the user.

例えば、データがデータベースである場合には、そのデータベースを操作するためのSQL文のキーワードがプログラム群のソースコードに存在するかを文字列検索でユーザが検索すればよい。そして、これによりキーワードが発見されときに、そのデータベースとプログラム群とをプログラムアクセス情報31において対応付ければよい。 For example, if the data is a database, the user can use a string search to find out whether keywords for SQL statements for operating the database exist in the source code of the program group. Then, when a keyword is discovered, the database and the program group may be associated in the program access information 31.

図7(b)は、指定範囲12について模式的に示す図である。
指定範囲12は、ユーザが指定したプログラム資産の一部を示す範囲である。この例では、ユーザが指定したプログラム群とデータの一覧を指定範囲とする。例えば、図5のように指定範囲12にプログラム群p2とデータd2とが含まれている場合、これらの一覧が指定範囲12となる。
FIG. 7(b) is a diagram schematically showing the designated range 12.
The specified range 12 is a range indicating a part of the program assets specified by the user. In this example, the specified range is a list of programs and data specified by the user. For example, if the designated range 12 includes program group p 2 and data d 2 as shown in FIG. 5, a list of these will become the designated range 12.

図8(a)は、ログ情報33について模式的に示す図である。
ログ情報33は、コンピュータシステムにおいて事前にプログラム資産11を実行したときの各プログラム同士の呼び出し関係を示す情報である。例えば、呼び出し元のプログラムと、呼び出し先のプログラムにおいて呼び出された命令の位置とが対応付けられてログ情報33に格納される。その命令の位置として、本実施形態ではプログラムにおいてその命令が記述されている行番号を採用する。
FIG. 8(a) is a diagram schematically showing the log information 33.
The log information 33 is information indicating the calling relationship between programs when the program assets 11 are executed in advance in the computer system. For example, the calling program and the position of the called instruction in the calling destination program are stored in the log information 33 in association with each other. In this embodiment, the line number in which the instruction is written in the program is used as the location of the instruction.

例えば、図8(a)の一行目では、呼び出し元のプログラムPG1がプログラムPG4を呼び出し、更にそのプログラムPG4が自身の100行目の命令を呼び出した場合を示している。同様に、二行目においては、呼び出し元のプログラムPG2がプログラムPG4を呼び出し、そのプログラムPG4が自身の105行目の命令を呼び出した場合が示されている。 For example, the first line of FIG. 8A shows a case where the calling program PG1 calls the program PG4, and the program PG4 further calls its own instruction on the 100th line. Similarly, the second line shows a case where the calling program PG2 calls the program PG4, and the program PG4 calls its own instruction on the 105th line.

ログ情報33の生成方法は特に限定されないが、コンピュータシステムにおいて事前にプログラム資産11を実行したときのスタックトレースをログ情報33として採用し得る。 Although the method for generating the log information 33 is not particularly limited, a stack trace obtained when the program asset 11 is executed in advance on a computer system may be employed as the log information 33.

図8(b)は、命令アクセス情報34について模式的に示す図である。 FIG. 8(b) is a diagram schematically showing the instruction access information 34. As shown in FIG.

命令アクセス情報34は、各プログラムにおける命令の位置と、その命令がアクセスするデータとを対応付けた情報である。命令の位置は、前述のようにプログラム中の行番号である。 The instruction access information 34 is information that associates the position of an instruction in each program with the data accessed by that instruction. The position of the instruction is the line number in the program as described above.

図8(b)の一行目の例は、プログラムPG4の100行目にある命令がデータd1にアクセスしていることを示す。また、二行目の例は、プログラムPG4の105行目にある命令がデータd2にアクセスしていることを示す。 The example in the first line of FIG. 8(b) shows that the instruction in the 100th line of program PG4 accesses data d1 . Furthermore, the example on the second line shows that the instruction on the 105th line of program PG4 accesses data d2 .

再び図6を参照する。
グラフ生成部25は、受付部24によって入力が受け付けられたプログラムアクセス情報31に基づいて、プログラム群がどのデータにアクセスしているのかを示すグラフを生成する。
Referring again to FIG.
The graph generation unit 25 generates a graph indicating which data is being accessed by the program group based on the program access information 31 input by the reception unit 24 .

図9は、図7(a)のプログラムアクセス情報31に基づいてグラフ生成部25が生成したグラフを示す模式図である。 FIG. 9 is a schematic diagram showing a graph generated by the graph generation unit 25 based on the program access information 31 of FIG. 7(a).

このグラフ35は、プログラム群とデータとをノードとする有向グラフであって、プログラム群とそれがアクセスするデータとの間にエッジを有する。そのエッジの方向は、プログラム群からデータに向かう方向とする。 This graph 35 is a directed graph with a program group and data as nodes, and has an edge between the program group and the data accessed by the program group. The direction of the edge is from the program group to the data.

グラフ35の生成方法は特に限定されない。
例えば、グラフ生成部25は、プログラムアクセス情報31にある全てのプログラム群と全てのデータに対応した全てのノードを生成する。そして、一つのプログラム群と一つのデータとがプログラムアクセス情報31で対応付けられている場合には、グラフ生成部25は、これらのプログラム群とデータとの間にエッジを張る。このような操作をグラフ生成部25がプログラムアクセス情報31にある全ての順序対に対して行うことによりグラフ35を生成することができる。
The method of generating the graph 35 is not particularly limited.
For example, the graph generation unit 25 generates all nodes corresponding to all program groups and all data in the program access information 31. When one program group and one data are associated with each other using the program access information 31, the graph generation unit 25 creates an edge between these program groups and the data. The graph 35 can be generated by the graph generation unit 25 performing such operations on all ordered pairs included in the program access information 31.

再び図6を参照する。
提示部26は、記憶部23に格納された指定範囲12と、グラフ生成部25が生成したグラフ35に基づいて、プログラム資産11から切り出すことが推奨される切り出し範囲13(図13参照)を提示する処理部である。切り出し範囲13の提示方法は特に限定されない。例えば、提示部26は、CUI(Character User Interface)やGUI(Graphical User Interface)で切り出し範囲13を表示するための表示情報を生成してもよい。その場合、通信部21がその表示情報を外部装置に送信することにより、外部装置のディスプレイに切り出し範囲13が提示される。なお、情報提示装置10にディスプレイを設け、そのディスプレイに切り出し範囲13を提示してもよい。
Referring again to FIG.
The presentation unit 26 presents a cutout range 13 (see FIG. 13) that is recommended to be cut out from the program asset 11 based on the specified range 12 stored in the storage unit 23 and the graph 35 generated by the graph generation unit 25. This is a processing section that performs The method of presenting the cutout range 13 is not particularly limited. For example, the presentation unit 26 may generate display information for displaying the cutout range 13 on a CUI (Character User Interface) or a GUI (Graphical User Interface). In that case, the communication unit 21 transmits the display information to the external device, so that the cutout range 13 is presented on the display of the external device. Note that the information presentation device 10 may be provided with a display, and the cutout range 13 may be presented on the display.

切り出し範囲13の設定は、以下のルール1~3に従って提示部26が行う。 The setting of the cutting range 13 is performed by the presenting unit 26 according to Rules 1 to 3 below.

・ルール1
図10(a)、(b)は、ルール1が適用されるグラフ35の一例を示す図である。
Rule 1
FIGS. 10A and 10B are diagrams showing an example of a graph 35 to which Rule 1 is applied.

ルール1は、指定範囲12にデータが含まれている場合に切り出し範囲13を設定する方法を定めた規則である。 Rule 1 is a rule that defines a method for setting the extraction range 13 when data is included in the specified range 12.

図10(a)は、指定範囲12に一つのデータd2のみが含まれている場合のグラフ35を例示する図である。 FIG. 10A is a diagram illustrating a graph 35 when only one data d 2 is included in the designated range 12.

そのデータd2はプログラム群p2からアクセスされているため、変更対象をデータd2のみに限定すると、変更後のデータd2にプログラム群p2がアクセスしたときにプログラム群p2が正常に実行されないおそれがある。また、プログラム実行の際にはプログラム群p2がデータd2にアクセスするため、プログラム群p2とデータd2とで一つのサービスが実現されると考えることもできる。プログラムやデータの変更はサービス単位で行われることがあり、サービス単位でプログラム資産11から切り出すのが好ましい。 Since that data d 2 is accessed by program group p 2 , if you limit the change target to data d 2 only, program group p 2 will not be able to function properly when program group p 2 accesses the changed data d 2 . There is a possibility that it will not be executed. Furthermore, since the program group p 2 accesses the data d 2 when executing the program, one service can be considered to be realized by the program group p 2 and the data d 2 . Programs and data may be changed on a service-by-service basis, and it is preferable to extract them from the program assets 11 on a service-by-service basis.

そこで、本実施形態では、提示部26が、指定範囲12と、その指定範囲12に含まれるデータにアクセスするプログラム群とを切り出し範囲13に含める。なお、そのようなプログラム群が指定範囲12の内側にある場合には、そもそもユーザがプログラム群とデータとを一緒にして切り出すことを意図しているため、そのプログラム群を切り出し範囲13に含める実益がない。よって、提示部26は、指定範囲12に含まれるデータに指定範囲12の外からアクセスするプログラム群を切り出し範囲13に含める。 Therefore, in the present embodiment, the presentation unit 26 includes the specified range 12 and the program group that accesses the data included in the specified range 12 in the extraction range 13. Note that if such a program group is inside the designated range 12, since the user originally intended to extract the program group and data together, there is no practical benefit of including the program group in the extraction range 13. There is no. Therefore, the presentation unit 26 includes in the extraction range 13 a program group that accesses data included in the specified range 12 from outside the specified range 12.

図10(a)の例では、プログラム群p2がデータd2と共に切り出し範囲13に含められることになる。切り出し範囲13の提示方法は特に限定されないが、ここでは{p2, d2}のようにプログラム群とデータとを列挙することにより提示部26が提示する。 In the example of FIG. 10A, the program group p 2 is included in the extraction range 13 together with the data d 2 . Although the presentation method of the cutout range 13 is not particularly limited, here, the presentation unit 26 presents the program group and data by enumerating them like {p 2 , d 2 }.

なお、プログラム群p2はデータd3にもアクセスしているため、データd3も切り出し範囲13に含めることも考えられる。しかし、データd3は、プログラム群p3からもアクセスされているため、プログラム群p2とデータd2とで実現されるサービスのみが利用するデータではない。よって、サービス単位で切り出すという考えに基づき、本実施形態ではデータd3を切り出し範囲13に含めない。 Note that since the program group p 2 also accesses the data d 3 , the data d 3 may also be included in the extraction range 13 . However, since the data d3 is also accessed by the program group p3 , it is not data that is used only by the service realized by the program group p2 and the data d2 . Therefore, based on the idea that data is extracted in units of services, data d3 is not included in the extraction range 13 in this embodiment.

図10(b)は、指定範囲12に二つのデータd1、d2が含まれている場合のグラフ35を例示する図である。 FIG. 10B is a diagram illustrating the graph 35 when the specified range 12 includes two data d 1 and d 2 .

この場合も、図10(a)と同様の理由により、提示部26は、データd1にアクセスするプログラム群p1と、データd2にアクセスするプログラム群p2と、指定範囲12とを切り出し範囲13に含める。その切り出し範囲13は{p1, p2, d1, d2}と表すことができる。 In this case as well, for the same reason as in FIG. 10(a), the presentation unit 26 extracts the program group p 1 that accesses the data d 1 , the program group p 2 that accesses the data d 2 , and the specified range 12. Include in range 13. The cutout range 13 can be expressed as {p 1 , p 2 , d 1 , d 2 }.

・ルール2
図11(a)、(b)は、ルール2が適用されるグラフ35の一例を示す図である。
Rule 2
FIGS. 11A and 11B are diagrams showing an example of a graph 35 to which Rule 2 is applied.

ルール2は、指定範囲12にプログラム群が含まれている場合に切り出し範囲13を設定する方法を定めた規則である。 Rule 2 is a rule that defines a method for setting the extraction range 13 when the designated range 12 includes a program group.

図11(a)は、指定範囲12に一つのプログラム群p2のみが含まれている場合のグラフ35を例示する図である。 FIG. 11A is a diagram illustrating a graph 35 when only one program group p2 is included in the specified range 12.

プログラム群p2のアクセス先にはデータd1、d2、d3があり、プログラム群p2の変更に合わせてこれらのデータも変更するのが好ましいとも考えられる。しかし、例えばデータd3はプログラム群p3からもアクセスされているため、データd3の変更に合わせてプログラム群p3も変更する必要が生じ、変更を加えるべきデータやプログラムが連鎖してしまう。 There are data d 1 , d 2 , and d 3 to which the program group p 2 is accessed, and it is considered preferable to change these data in accordance with changes in the program group p 2 . However, for example, data d 3 is also accessed by program group p 3 , so when data d 3 is changed, program group p 3 also needs to be changed, resulting in a chain of data and programs that need to be changed. .

これを防ぐため、本実施形態では、提示部26が、複数のプログラム群のうちで指定範囲12に含まれるプログラム群のみがアクセスするデータを、指定範囲12と共に切り出し範囲13に含める。なお、そのデータが指定範囲12に含まれている場合には、そもそもユーザがそのデータを切り出すことを意図しているため、そのデータを切り出し範囲13に含める実益がない。そこで、この例では、提示部26は、指定範囲12に含まれるプログラム群のみがアクセスするデータのうち、指定範囲12の外にあるデータを切り出し範囲13に含める。 In order to prevent this, in the present embodiment, the presentation unit 26 includes in the cutout range 13 together with the specified range 12 data that is accessed only by the program group included in the specified range 12 among the plurality of program groups. Note that if the data is included in the specified range 12, since the user intends to extract the data in the first place, there is no practical benefit to including the data in the extraction range 13. Therefore, in this example, the presenting unit 26 includes, in the extraction range 13, data that is outside the specified range 12 and is accessed only by the program group included in the specified range 12.

図11(a)の例では、プログラム群p2のみがアクセスするデータd2が、プログラム群p2と共に切り出し範囲13に含められる。その切り出し範囲13は{p2, d2}と表すことができる。 In the example of FIG. 11A, data d 2 that is accessed only by program group p 2 is included in the extraction range 13 together with program group p 2 . The cutout range 13 can be expressed as {p 2 , d 2 }.

このように切り出し範囲13に含めるデータを指定範囲12に含まれるプログラム群のみがアクセスするデータに限定することにより、変更を加えるべきデータやプログラムが連鎖するのを防止できる。 By limiting the data included in the extraction range 13 to data that is accessed only by the program group included in the specified range 12, it is possible to prevent data and programs to be changed from being chained together.

図11(b)は、指定範囲12に二つのプログラム群p1、p2が含まれている場合のグラフ35を例示する図である。 FIG. 11B is a diagram illustrating the graph 35 when the designated range 12 includes two program groups p 1 and p 2 .

この場合も、図11(a)と同様の理由により、提示部26は、プログラム群p1、p2のみがアクセスするデータd1、d2を、指定範囲12と共に切り出し範囲13に含める。その切り出し範囲13は{p1, p2, d1, d2}と表すことができる。 In this case as well, for the same reason as in FIG. 11A, the presentation unit 26 includes the data d 1 and d 2 that are accessed only by the program groups p 1 and p 2 in the cutout range 13 together with the specified range 12. The cutout range 13 can be expressed as {p 1 , p 2 , d 1 , d 2 }.

・ルール3
図12(a)、(b)は、ルール3が適用されるグラフ35の一例を示す図である。
・Rule 3
FIGS. 12A and 12B are diagrams showing an example of a graph 35 to which Rule 3 is applied.

ルール3は、指定範囲12にプログラム群とデータの両方が含まれている場合に切り出し範囲13を設定する方法を定めた規則である。 Rule 3 is a rule that defines a method for setting the extraction range 13 when the specified range 12 includes both a program group and data.

図12(a)は、指定範囲12にプログラム群p2とデータd2とが含まれている場合のグラフ35を例示する図である。 FIG. 12A is a diagram illustrating the graph 35 when the specified range 12 includes the program group p 2 and the data d 2 .

この場合は、前述のルール1に従って、提示部26が、指定範囲12に含まれるデータd2にアクセスするプログラム群p1を、指定範囲12と共に切り出し範囲13に含める。 In this case, according to Rule 1 described above, the presentation unit 26 includes the program group p 1 that accesses the data d 2 included in the specified range 12 in the cutout range 13 together with the specified range 12 .

そのプログラム群p1は更にデータd1にアクセスしており、ユーザがプログラム群p1を変更するとその影響をデータd1が受ける可能性がある。更に、データd1は、プログラム群p1のみからアクセスされているため、切り出し範囲13にデータd1を含めても、変更を加えるべきデータやプログラムの連鎖は生じない。 The program group p 1 is also accessing the data d 1 , and if the user changes the program group p 1 , the data d 1 may be affected by the change. Furthermore, since the data d 1 is accessed only by the program group p 1 , even if the data d 1 is included in the extraction range 13, no chain of data or programs to be changed will occur.

そこで、提示部26はデータd1も切り出し範囲13に含める。ルール3において切り出し範囲13に含められるデータは、指定範囲12の外にあるデータであり、かつ複数のプログラム群のうちで指定範囲12のデータにアクセスするプログラム群のみがアクセスするデータである。 Therefore, the presentation unit 26 also includes the data d 1 in the extraction range 13 . The data included in the extraction range 13 in Rule 3 is data that is outside the specified range 12 and is data that is accessed only by a program group that accesses data in the specified range 12 among the plurality of program groups.

なお、切り出し範囲13に含めるデータを指定範囲12の外のデータとしたのは、指定範囲12の内側のデータは切り出し範囲13に包含されているため、改めて切り出し範囲13に含める必要がないからである。 Note that the reason why the data to be included in the extraction range 13 is data outside the specified range 12 is because the data inside the specified range 12 is included in the extraction range 13, so there is no need to include it in the extraction range 13 again. be.

図12(b)は、指定範囲12にプログラム群p2とデータd2とが含まれている場合のグラフ35の別の例を示す図である。 FIG. 12B is a diagram showing another example of the graph 35 when the specified range 12 includes the program group p 2 and the data d 2 .

この例では、データd1は、指定範囲12のデータd2にアクセスするプログラム群p1だけでなく、プログラム群p0からもアクセスされている。この場合には、変更を加えるべきデータやプログラムの連鎖を防止するために、提示部26は切り出し範囲13にデータd1を含めない。これにより、切り出し範囲13が際限なく広がるのを防止して、変更対象となるプログラム群やデータが増加するのを抑制することができる。 In this example, the data d 1 is accessed not only by the program group p 1 that accesses the data d 2 in the specified range 12 but also by the program group p 0 . In this case, the presentation unit 26 does not include the data d 1 in the extraction range 13 in order to prevent a chain of data or programs that should be changed. Thereby, it is possible to prevent the cutting range 13 from expanding indefinitely, and to suppress an increase in the number of programs and data to be changed.

以上のように、提示部26は、ルール1~3に従って切り出し範囲13を設定する。 As described above, the presentation unit 26 sets the cutting range 13 according to Rules 1 to 3.

その切り出し範囲13の他に、プログラム資産11から切り出さないことを推奨する範囲を提示するとユーザの利便性が向上する。そこで、提示部26は、以下のルール4に従い、グラフ35に基づいて切り出さない範囲を提示する。 In addition to the extraction range 13, if a range recommended not to be extracted from the program assets 11 is presented, user convenience will be improved. Therefore, the presentation unit 26 presents the range that will not be cut out based on the graph 35 in accordance with Rule 4 below.

・ルール4
図13は、ルール4が適用されるグラフ35の一例を示す図である。
提示部26は、このグラフ35に基づいて切り出さない範囲14を提示する。切り出さない範囲14は、第3の範囲の一例であって、プログラム資産11から切り出さないことを推奨する範囲である。例えば、切り出し範囲13に含まれるプログラム群やデータを変更しても、その影響を受け難いプログラム群やデータが切り出さない範囲14に含められる。
・Rule 4
FIG. 13 is a diagram showing an example of a graph 35 to which Rule 4 is applied.
The presentation unit 26 presents the range 14 that is not cut out based on this graph 35. The non-extracted range 14 is an example of a third range, and is a range that is recommended not to be extracted from the program assets 11. For example, even if a program group or data included in the extraction range 13 is changed, a program group or data that is not easily affected by the change is included in the non-extraction range 14.

ここでは、提示部26は、切り出し範囲13に含まれるプログラム群からアクセスされないデータを切り出さない範囲14に含める。図13の例では、データd4、d6がそのようなデータとなる。これらのデータd4、d6は、切り出し範囲13に含まれるプログラム群p1、p2からアクセスされておらず、プログラム群p1、p2に合わせた変更をする必要がないため、切り出さない範囲14に含められる。 Here, the presentation unit 26 includes data that is not accessed from the program group included in the extraction range 13 in the non-extraction range 14 . In the example of FIG. 13, data d 4 and d 6 are such data. These data d 4 and d 6 are not accessed by the program groups p 1 and p 2 included in the extraction range 13 and do not need to be modified to match the program groups p 1 and p 2 , so they are not extracted. Included in range 14.

また、この例では、上記のように切り出し範囲13に含まれるプログラム群からアクセスされないデータd4が、切り出し範囲13にないプログラム群p4からアクセスされている。そのプログラム群p4は、切り出し範囲13に含まれるデータd1、d2にアクセスしていないため、データd1、d2の変更に合わせた変更を行う必要性が少なく、切り出さない範囲14に含めることができる。 Furthermore, in this example, the data d 4 that is not accessed by the program group included in the extraction range 13 as described above is accessed from the program group p 4 that is not included in the extraction range 13 . Since the program group p 4 does not access the data d 1 and d 2 included in the extraction range 13, there is little need to make changes in accordance with changes in the data d 1 and d 2, and the program group p 4 does not access the data d 1 and d 2 included in the extraction range 13. can be included.

よって、提示部26は、切り出し範囲13に含まれるプログラム群からアクセスされないデータにアクセスするプログラム群のうち、切り出し範囲13に含まれるデータにアクセスしないプログラム群を切り出さない範囲14に含める。 Therefore, the presenting unit 26 includes, in the non-cutout range 14, a program group that does not access data included in the cutout range 13 among the program groups that access data that is not accessed by the program group included in the cutout range 13.

このようなルールにより、プログラム群p4、p5、p6が切り出さない範囲14に含められることになる。そして、提示部26が切り出さない範囲14を提示することにより、切り出さない範囲14に含まれるデータやプログラム群をプログラム資産11に残してもよいとユーザが判断することができ、ユーザの利便性を向上させることができる。 According to such rules, the program groups p 4 , p 5 , and p 6 are included in the range 14 that is not extracted. Then, by presenting the range 14 that will not be cut out by the presentation unit 26, the user can decide that it is okay to leave the data and program group included in the range 14 that will not be cut out in the program assets 11, improving the user's convenience. can be improved.

ところで、プログラム資産11の中には、切り出し範囲13と切り出さない範囲14の各々が共用するデータやプログラム群が存在する場合がある。そのようなデータやプログラム群を含む範囲を以下では共用範囲と呼ぶ。その共用範囲は、以下のルール5に従って提示部26がグラフ35に基づいて設定する。 Incidentally, in the program assets 11, there may be data or a program group that is shared by the extraction range 13 and the non-extraction range 14. A range including such data and a group of programs is hereinafter referred to as a shared range. The sharing range is set by the presentation unit 26 based on the graph 35 according to Rule 5 below.

・ルール5
図14は、ルール5が適用されるグラフ35の一例を示す図である。
共用範囲15は、第4の範囲の一例であって、以下のように設定される。
Rule 5
FIG. 14 is a diagram showing an example of a graph 35 to which Rule 5 is applied.
The shared range 15 is an example of the fourth range, and is set as follows.

まず、提示部26は、切り出し範囲13に含まれるプログラム群と切り出さない範囲14に含まれるプログラム群の各々からアクセスされるデータを共用範囲15に含める。 First, the presentation unit 26 includes data accessed by each of the program group included in the extraction range 13 and the program group included in the non-extraction range 14 in the shared range 15 .

図14の例では、データd3が、切り出し範囲13のプログラム群p2及び切り出さない範囲14のプログラム群p4からアクセスされており、切り出し範囲13と切り出さない範囲14が共用しているデータと捉えることができる。よって、提示部26は、共用範囲15にデータd3を含める。同様の理由により、データd5も共用範囲15に含められる。 In the example of FIG. 14, data d 3 is accessed by program group p 2 in the extraction range 13 and program group p 4 in the non-extraction range 14, and is data shared by the extraction range 13 and the non-extraction range 14. can be captured. Therefore, the presenting unit 26 includes the data d 3 in the shared range 15. For the same reason, data d5 is also included in the shared range 15.

また、このように切り出し範囲13と切り出さない範囲14の各々のプログラム群からアクセスされるデータが存在するとき、そのデータにアクセスするプログラム群が存在することがある。図14の例では、データd3にアクセスするプログラム群p3がそのようなプログラム群となる。プログラム群p3は、アクセス先のデータd3と協働して一つのサービスを提供すると考えることができる。また、ユーザにとっては、同一のサービスを提供するプログラム群とデータとを同一の範囲に含めて提示された方が便利である。 Furthermore, when there is data that is accessed by each of the program groups in the cutout range 13 and the non-cutout range 14, there may be a program group that accesses the data. In the example of FIG. 14, the program group p3 that accesses the data d3 is such a program group. The program group p 3 can be considered to provide one service in cooperation with the data d 3 to which it is accessed. Furthermore, it is more convenient for the user to present a group of programs and data that provide the same service in the same range.

そこで、提示部26は、このように切り出し範囲13と切り出さない範囲14の各々のプログラム群からアクセスされるデータが存在するとき、そのデータにアクセスするプログラム群も共用範囲15に含める。これにより、前述のプログラム群p3も共用範囲15に含められることになる。 Therefore, when there is data accessed by each of the program groups in the extraction range 13 and non-extraction range 14, the presentation unit 26 also includes the program group that accesses the data in the shared range 15. As a result, the aforementioned program group p3 is also included in the shared range 15.

なお、プログラム群p3が切り出し範囲13と切り出さない範囲14のいずれか一方に既に分類されている場合には、切り出し範囲13と切り出さない範囲14の各々でプログラム群p3が共用されているとは言い難い。よって、提示部26は、切り出し範囲13と切り出さない範囲14の各々の外にあるプログラム群を切り出さない範囲14に含める候補とする。 Note that if the program group p 3 has already been classified into either the extraction range 13 or the non-extraction range 14, it is assumed that the program group p 3 is shared between the extraction range 13 and the non-extraction range 14. It's hard to say. Therefore, the presentation unit 26 selects programs that are outside the extraction range 13 and the non-extraction range 14 as candidates for inclusion in the non-extraction range 14.

図15は、共用範囲15を決めるルール5が適用されるグラフ35の別の例について示す図である。 FIG. 15 is a diagram showing another example of the graph 35 to which Rule 5 for determining the shared range 15 is applied.

図15の例では、提示部26が、ルール5に従うことにより、切り出し範囲13のプログラム群p2と切り出さない範囲14のプログラム群p4の各々からアクセスされるデータd3を共用範囲15に含める。同様に、提示部26は、データd5も共用範囲15に含める。 In the example of FIG. 15, the presentation unit 26 includes the data d 3 accessed from each of the program group p 2 in the extraction range 13 and the program group p 4 in the non-extraction range 14 in the shared range 15 by following rule 5. . Similarly, the presentation unit 26 also includes the data d 5 in the shared range 15 .

また、ルール5に従い、提示部26は、データd3にアクセスするプログラム群p3と、データd5にアクセスするプログラム群p5も切り出さない範囲14に含める。なお、プログラム群p5はデータd3とデータd5の二つにアクセスしているが、アクセス先の個数はルール5の解釈に影響を与えないため、このようにプログラム群p5も切り出さない範囲14に含めて構わない。 Further, according to Rule 5, the presenting unit 26 also includes the program group p 3 that accesses the data d 3 and the program group p 5 that accesses the data d 5 in the non-extracting range 14 . Note that program group p 5 accesses two data, data d 3 and data d 5 , but the number of access destinations does not affect the interpretation of rule 5, so program group p 5 is not extracted in this way either. It may be included in range 14.

図16は、共用範囲15を決めるルール5が適用されるグラフ35の更に別の例について示す図である。 FIG. 16 is a diagram showing still another example of the graph 35 to which Rule 5 for determining the shared range 15 is applied.

図16の例では、ルール5に従うことにより、切り出し範囲13のプログラム群p2と切り出さない範囲14のプログラム群p0の各々からアクセスされるデータd1が共用範囲15に含められる。また、ルール5に従い、データd1にアクセスするプログラム群p1も切り出さない範囲14に含められる。 In the example of FIG. 16, by following Rule 5, the data d 1 accessed from each of the program group p 2 in the extraction range 13 and the program group p 0 in the non-extraction range 14 is included in the shared range 15 . Furthermore, according to Rule 5, the program group p 1 that accesses the data d 1 is also included in the non-extracting range 14 .

図17は、共用範囲15を決めるルール5が適用されるグラフ35の他の例について示す図である。 FIG. 17 is a diagram showing another example of the graph 35 to which Rule 5 for determining the shared range 15 is applied.

図17の例では、切り出し範囲13に含まれるデータと切り出さない範囲14に含まれるデータのいずれにもアクセスしないプログラム群p0が存在する。そのプログラム群p0は、切り出し範囲13と切り出さない範囲14のどちらとも関連性がない独立したプログラム群である。そのように独立したプログラム群が存在することを提示すると、ユーザがプログラム資産11の現状を把握することができる。 In the example of FIG. 17, there is a program group p0 that does not access either data included in the extraction range 13 or data included in the non-extraction range 14. The program group p 0 is an independent program group that has no relation to either the extraction range 13 or the non-extraction range 14 . By presenting the existence of such an independent program group, the user can grasp the current status of the program assets 11.

そこで、提示部26は、このように切り出し範囲13に含まれるデータと切り出さない範囲14に含まれるデータのいずれにもアクセスしないプログラム群も共用範囲15に含めて提示する。 Therefore, the presentation unit 26 presents a program group that does not access either the data included in the extraction range 13 or the data included in the non-extraction range 14 in the shared range 15.

以上説明したように、本実施形態によれば、提示部26が、切り出し範囲13、切り出さない範囲14、及び共用範囲15を提示する。 As described above, according to the present embodiment, the presentation unit 26 presents the cutout range 13, the non-cutout range 14, and the shared range 15.

図18は、これらの各範囲と指定範囲12とが設定されたグラフ35を例示する図である。 FIG. 18 is a diagram illustrating a graph 35 in which each of these ranges and the specified range 12 are set.

図18に示すように、本実施形態に従って切り出し範囲13を設定すると、指定範囲12の全ての部分が切り出し範囲13に含まれるようになる。そのため、切り出し範囲13をプログラム資産11から切り出すことで、ユーザがプログラム群やデータの変更を希望する指定範囲12もプログラム資産11から切り出すことができる。これにより、指定範囲12と共に切り出すべき範囲が明確になると共に、その指定範囲12のプログラム群やデータを変更したときに影響を受ける範囲を切り出し範囲13に留めることが可能となる。 As shown in FIG. 18, when the cutting range 13 is set according to this embodiment, all parts of the specified range 12 are included in the cutting range 13. Therefore, by cutting out the cutting range 13 from the program asset 11, the specified range 12 in which the user desires to change the program group or data can also be cut out from the program asset 11. As a result, the range to be cut out together with the specified range 12 becomes clear, and the range that is affected when the program group or data in the specified range 12 is changed can be kept within the cutout range 13.

図19は、図2~図3の例で説明した方法で切り出し範囲13が設定されたグラフ35を例示する図である。 FIG. 19 is a diagram illustrating a graph 35 in which the cutout range 13 is set using the method described in the examples of FIGS. 2 and 3.

その切り出し範囲13は、指定範囲12を考慮せずに、前述のようにプログラムの依存関係のみを利用して設定される。そのため、一つの切り出し範囲13の中に、指定範囲12に属するプログラム群p2と、指定範囲12に属さないプログラム群p3及びデータd2、d3が生じてしまう。その結果、プログラム群p3とデータd2、d3とを切り出すべきかどうかをユーザが明確に判断することができず、プログラム資産11の変更や保守が困難となる。 The cutout range 13 is set using only program dependencies as described above, without considering the designated range 12. Therefore, a program group p 2 belonging to the specified range 12 and a program group p 3 and data d 2 and d 3 that do not belong to the specified range 12 are generated in one extraction range 13 . As a result, the user cannot clearly judge whether to extract the program group p 3 and the data d 2 and d 3 , making it difficult to change or maintain the program assets 11.

ところで、プログラム資産11の中には、実行時に指定範囲12に含まれるプログラム群が使用しないデータや、指定範囲12に含まれるデータを使用しないプログラム群がある。このように実行時に使用されないプログラム群やデータは、指定範囲12に含まれるプログラム群やデータに対する変更の影響を受けないため、プログラム資産11から切り出さずに残すことができる。 By the way, among the program assets 11, there are data that is not used by the program group included in the specified range 12 at the time of execution, and a program group that does not use the data included in the specified range 12. In this way, the program group and data that are not used during execution are not affected by changes to the program group and data included in the specified range 12, and therefore can be left without being extracted from the program assets 11.

特定部27(図6参照)は、このような未使用のデータとプログラム群とを特定するための処理部である。 The specifying unit 27 (see FIG. 6) is a processing unit for specifying such unused data and program groups.

その処理について図20を参照して説明する。
図20は、未使用のデータと未使用のプログラム群とを特定する処理について模式的に示す図である。
The processing will be explained with reference to FIG. 20.
FIG. 20 is a diagram schematically showing the process of identifying unused data and unused program groups.

ここでは、プログラム群p1の起点がプログラムPG1であり、プログラム群p2の起点がプログラムPG2であるとする。そして、各プログラム群p1、p2に共通に含まれるプログラムPG4が、ソースコード上でデータd1とデータd2の両方にアクセスしているものとする。 Here, it is assumed that the starting point of program group p 1 is program PG1, and the starting point of program group p 2 is program PG2. It is assumed that a program PG4 commonly included in each program group p 1 and p 2 accesses both data d 1 and data d 2 in the source code.

このような依存関係によれば、ソースコード上ではプログラムPG1がプログラムPG4を介してデータd1とデータd2の両方にアクセスしているように見える。しかし、実際にプログラムを実行すると、以下のように未使用のデータが発生する。 According to such a dependency relationship, it appears in the source code that program PG1 is accessing both data d 1 and data d 2 via program PG4. However, when the program is actually executed, unused data is generated as shown below.

ログ情報33を参照すると、プログラムPG1は、プログラムPG4の100行目の命令を呼び出している。その命令は、命令アクセス情報34を参照すると、データd1にアクセスする命令であって、データd2にアクセスする命令ではない。これにより、データd2は、プログラムPG1がアクセスしない未使用のデータであることが分かる。同様に、データd1が、プログラムPG2がアクセスしない未使用のデータであることも分かる。 Referring to the log information 33, program PG1 calls the instruction on the 100th line of program PG4. Referring to the instruction access information 34, this instruction is an instruction to access data d 1 and not an instruction to access data d 2 . This shows that data d2 is unused data that is not accessed by program PG1. Similarly, it can be seen that data d1 is unused data that program PG2 does not access.

これを利用して、特定部27は、以下のように未使用のデータやプログラム群を特定する。 Using this, the specifying unit 27 specifies unused data and program groups as follows.

まず、特定部27は、ログ情報33を記憶した記憶部23を参照することにより、呼び出し元のプログラムを実行したときに、呼び出し先のプログラムが実際に呼び出す命令の位置を特定する。 First, by referring to the storage unit 23 that stores the log information 33, the specifying unit 27 specifies the position of the instruction actually called by the called program when the calling program is executed.

図20のログ情報33の一行目では、呼び出し先のプログラムPG4における100行目の命令が呼び出されている。よって、特定部27は、呼び出し先のプログラムPG4における100行目の命令が、呼び出し元のプログラムPG1を実行したときに呼び出されることを特定する。同様に、特定部27は、呼び出し先のプログラムPG4における105行目の命令が、呼び出し元のプログラムPG2を実行したときに呼び出されることを特定する。 In the first line of the log information 33 in FIG. 20, the instruction on the 100th line of the called program PG4 is called. Therefore, the specifying unit 27 specifies that the instruction on the 100th line in the called program PG4 is called when the calling program PG1 is executed. Similarly, the specifying unit 27 specifies that the instruction on the 105th line in the called program PG4 is called when the calling program PG2 is executed.

次に、特定部27は、命令アクセス情報34を記憶した記憶部23を参照することにより、先に特定した命令の位置に対応しないデータを、呼び出し元のプログラムが使用していないことを特定する。 Next, the identifying unit 27 identifies that the calling program does not use data that does not correspond to the position of the previously identified instruction by referring to the storage unit 23 that stores the instruction access information 34. .

例えば、命令アクセス情報34に含まれるデータd1を考える。命令アクセス情報34においてデータd1に対応する命令の位置は、プログラムPG4の100行目である。この位置は、ログ情報33におけるプログラムPG2に対応した位置(プログラムPG4の105行目)とは異なる。よって、実際にはプログラムPG2がデータd1を使用しないことが特定部27によって特定される。同様に、プログラムPG1が実際にはデータd2を使用しないことが特定部27によって特定される。 For example, consider data d 1 included in the instruction access information 34. The position of the instruction corresponding to data d1 in the instruction access information 34 is the 100th line of the program PG4. This position is different from the position corresponding to program PG2 in the log information 33 (line 105 of program PG4). Therefore, the specifying unit 27 specifies that the program PG2 does not actually use the data d1 . Similarly, the specifying unit 27 specifies that the program PG1 does not actually use the data d2 .

この処理によって生成された結果を図21に示す
図21は、未使用のデータを特定した結果を模式的に示す図である。
図21に示すように、実行時にプログラムPG1が使用するのはデータd1であり、データd2をプログラムPG1は使用しない。また、実行時にプログラムPG2が使用するのはデータd2であり、データd1をプログラムPG2は使用しない。
The results generated by this process are shown in FIG. 21. FIG. 21 is a diagram schematically showing the results of identifying unused data.
As shown in FIG. 21, during execution, program PG1 uses data d1 , and program PG1 does not use data d2 . Further, during execution, program PG2 uses data d2 , and program PG2 does not use data d1 .

グラフ生成部25は、特定部27のこの処理の結果を以下のようにグラフ35に反映させる。 The graph generation unit 25 reflects the results of this processing by the identification unit 27 on the graph 35 as follows.

図22(a)、(b)は、図21のプログラム群p1、p2とデータd1、d2から生成されるグラフ35に対し、未使用のデータを特定した結果をグラフ生成部25が反映させる方法について模式的に示す図である。 22A and 22B show the results of identifying unused data in the graph generation unit 25 for the graph 35 generated from the program groups p 1 and p 2 and data d 1 and d 2 in FIG. 21. FIG.

このうち、図22(a)は、結果を反映させる前のグラフ35を模式的に示す図である。結果を反映させる前は、グラフ生成部25によって、プログラム群p1がデータd2にアクセスすることを示すエッジがプログラム群p1とデータd2との間に張られる。同様に、グラフ生成部25によって、プログラム群p2とデータd1との間にもエッジが張られる。 Of these, FIG. 22(a) is a diagram schematically showing the graph 35 before the results are reflected. Before reflecting the results, the graph generation unit 25 creates an edge between the program group p 1 and the data d 2 indicating that the program group p 1 accesses the data d 2 . Similarly, the graph generation unit 25 also creates an edge between the program group p 2 and the data d 1 .

一方、図22(b)は、未使用のデータを特定した結果を反映させた後のグラフ35を模式的に示す図である。グラフ生成部25は、結果を反映させるために、プログラム群p1とデータd2との間のエッジを、データが未使用であることを示す点線に変える。同様に、グラフ生成部25は、プログラム群p2とデータd1との間のエッジを点線にする。 On the other hand, FIG. 22(b) is a diagram schematically showing the graph 35 after reflecting the results of identifying unused data. In order to reflect the result, the graph generation unit 25 changes the edge between the program group p 1 and the data d 2 to a dotted line indicating that the data is unused. Similarly, the graph generation unit 25 makes the edge between the program group p 2 and the data d 1 a dotted line.

ここで、ユーザがプログラム群p1とデータd1とを含む指定範囲12を指定した場合を考える。 Here, consider a case where the user specifies a specified range 12 that includes program group p 1 and data d 1 .

この場合、提示部26は、指定範囲12に含まれるプログラム群p1が実行時に使用しないデータd2を未使用範囲16に含める。例えば、提示部26は、プログラム群p1とデータd2との間のエッジが点線である場合に、そのデータd2を未使用範囲16に含める。 In this case, the presentation unit 26 includes in the unused range 16 the data d 2 that the program group p 1 included in the specified range 12 does not use during execution. For example, when the edge between the program group p 1 and the data d 2 is a dotted line, the presenting unit 26 includes the data d 2 in the unused range 16 .

更に、提示部26は、指定範囲12に含まれるデータd1を実行時に使用しないプログラム群p2も未使用範囲16に含める。この場合も、提示部26は、プログラム群p2とデータd1との間のエッジが点線である場合に、そのプログラム群p2を未使用範囲16に含める。 Furthermore, the presentation unit 26 also includes the program group p 2 that does not use the data d 1 included in the specified range 12 during execution into the unused range 16 . Also in this case, the presentation unit 26 includes the program group p 2 in the unused range 16 when the edge between the program group p 2 and the data d 1 is a dotted line.

未使用範囲16は、第5の範囲の一例であって、指定範囲12に含まれるプログラム群p1とデータd1をユーザが変更してもその影響を受けない範囲である。よって、提示部26が未使用範囲16を提示することにより、ユーザが未使用範囲16をプログラム資産11から切り出す必要はないと判断することが可能となる。 The unused range 16 is an example of the fifth range, and is a range that is not affected even if the program group p 1 and data d 1 included in the designated range 12 are changed by the user. Therefore, by presenting the unused range 16 by the presentation unit 26, the user can determine that there is no need to cut out the unused range 16 from the program assets 11.

[全体処理の流れ]
図23は、本実施形態に係る情報提示方法の全体的な処理の流れを示すフローチャートである。
[Overall processing flow]
FIG. 23 is a flowchart showing the overall processing flow of the information presentation method according to this embodiment.

図23に示すように、情報提示装置10は各種情報を受け付ける(ステップS1)。例えば、情報提示装置10は、指定範囲12、プログラムアクセス情報31、ログ情報33、及び命令アクセス情報34の各々を受け付ける。 As shown in FIG. 23, the information presentation device 10 receives various information (step S1). For example, the information presentation device 10 receives each of the specified range 12, program access information 31, log information 33, and command access information 34.

次いで、情報提示装置10は、プログラムアクセス情報31に基づいてグラフ35を生成し(ステップS2)、そのグラフ35上で未使用データを反映させる(ステップS3)。未使用データを反映させる方法としては、図22に示したように、未使用のデータとプログラム群との間のエッジを点線にする等の方法がある。 Next, the information presentation device 10 generates a graph 35 based on the program access information 31 (step S2), and reflects unused data on the graph 35 (step S3). As a method for reflecting unused data, as shown in FIG. 22, there is a method such as making the edge between unused data and a program group a dotted line.

そして、情報提示装置10は、切り出し範囲13の設定処理を行い(ステップS4)、その後に切り出さない範囲14の設定処理を行う(ステップS5)。続いて、情報提示装置10は、共用範囲15の設定処理を行い(ステップS6)、未使用範囲16の設定処理を行う(ステップS7)。 Then, the information presentation device 10 performs a setting process for the cutout range 13 (step S4), and then performs a setting process for the range 14 that is not cut out (step S5). Subsequently, the information presentation device 10 performs a setting process for the shared range 15 (step S6), and performs a setting process for the unused range 16 (step S7).

その後、情報提示装置10は、指定範囲12、切り出し範囲13、切り出さない範囲14、共用範囲15、及び未使用範囲16の各範囲をCUIやGUIで提示する(ステップS8)。 After that, the information presentation device 10 presents the designated range 12, the cutout range 13, the non-cutout range 14, the shared range 15, and the unused range 16 using the CUI or GUI (step S8).

GUIの場合には、提示部26は、図18や図22(b)のようにグラフ35に各範囲を重ねて表示するための表示情報を生成する。 In the case of GUI, the presentation unit 26 generates display information for displaying each range overlappingly on the graph 35 as shown in FIG. 18 or FIG. 22(b).

また、CUIの場合には、提示部26は、各範囲に含まれるグラフ35のノードを列挙するような表示情報を生成する。図18のグラフ35の場合には、提示部26は、例えば以下のようにノードを列挙するための括弧「{}」を用意し、その括弧の中に各ノードを列挙して提示すればよい。 Further, in the case of CUI, the presentation unit 26 generates display information that lists the nodes of the graph 35 included in each range. In the case of the graph 35 in FIG. 18, the presentation unit 26 may prepare parentheses "{}" for enumerating nodes as shown below, and list and present each node within the parentheses. .

指定範囲12:{p1, p2}
切り出し範囲13:{p1, p2, d1, d2}
切り出さない範囲14: {p4, d4}, {p5, p6, d6}
共用範囲15:{p3, d3}, {d5}, {p0}
Specified range 12: {p 1 , p 2 }
Cutting range 13: {p 1 , p 2 , d 1 , d 2 }
Range not to be extracted 14: {p 4 , d 4 }, {p 5 , p 6 , d 6 }
Shared range 15: {p 3 , d 3 }, {d 5 }, {p 0 }

また、図22のグラフ35の場合には、提示部26は、以下のように未使用範囲16を提示し得る。
未使用範囲16:{p2, d2}
Furthermore, in the case of the graph 35 in FIG. 22, the presenting unit 26 can present the unused range 16 as follows.
Unused range 16: {p 2 , d 2 }

[切り出し範囲の設定処理の流れ]
次に、図23のステップS4で実行される切り出し範囲の設定処理について説明する。
[Flow of processing for setting cropping range]
Next, the cutting range setting process executed in step S4 of FIG. 23 will be described.

図24は、切り出し範囲の設定処理の流れを示すフローチャートである。 FIG. 24 is a flowchart showing the flow of the cutting range setting process.

図24に示すように、提示部26は、切り出し範囲13を空に初期化する(ステップS11)。例えば、提示部26は、切り出し範囲13を提示するための括弧「{}」の中身を空に初期化する。 As shown in FIG. 24, the presentation unit 26 initializes the cutting range 13 to be empty (step S11). For example, the presentation unit 26 initializes the contents of the parentheses "{}" for presenting the cutout range 13 to be empty.

続いて、提示部26は、指定範囲12を切り出し範囲13に追加する(ステップS12)。例えば、図12(a)のように指定範囲12にプログラム群p2とデータd2が含まれている場合には、提示部26はプログラム群p2とデータd2とを切り出し範囲13に追加する。 Subsequently, the presentation unit 26 adds the designated range 12 to the cutout range 13 (step S12). For example , if the specified range 12 includes program group p 2 and data d 2 as shown in FIG. do.

次いで、提示部26は、指定範囲12に含まれるデータに指定範囲12の外からアクセスするプログラム群を切り出し範囲13に追加する(ステップS13)。図12(a)の例では、データd2にアクセスするプログラム群p1が切り出し範囲13に追加されることになる。 Next, the presentation unit 26 adds a program group that accesses data included in the specified range 12 from outside the specified range 12 to the extraction range 13 (step S13). In the example of FIG. 12A, the program group p 1 that accesses the data d 2 will be added to the extraction range 13.

そして、提示部26は、指定範囲12に含まれるプログラム群のみがアクセスするデータのうち、指定範囲12の外にあるデータを切り出し範囲13に追加する(ステップS14)。図11(a)の例では、データd2は、指定範囲12の外にあるデータであり、更に指定範囲12に含まれるプログラム群p2のみがアクセスするデータであるから、切り出し範囲13に追加されることになる。 Then, the presentation unit 26 adds data outside the specified range 12 to the cutout range 13, among the data accessed only by the program group included in the specified range 12 (step S14). In the example of FIG. 11(a), data d 2 is outside the specified range 12 and is accessed only by program group p 2 included in the specified range 12, so it is added to the extraction range 13. will be done.

次に、提示部26は、指定範囲12の外にあるデータのうち、指定範囲12に含まれるデータに指定範囲12の外からアクセスするプログラム群のみがアクセスするデータを切り出し範囲に追加する(ステップS15)。図12(a)の例では、指定範囲12の外にあるデータd1がプログラム群p1のみからアクセスされている。そのプログラム群p1は、指定範囲12にあるデータd2に指定範囲12の外からアクセスするプログラム群である。よって、データd1が切り出し範囲13に追加されることになる。 Next, the presentation unit 26 adds to the extraction range data that is accessed only by a program group that accesses data included in the specified range 12 from outside the specified range 12, out of the data outside the specified range 12 (step S15). In the example of FIG. 12(a), data d1 outside the specified range 12 is accessed only by the program group p1 . The program group p 1 is a program group that accesses data d 2 in the designated range 12 from outside the designated range 12 . Therefore, data d 1 will be added to the extraction range 13.

[切り出さない範囲の設定処理の流れ]
次に、図25のステップS5で実行される切り出さない範囲の設定処理について説明する。
[Flow of process for setting range not to be cut out]
Next, a description will be given of the process of setting the range not to be cut out, which is executed in step S5 of FIG. 25.

図25は、切り出さない範囲の設定処理の流れを示すフローチャートである。 FIG. 25 is a flowchart illustrating the process of setting a range that will not be cut out.

図25に示すように、提示部26は、切り出さない範囲14を空に初期化する(ステップS21)。例えば、提示部26は、切り出さない範囲14を提示するための括弧「{}」の中身を空に初期化する。 As shown in FIG. 25, the presentation unit 26 initializes the non-cutting range 14 to be empty (step S21). For example, the presentation unit 26 initializes the contents of the parentheses "{}" for presenting the range 14 that is not cut out to be empty.

続いて、提示部26は、指定範囲12に含まれるプログラム群からアクセスされないデータを切り出さない範囲14に追加する(ステップS22)。図13の例では、データd4、d6は、切り出し範囲13に含まれるプログラム群p1、p2からアクセスされていないため、切り出さない範囲14に追加される。 Subsequently, the presentation unit 26 adds data that is not accessed from the program group included in the designated range 12 to the non-extracted range 14 (step S22). In the example of FIG. 13, the data d 4 and d 6 are not accessed by the program groups p 1 and p 2 included in the extraction range 13, so they are added to the non-extraction range 14.

次に、提示部26は、ステップS22のデータにアクセスするプログラム群のうち、切り出し範囲13のデータにアクセスしないプログラム群を切り出さない範囲14に追加する(ステップS23)。図13の例ではプログラム群p4、p5、p6が切り出さない範囲14に追加される。 Next, the presentation unit 26 adds a program group that does not access the data in the extraction range 13 to the non-extraction range 14, out of the program group that accesses the data in step S22 (step S23). In the example of FIG. 13, program groups p 4 , p 5 , and p 6 are added to the range 14 that is not cut out.

[共用範囲の設定処理の流れ]
次に、図23のステップS6で実行される共用範囲の設定処理について説明する。
[Flow of sharing range setting process]
Next, the shared range setting process executed in step S6 of FIG. 23 will be described.

図26は、共用範囲の設定処理の流れを示すフローチャートである。
図26に示すように、提示部26は、共用範囲15を空に初期化する(ステップS31)。例えば、提示部26は、共用範囲15を提示するための括弧「{}」の中身を空に初期化する。
FIG. 26 is a flowchart showing the flow of shared range setting processing.
As shown in FIG. 26, the presentation unit 26 initializes the shared range 15 to be empty (step S31). For example, the presentation unit 26 initializes the contents of the parentheses "{}" for presenting the shared range 15 to be empty.

次に、提示部26は、切り出し範囲13と切り出さない範囲14の各々のプログラム群からアクセスされるデータを共用範囲15に追加する(ステップS32)。図14の例では、データd3、d5が共用範囲15に追加される。 Next, the presentation unit 26 adds data accessed from each of the program groups in the extraction range 13 and non-extraction range 14 to the shared range 15 (step S32). In the example of FIG. 14, data d 3 and d 5 are added to the shared range 15.

続いて、提示部26は、ステップS32のデータにアクセスするプログラム群のうち、切り出し範囲13と切り出さない範囲14の各々の外にあるプログラム群を共用範囲15に追加する(ステップS33)。図14の例では、プログラム群p3が共用範囲15に追加される。 Subsequently, the presentation unit 26 adds to the shared range 15 a group of programs that are outside the extraction range 13 and the non-extraction range 14, among the programs that access the data in step S32 (step S33). In the example of FIG. 14, program group p3 is added to the shared range 15.

次いで、提示部26は、切り出し範囲13と切り出さない範囲14のいずれのデータにもアクセスしないプログラム群を共用範囲15に追加する(ステップS34)。図17の例ではプログラム群p0が共用範囲15に追加される。 Next, the presentation unit 26 adds to the shared range 15 a program group that does not access data in either the cutout range 13 or the non-cutout range 14 (step S34). In the example of FIG. 17, program group p 0 is added to the shared range 15.

[未使用範囲の設定処理の流れ]
次に、図23のステップS7で実行される未使用範囲の設定処理について説明する。
[Flow of unused range setting process]
Next, the unused range setting process executed in step S7 of FIG. 23 will be described.

図27は、未使用範囲の設定処理の流れを示すフローチャートである。 FIG. 27 is a flowchart showing the flow of the unused range setting process.

図27に示すように、提示部26は、未使用範囲16を空に初期化する(ステップS41)。例えば、提示部26は、未使用範囲16を提示するための括弧「{}」の中身を空に初期化する。 As shown in FIG. 27, the presentation unit 26 initializes the unused range 16 to be empty (step S41). For example, the presentation unit 26 initializes the contents of the parentheses "{}" for presenting the unused range 16 to be empty.

次いで、特定部27は、ログ情報33と命令アクセス情報34が記憶された記憶部23を参照することにより、プログラム実行の際に未使用となるデータを特定する(ステップS42)。例えば、特定部27は、ログ情報33と命令アクセス情報34において、呼び出し元のプログラムとデータとが対応付けられない場合に、その呼び出し元のプログラムが実行時にそのデータを使用しないと特定する。図22(b)の例では、プログラム群p1が実行時にデータd2を使用せず、プログラム群p2が実行時にデータd1を使用しないことが特定される。 Next, the identifying unit 27 identifies data that will be unused during program execution by referring to the storage unit 23 in which the log information 33 and the command access information 34 are stored (step S42). For example, if the calling program and the data are not associated with each other in the log information 33 and the instruction access information 34, the specifying unit 27 identifies that the calling program does not use the data during execution. In the example of FIG. 22(b), it is specified that program group p 1 does not use data d 2 during execution, and program group p 2 does not use data d 1 during execution.

続いて、提示部26は、特定部27の処理の結果を利用して、指定範囲12のプログラムが使用しないデータと、指定範囲12のデータを使用しないプログラム群とを未使用範囲16に追加する(ステップS43)。 Next, the presenting unit 26 uses the results of the processing of the specifying unit 27 to add data that is not used by the program in the specified range 12 and a group of programs that do not use the data in the specified range 12 to the unused range 16. (Step S43).

[ハードウェア構成]
図28は、本実施形態に係る情報提示装置10のハードウェア構成図である。
[Hardware configuration]
FIG. 28 is a hardware configuration diagram of the information presentation device 10 according to this embodiment.

図28に示すように、情報提示装置10は、記憶装置10a、メモリ10b、プロセッサ10c、及び通信インターフェース10dを有する。これらの各部は、バス10eにより相互に接続される。 As shown in FIG. 28, the information presentation device 10 includes a storage device 10a, a memory 10b, a processor 10c, and a communication interface 10d. These parts are interconnected by a bus 10e.

このうち、記憶装置10aは、HDDやSSD(Solid State Drive)等の不揮発性のストレージデバイスであり、本実施形態に係る情報提示プログラム40を記憶する。 Among these, the storage device 10a is a nonvolatile storage device such as an HDD or an SSD (Solid State Drive), and stores the information presentation program 40 according to this embodiment.

なお、情報提示プログラム40をコンピュータが読み取り可能な記録媒体10fに記録させておき、プロセッサ10cに記録媒体10fの情報提示プログラム40を読み取らせるようにしてもよい。 Note that the information presentation program 40 may be recorded on a computer-readable recording medium 10f, and the processor 10c may be made to read the information presentation program 40 from the recording medium 10f.

そのような記録媒体10fとしては、例えばCD-ROM(Compact Disc - Read Only Memory)、DVD(Digital Versatile Disc)、及びUSB(Universal Serial Bus)メモリ等の物理的な可搬型記録媒体がある。また、フラッシュメモリ等の半導体メモリやハードディスクドライブを記録媒体10fとして使用してもよい。これらの記録媒体10fは、物理的な形態を持たない搬送波のような一時的な媒体ではない。 Examples of such a recording medium 10f include physical portable recording media such as a CD-ROM (Compact Disc - Read Only Memory), a DVD (Digital Versatile Disc), and a USB (Universal Serial Bus) memory. Furthermore, a semiconductor memory such as a flash memory or a hard disk drive may be used as the recording medium 10f. These recording media 10f are not temporary media like carrier waves that do not have a physical form.

更に、公衆回線、インターネット、及びLAN(Local Area Network)等に接続された装置に情報提示プログラム40を記憶させておき、プロセッサ10cがその情報提示プログラム40を読み出して実行するようにしてもよい。 Furthermore, the information presentation program 40 may be stored in a device connected to a public line, the Internet, a LAN (Local Area Network), etc., and the processor 10c may read and execute the information presentation program 40.

一方、メモリ10bは、DRAM等のようにデータを一時的に記憶するハードウェアであって、その上に前述の情報提示プログラム40が展開される。 On the other hand, the memory 10b is hardware such as a DRAM that temporarily stores data, and the above-mentioned information presentation program 40 is developed thereon.

プロセッサ10cは、情報提示装置10の各部を制御したり、メモリ10bと協働して情報提示プログラム40を実行したりするCPU(Central Processing Unit)やGPU(Graphical Processing Unit)等のハードウェアである。 The processor 10c is hardware such as a CPU (Central Processing Unit) or a GPU (Graphical Processing Unit) that controls each part of the information presentation device 10 and executes the information presentation program 40 in cooperation with the memory 10b. .

このようにメモリ10bとプロセッサ10cとが協働して情報提示プログラム40を実行することにより、図6に示したように、受付部24、グラフ生成部25、提示部26、及び特定部27を備えた制御部22が実現される。また、記憶部23は、記憶装置10aとメモリ10bによって実現される。 As shown in FIG. 6, the memory 10b and processor 10c cooperate to execute the information presentation program 40, so that the reception section 24, graph generation section 25, presentation section 26, and identification section 27 are A control unit 22 equipped with the above is realized. Furthermore, the storage unit 23 is realized by the storage device 10a and the memory 10b.

更に、通信インターフェース10dは、情報提示装置10をLAN等のネットワークに接続するためのインターフェースである。その通信インターフェース10dにより通信部21(図6参照)が実現される。 Furthermore, the communication interface 10d is an interface for connecting the information presentation device 10 to a network such as a LAN. A communication unit 21 (see FIG. 6) is realized by the communication interface 10d.

以上説明した各実施形態に関し、更に以下の付記を開示する。
(付記1) コンピュータに、
複数のプログラム群と複数のデータの少なくとも一部を含む第1の範囲の指定を受け付ける処理と、
前記第1の範囲と、前記第1の範囲に含まれるデータに前記第1の範囲の外からアクセスするプログラム群と、複数の前記プログラム群のうち前記第1の範囲に含まれるプログラム群のみがアクセスするデータであって前記第1の範囲の外にあるデータとを含む第2の範囲を、複数の前記プログラム群と複数の前記データから切り出す範囲として提示する処理と、
を実行させるための情報提示プログラム。
(付記2) 前記提示する処理において、
複数の前記プログラム群のうち、前記第1の範囲に含まれるデータに前記第1の範囲の外からアクセスするプログラム群のみがアクセスするデータであって、前記第1の範囲の外のデータを前記第2の範囲に含めることを特徴とする付記1に記載の情報提示プログラム。
(付記3) 前記提示する処理において、
前記第2の範囲に含まれるプログラム群からアクセスされないデータと、当該データにアクセスするプログラム群のうち、前記第2の範囲に含まれるデータにアクセスしないプログラム群とを含む第3の範囲を、複数の前記プログラム群と複数の前記データから切り出さない範囲として提示することを特徴とする付記1に記載の情報提示プログラム。
(付記4) 前記提示する処理において、
前記第2の範囲に含まれるプログラム群及び前記第3の範囲に含まれるプログラム群の各々からアクセスされるデータと、当該データにアクセスするプログラム群であって、前記第2の範囲及び前記第3の範囲の各々の外にあるプログラム群と、前記第2の範囲に含まれるデータと前記第3の範囲に含まれるデータのいずれにもアクセスしないプログラム群とを含む第4の範囲を、前記第2の範囲と前記第3の範囲の各々のプログラム群とデータとが共用する共用範囲として提示することを特徴とする付記3に記載の情報提示プログラム。
(付記5) 前記提示する処理において、
前記第1の範囲のプログラム群に含まれるプログラムが実行時に使用しないデータと、前記第1の範囲に含まれるデータを実行時に使用しないプログラム群とを含む第5の範囲を、前記第1の範囲のプログラム群とデータが実行時に使用しない未使用範囲として提示することを特徴とする付記1に記載の情報提示プログラム。
(付記6) 前記プログラムと、当該プログラムが呼び出した呼び出し先のプログラムが実行時に呼び出した命令の位置とを対応させたログ情報と、前記命令の位置と前記命令がアクセスするデータとを対応させたアクセス情報とを記憶した記憶部を参照し、前記プログラムと前記データとが対応付けられない場合に、前記プログラムが実行時に前記データを使用しないことを特定する処理を更に有することを特徴とする付記5に記載の情報提示プログラム。
(付記7) 複数のプログラム群と複数のデータの少なくとも一部を含む第1の範囲の指定を受け付ける受付部と、
前記第1の範囲と、前記第1の範囲に含まれるデータに前記第1の範囲の外からアクセスするプログラム群と、複数の前記プログラム群のうち前記第1の範囲に含まれるプログラム群のみがアクセスするデータであって前記第1の範囲の外にあるデータとを含む第2の範囲を、複数の前記プログラム群と複数の前記データから切り出す範囲として提示する提示部と、
を有することを特徴とする情報提示装置。
(付記8) 複数のプログラム群と複数のデータの少なくとも一部を含む第1の範囲の指定を受け付ける処理と、
前記第1の範囲と、前記第1の範囲に含まれるデータに前記第1の範囲の外からアクセスするプログラム群と、複数の前記プログラム群のうち前記第1の範囲に含まれるプログラム群のみがアクセスするデータであって前記第1の範囲の外にあるデータとを含む第2の範囲を、複数の前記プログラム群と複数の前記データから切り出す範囲として提示する処理と、
をコンピュータが実行することを特徴とする情報提示方法。
Regarding each embodiment described above, the following additional notes are further disclosed.
(Additional note 1) On the computer,
a process of accepting a first range that includes at least part of a plurality of program groups and a plurality of data;
The first range, a program group that accesses data included in the first range from outside the first range, and only the program group included in the first range among the plurality of program groups. a process of presenting a second range including data to be accessed that is outside the first range as a range to be extracted from the plurality of program groups and the plurality of data;
An information presentation program for executing.
(Additional Note 2) In the process presented above,
Among the plurality of program groups, only the program group that accesses data included in the first range from outside the first range accesses the data, and the data outside the first range is The information presentation program according to Supplementary Note 1, which is included in the second range.
(Additional note 3) In the process presented above,
A third range including data that is not accessed by the program group included in the second range and a program group that does not access the data included in the second range among the program groups that access the data. The information presentation program according to supplementary note 1, wherein the information presentation program is presented as a range that is not extracted from the program group and a plurality of the data.
(Additional note 4) In the process presented above,
Data accessed by each of the program group included in the second range and the program group included in the third range, and the program group that accesses the data, the program group included in the second range and the third range. and a program group that accesses neither the data included in the second range nor the data included in the third range; 3. The information presentation program according to appendix 3, wherein the information presentation program is presented as a shared range that is shared by the program groups and data of each of the ranges 2 and 3.
(Additional note 5) In the process presented above,
A fifth range that includes data that is not used during execution by programs included in the program group in the first range, and a program group that does not use data included in the first range during execution, is defined as the first range. The information presentation program according to appendix 1, wherein the program group and data are presented as an unused range that is not used during execution.
(Additional Note 6) Log information that associates the position of an instruction called by the program and a called program called by the program during execution, and a correspondence between the position of the instruction and the data accessed by the instruction. Supplementary note characterized in that the method further comprises a process of specifying that the program does not use the data during execution when the program and the data are not associated with each other by referring to a storage unit that stores the access information. The information presentation program described in 5.
(Additional Note 7) A reception unit that accepts designation of a first range including at least part of a plurality of program groups and a plurality of data;
The first range, a program group that accesses data included in the first range from outside the first range, and only the program group included in the first range among the plurality of program groups. a presentation unit that presents a second range including data to be accessed that is outside the first range as a range to be extracted from the plurality of program groups and the plurality of data;
An information presentation device comprising:
(Additional Note 8) Processing for accepting the designation of a first range including at least part of a plurality of program groups and a plurality of data;
The first range, a program group that accesses data included in the first range from outside the first range, and only the program group included in the first range among the plurality of program groups. a process of presenting a second range including data to be accessed that is outside the first range as a range to be extracted from the plurality of program groups and the plurality of data;
An information presentation method characterized by being executed by a computer.

1、11…プログラム資産、7…切り出し範囲、8…指定範囲、10…情報提示装置、10a…記憶装置、10b…メモリ、10c…プロセッサ、10d…通信インターフェース、10e…バス、10f…記録媒体、12…指定範囲、13…切り出し範囲、14…切り出さない範囲、15…共用範囲、16…未使用範囲、21…通信部、22…制御部、23…記憶部、24…受付部、25…グラフ生成部、26…提示部、27…特定部、31…プログラムアクセス情報、33…ログ情報、34…命令アクセス情報、35…グラフ、40…情報提示プログラム。 DESCRIPTION OF SYMBOLS 1, 11... Program asset, 7... Extraction range, 8... Specified range, 10... Information presentation device, 10a... Storage device, 10b... Memory, 10c... Processor, 10d... Communication interface, 10e... Bus, 10f... Recording medium, 12... Specified range, 13... Cutting range, 14... Range not to be cut out, 15... Shared range, 16... Unused range, 21... Communication section, 22... Control section, 23... Storage section, 24... Reception section, 25... Graph Generation unit, 26... Presentation unit, 27... Specification unit, 31... Program access information, 33... Log information, 34... Command access information, 35... Graph, 40... Information presentation program.

Claims (5)

コンピュータに、
複数のプログラム群と複数のデータの少なくとも一部を含む第1の範囲の指定を受け付ける処理と、
前記複数のプログラム群と、当該複数のプログラム群がそれぞれアクセスする前記複数のデータとを対応付けた情報に基づいてグラフを生成する処理と、
前記グラフ上で未使用データを反映させる処理と、
前記第1の範囲と、前記第1の範囲に含まれるデータに前記第1の範囲の外からアクセスするプログラム群と、複数の前記プログラム群のうち前記第1の範囲に含まれるプログラム群のみがアクセスするデータであって前記第1の範囲の外にあるデータとを含む第2の範囲を、複数の前記プログラム群と複数の前記データから切り出す範囲として、前記グラフ上に重ねて提示する処理と、
を実行させるための情報提示プログラム。
to the computer,
a process of accepting a first range that includes at least part of a plurality of program groups and a plurality of data;
a process of generating a graph based on information associating the plurality of program groups with the plurality of data accessed by the plurality of program groups;
a process of reflecting unused data on the graph;
The first range, a program group that accesses data included in the first range from outside the first range, and only the program group included in the first range among the plurality of program groups. a process of superimposing and presenting a second range including data to be accessed and data outside the first range on the graph as a range cut out from the plurality of program groups and the plurality of data; ,
An information presentation program for executing.
前記提示する処理において、
複数の前記プログラム群のうち、前記第1の範囲に含まれるデータに前記第1の範囲の外からアクセスするプログラム群のみがアクセスするデータであって、前記第1の範囲の外のデータを前記第2の範囲に含めることを特徴とする請求項1に記載の情報提示プログラム。
In the process presented above,
Among the plurality of program groups, only the program group that accesses data included in the first range from outside the first range accesses the data, and the data outside the first range is The information presentation program according to claim 1, characterized in that it is included in the second range.
前記提示する処理において、
前記第2の範囲に含まれるプログラム群からアクセスされないデータと、当該データにアクセスするプログラム群のうち、前記第2の範囲に含まれるデータにアクセスしないプログラム群とを含む第3の範囲を、複数の前記プログラム群と複数の前記データから切り出さない範囲として提示することを特徴とする請求項1に記載の情報提示プログラム。
In the process presented above,
A third range including data that is not accessed by the program group included in the second range and a program group that does not access the data included in the second range among the program groups that access the data. The information presentation program according to claim 1, wherein the information presentation program is presented as a range that is not extracted from the program group and a plurality of the data.
複数のプログラム群と複数のデータの少なくとも一部を含む第1の範囲の指定を受け付ける受付部と、
前記複数のプログラム群と、当該複数のプログラム群がそれぞれアクセスする前記複数のデータとを対応付けた情報に基づいてグラフを生成するとともに、前記グラフ上で未使用データを反映させるグラフ生成部と、
前記第1の範囲と、前記第1の範囲に含まれるデータに前記第1の範囲の外からアクセスするプログラム群と、複数の前記プログラム群のうち前記第1の範囲に含まれるプログラム群のみがアクセスするデータであって前記第1の範囲の外にあるデータとを含む第2の範囲を、複数の前記プログラム群と複数の前記データから切り出す範囲として、前記グラフ上に重ねて提示する提示部と、
を有することを特徴とする情報提示装置。
a reception unit that accepts specification of a first range including at least part of a plurality of program groups and a plurality of data;
a graph generation unit that generates a graph based on information associating the plurality of program groups with the plurality of data accessed by the plurality of program groups, and reflects unused data on the graph;
The first range, a program group that accesses data included in the first range from outside the first range, and only the program group included in the first range among the plurality of program groups. a presentation unit that presents a second range that includes data to be accessed and that is outside the first range, overlaid on the graph as a range to be extracted from the plurality of program groups and the plurality of data; and,
An information presentation device comprising:
複数のプログラム群と複数のデータの少なくとも一部を含む第1の範囲の指定を受け付ける処理と、
前記複数のプログラム群と、当該複数のプログラム群がそれぞれアクセスする前記複数のデータとを対応付けた情報に基づいてグラフを生成する処理と、
前記グラフ上で未使用データを反映させる処理と、
前記第1の範囲と、前記第1の範囲に含まれるデータに前記第1の範囲の外からアクセスするプログラム群と、複数の前記プログラム群のうち前記第1の範囲に含まれるプログラム群のみがアクセスするデータであって前記第1の範囲の外にあるデータとを含む第2の範囲を、複数の前記プログラム群と複数の前記データから切り出す範囲として、前記グラフ上に重ねて提示する処理と、
をコンピュータが実行することを特徴とする情報提示方法。
a process of accepting a first range that includes at least part of a plurality of program groups and a plurality of data;
a process of generating a graph based on information associating the plurality of program groups with the plurality of data accessed by the plurality of program groups;
a process of reflecting unused data on the graph;
The first range, a program group that accesses data included in the first range from outside the first range, and only the program group included in the first range among the plurality of program groups. a process of superimposing and presenting a second range including data to be accessed and data outside the first range on the graph as a range cut out from the plurality of program groups and the plurality of data; ,
An information presentation method characterized by being executed by a computer.
JP2019191821A 2019-10-21 2019-10-21 Information presentation program, information presentation device, and information presentation method Active JP7356013B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019191821A JP7356013B2 (en) 2019-10-21 2019-10-21 Information presentation program, information presentation device, and information presentation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019191821A JP7356013B2 (en) 2019-10-21 2019-10-21 Information presentation program, information presentation device, and information presentation method

Publications (2)

Publication Number Publication Date
JP2021068091A JP2021068091A (en) 2021-04-30
JP7356013B2 true JP7356013B2 (en) 2023-10-04

Family

ID=75637242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019191821A Active JP7356013B2 (en) 2019-10-21 2019-10-21 Information presentation program, information presentation device, and information presentation method

Country Status (1)

Country Link
JP (1) JP7356013B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011060062A (en) 2009-09-11 2011-03-24 Hitachi Information Systems Ltd Support system, support method, and support program for system specification change
US8806450B1 (en) 2008-06-26 2014-08-12 Juniper Networks, Inc. Static analysis in selective software regression testing
JP2018028776A (en) 2016-08-17 2018-02-22 日本電気株式会社 Software asset management device, software asset management method, and software asset management program
JP2018045508A (en) 2016-09-15 2018-03-22 日本電気株式会社 Information processing device, information processing method, and program
JP2019133541A (en) 2018-02-02 2019-08-08 富士通株式会社 Separation method, separation apparatus and separation program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8806450B1 (en) 2008-06-26 2014-08-12 Juniper Networks, Inc. Static analysis in selective software regression testing
JP2011060062A (en) 2009-09-11 2011-03-24 Hitachi Information Systems Ltd Support system, support method, and support program for system specification change
JP2018028776A (en) 2016-08-17 2018-02-22 日本電気株式会社 Software asset management device, software asset management method, and software asset management program
JP2018045508A (en) 2016-09-15 2018-03-22 日本電気株式会社 Information processing device, information processing method, and program
JP2019133541A (en) 2018-02-02 2019-08-08 富士通株式会社 Separation method, separation apparatus and separation program

Also Published As

Publication number Publication date
JP2021068091A (en) 2021-04-30

Similar Documents

Publication Publication Date Title
JP6875557B2 (en) Methods and devices for writing service data to the blockchain system
CN102929786B (en) The volatile memory of non-volatile memory device set represents
JP6542909B2 (en) File operation method and apparatus
US10353636B2 (en) Write filter with dynamically expandable overlay
US8849753B2 (en) Automating asynchronous programming in single threaded systems
JP6506412B2 (en) Application loading method and apparatus
JP2011520201A (en) Providing search results for mobile computing devices
CN107391544B (en) Processing method, device and equipment of column type storage data and computer storage medium
US20230177009A1 (en) Techniques for handling letter case in file systems
JP5062909B2 (en) Copy files from one directory to another
CN105260139B (en) A kind of disk management method and system
JP7356013B2 (en) Information presentation program, information presentation device, and information presentation method
EP1850250A1 (en) Method and system for renewing an index
US10372299B2 (en) Preserve input focus in virtualized dataset
CN109324867A (en) A kind of virtual machine temporary storage method, restoration methods and device
US9507794B2 (en) Method and apparatus for distributed processing of file
US20230409235A1 (en) File system improvements for zoned storage device operations
US7949632B2 (en) Database-rearranging program, database-rearranging method, and database-rearranging apparatus
US20150006578A1 (en) Dynamic search system
JP5488587B2 (en) Information processing system and method
US8977814B1 (en) Information lifecycle management for binding content
US11442668B2 (en) Prioritizing volume accesses in multi-volume storage device based on execution path of a service
JP5928577B2 (en) Determination device, determination system, determination method, and determination program
JP5963313B2 (en) Information processing apparatus, method, and program
JP2023177481A (en) Request specification device, method for specifying requirement, and requirement specification program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230609

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230822

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230904

R150 Certificate of patent or registration of utility model

Ref document number: 7356013

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150