JP6906677B2 - ソフトウェア可視化装置、ソフトウェア可視化方法およびソフトウェア可視化プログラム - Google Patents
ソフトウェア可視化装置、ソフトウェア可視化方法およびソフトウェア可視化プログラム Download PDFInfo
- Publication number
- JP6906677B2 JP6906677B2 JP2020500254A JP2020500254A JP6906677B2 JP 6906677 B2 JP6906677 B2 JP 6906677B2 JP 2020500254 A JP2020500254 A JP 2020500254A JP 2020500254 A JP2020500254 A JP 2020500254A JP 6906677 B2 JP6906677 B2 JP 6906677B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- execution
- file
- software
- unit
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/323—Visualisation of programs or trace data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3698—Environments for analysis, debugging or testing of software
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3636—Debugging of software by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/74—Reverse engineering; Extracting design information from source code
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Library & Information Science (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Description
プログラム要素間の依存関係等を予め解析しておき、プログラム動作の調査範囲についてトレース情報を連続して抽出する。そして、プログラムの動作をソースコードレベルのトレースで仮想的に再現する。また、その際にトレース情報を表示する。
プログラムの構造情報を基にしてトレース情報のカテゴライズ及び情報の隠蔽を行い、情報の注目箇所に限った詳細化或いは概略化によって情報量の調節を実現する。
プログラムについてシーケンシャルな制御の流れおよびデータの流れをイベントトレースチャートとして視覚化し、これをソースコードと連動して表示する。
また、実行された箇所が多い場合には絞り込まれる範囲が多くなる。そのため、どこを重点的に確認したらよいかがわからなくなってしまう。
さらに、実行頻度が低くても重要である要素を見落としてしまう可能性がある。
対象プログラムに含まれる複数の構成要素のうちの実行された構成要素である実行要素毎に実行要素情報を含む実行履歴ファイルと、前記対象プログラムの構造を表す情報として構成要素毎に構成要素情報を含むソフトウェア構造ファイルとを受け付ける受付部と、
前記実行履歴ファイルのそれぞれの実行要素情報と前記ソフトウェア構造ファイルのそれぞれの構成要素情報とを互いに関連付けて関連付けファイルを生成する関連付け部と、
前記関連付けファイルに基づいて前記ソフトウェア構造ファイルを参照することによってそれぞれの実行要素とそれぞれの実行要素の親要素とを重要要素として判別し、それぞれの重要要素を示す重要要素ファイルを生成する判別部と、
前記重要要素ファイルと前記ソフトウェア構造ファイルとに基づいて、それぞれの重要要素が強調された状態で前記対象プログラムの構造を示す可視化図を生成する可視化部とを備える。
プログラムを構成する要素のうち実行された要素を重要要素として可視化する形態について、図1から図10に基づいて説明する。
図1に基づいて、ソフトウェア可視化装置100の構成を説明する。
ソフトウェア可視化装置100は、プロセッサ101とメモリ102と補助記憶装置103と入出力インタフェース104といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
メモリ102は揮発性の記憶装置である。メモリ102は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ102はRAM(Random Access Memory)である。メモリ102に記憶されたデータは必要に応じて補助記憶装置103に保存される。
補助記憶装置103は不揮発性の記憶装置である。例えば、補助記憶装置103は、ROM(Read Only Memory)、HDD(Hard Disk Drive)、またはフラッシュメモリである。補助記憶装置103に記憶されたデータは必要に応じてメモリ102にロードされる。
入出力インタフェース104は入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース104はUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。USBはUniversal Serial Busの略称である。
さらに、補助記憶装置103にはOS(Operating System)が記憶されている。OSの少なくとも一部は、メモリ102にロードされて、プロセッサ101によって実行される。
つまり、プロセッサ101は、OSを実行しながら、ソフトウェア可視化プログラムを実行する。
ソフトウェア可視化プログラムを実行して得られるデータは、メモリ102、補助記憶装置103、プロセッサ101内のレジスタまたはプロセッサ101内のキャッシュメモリといった記憶装置に記憶される。
ソフトウェア可視化装置100の動作はソフトウェア可視化方法に相当する。また、ソフトウェア可視化方法の手順はソフトウェア可視化プログラムの手順に相当する。
ステップS101において、受付部110は実行履歴ファイル201を受け付ける。
そして、受付部110は、実行履歴ファイル201を記憶部191に記憶する。
対象プログラムは、可視化の対象となるプログラムである。
実行要素は、対象プログラムに含まれる複数の構成要素のうちの実行された構成要素である。
構成要素の一例は、ファイル、クラス、関数および命令文である。
実行要素の一例は、関数および命令文である。
実行履歴ファイル201は、IDとファイル名とクラス名と関数名と実行行とを互いに対応付けている。
IDとファイル名とクラス名と関数名と行番号との組が実行要素情報である。
関数名は、実行された関数を識別する。
クラス名は、関数が属するクラスを識別する。
ファイル名は、クラスが記述されたファイルを識別する。
実行行は、関数が呼び出された行であり、行番号で識別される。
ステップS102において、受付部110はソフトウェア構造ファイル202を受け付ける。
そして、受付部110は、ソフトウェア構造ファイル202を記憶部191に記憶する。
ソフトウェア構造ファイル202は、IDと要素名と種類名と親要素と定義ファイルと定義行と制御要素と依存要素とを互いに対応付けている。
IDと要素名と種類名と親要素と定義ファイルと行番号と制御情報と依存要素との組が構成要素情報である。
要素名は、構成要素を識別する。
種類名は、構成要素の種類を識別する。
親要素は、構成要素の上位の要素である。構成要素は親要素に属する。例えば、関数{func2}はクラス{class1}に属している。また、クラス{class1}はファイル{File1.h}に定義されている。
定義ファイルは、構成要素が定義されたファイルである。
定義行は、定義ファイルにおいて構成要素が定義されている行であり、行番号で識別される。
制御情報は、構成要素が有する制御構造の情報であり、制御命令と記述行とを示す。記述行は、制御命令が記述された行であり、行番号で識別される。{X,Y}は制御命令Xと記述行Yとを意味する。例えば、制御命令は、start、end、if、else、whileおよびswitchである。
依存要素は、構成要素が依存する要素である。例えば、構成要素が関数である場合、依存要素は、構成要素を呼び出す関数または構成要素から呼び出される関数である。
それぞれの欄において、ハイフン「−」は情報が無いことを意味する。
ステップS110において、関連付け部120は、実行履歴ファイル201のそれぞれの実行要素情報とソフトウェア構造ファイル202のそれぞれの構成要素情報とを互いに関連付ける。
そして、関連付け部120は、それぞれの実行要素情報とそれぞれの構成要素情報とが互いに関連付けられた関連付けファイル203を生成する。関連付けファイル203は、記憶部191に記憶される。
ステップS111において、関連付け部120は、実行履歴ファイル201から、未選択の実行要素情報を1つ選択する。
ステップS113からステップS115において、実行要素情報に対応する構成要素情報を対応情報と呼ぶ。
対応情報が有る場合、処理はステップS115に進む。
対応情報が無い場合、処理はステップS114に進む。
IDの欄には、新たなIDが設定される。
対応情報の要素名の欄には、実行要素情報の関数名が設定される。
対応情報の種類の欄には、関数を意味する識別子「Function」が設定される。
対応情報の親要素の欄には、実行要素情報のクラス名が設定される。
対応情報の定義ファイルの欄には、実行要素情報のファイル名が設定される。
対応情報の定義行には、実行要素情報の実行行が設定される。
対応情報において、制御情報の欄と依存要素の欄とのそれぞれにはハイフン「−」が設定される。
関連付け情報は、実行要素情報と対応情報とを互いに関連付ける。
関連付けファイル203は、実行IDと構成IDと実行行とを互いに対応付ける。
実行IDと構成IDと実行行との組が関連付け情報である。
構成IDは、構成要素情報の識別子である。
関連付け情報の実行行は、実行要素情報の実行行と同じである。
具体的には、関連付け部120は、関連付け情報を以下のように生成する。そして、関連付け部120は、生成した関連付け情報を関連付けファイル203に登録する。
関連付け部120は、実行要素情報からIDと実行行とを抽出する。抽出されるIDが実行IDである。
さらに、関連付け部120は、対応情報からIDを抽出する。抽出されるIDが構成IDである。
そして、関連付け部120は、実行IDと構成IDと実行行とを含んだ情報を生成する。生成される情報が関連付け情報である。
未選択情報が有る場合、処理はステップS111に進む。
未選択情報が無い場合、処理は終了する。
ステップS120において、判別部130は、関連付けファイル203に基づいてソフトウェア構造ファイル202を参照することによって、対象プログラムの複数の構成要素から重要要素を判別する。
そして、判別部130は、それぞれの重要要素を示す重要要素ファイル204を生成する。重要要素ファイル204は記憶部191に記憶される。
具体的には、重要要素は、それぞれの実行要素およびそれぞれの実行要素の親要素である。
重要要素情報は重要要素を示す。
重要要素ファイル204は、構成IDと実行情報とを互いに対応付ける。
構成IDと実行情報との組が重要要素情報である。
実行情報は、実行フラグまたは制御情報を示す。
実行フラグは、実行の有無を示す。
制御情報は、ソフトウェア構造ファイル202に設定された情報である。
ステップS121において、判別部130は、実行履歴ファイル201から、未選択の実行要素情報を1つ選択する。
まず、判別部130は、実行要素情報からIDを抽出する。
次に、判別部130は、抽出したIDと同じ実行IDが設定された関連付け情報を関連付けファイル203から選択する。
次に、判別部130は、選択した関連付け情報から構成IDを抽出する。
そして、判別部130は、抽出した構成IDと同じ構成IDが設定された重要要素情報を重要要素ファイル204から探す。
ステップS123からステップS125において、実行要素情報に対応する重要要素情報を対応情報と呼ぶ。
対応情報が有る場合、処理はステップS125に進む。
対応情報が無い場合、処理はステップS124に進む。
まず、判別部130は、実行要素情報からIDを抽出する。
次に、判別部130は、抽出したIDと同じ実行IDが設定された関連付け情報を関連付けファイル203から選択する。
次に、判別部130は、選択した関連付け情報から構成IDを抽出する。
次に、判別部130は、抽出した構成IDと同じIDを含んだ構成要素情報をソフトウェア構造ファイル202から選択する。
次に、判別部130は、選択した構成要素情報から制御情報を抽出する。
そして、判別部130は、抽出した構成IDと抽出した制御情報とが設定された重要要素情報を生成する。生成される重要要素情報が対応情報である。
ステップS125において、親情報は、実行要素に対応する親要素の重要要素情報である。
まず、判別部130は、対応情報から構成IDを抽出する。
次に、判別部130は、抽出した構成IDと同じIDが設定された構成要素情報をソフトウェア構造ファイル202から選択する。
次に、判別部130は、選択した構成要素情報の親要素の欄を参照する。
親要素が設定されている場合、判別部130は、親要素と同じ要素名が設定された構成要素情報をソフトウェア構造ファイル202から選択する。次に、判別部130は、選択した構成要素情報からIDを抽出する。次に、判別部130は、抽出したIDと同じ構成IDが設定された重要要素情報が重要要素ファイル204に有るか判定する。
該当する重要要素情報が有る場合、判別部130は、該当する重要要素情報の実行情報の欄に実行フラグ「有」を設定する。
該当する重要要素情報が無い場合、判別部130は、抽出したIDと同じ構成IDが設定された重要要素情報を重要要素ファイル204に追加する。そして、判別部130は、追加した重要要素情報の実行情報の欄に実行フラグ「有」を設定する。
未選択情報が有る場合、処理はステップS121に進む。
未選択情報が無い場合、処理は終了する。
ステップS130において、可視化部140は、重要要素ファイル204とソフトウェア構造ファイル202とに基づいて、可視化図205を生成する。
具体的には、可視化図205は、重要要素が強調された状態で対象プログラムの構造を示す。
コールグラフ210は、関数間の呼び出し関係を示す。
ファイル枠211は、ファイルを表す枠である。
クラス枠212は、クラスを表す枠であり、ファイル枠211の中に配置される。
関数図形213は、関数を表す図形であり、クラス枠212の中に配置される。
呼び出し線214は、関数間を繋ぐ矢印状の線であり、関数間の呼び出し関係を示す。
フローチャート220は、処理の流れを示す。
ステップS140において、出力部150は、可視化図205のデータを出力することによって、ディスプレイに可視化図205を表示させる。
プログラムを構成する要素のうち実行された要素を重要要素として可視化することができる。
これにより、利用者が、プログラムの中で確認すべき部分を判断し易くなる。そのため、実行されていない部分の見落とし、および、実行されていない部分の理解誤りを防ぐことが可能となる。
重要要素の重要度(実行回数)を可視化する形態について、主に実施の形態1と異なる点を図11から図15に基づいて説明する。
図11に基づいて、ソフトウェア可視化装置100の構成を説明する。
ソフトウェア可視化装置100は、さらに、算出部131を備える。
ソフトウェア可視化プログラムは、さらに、算出部131としてコンピュータを機能させる。
図12に基づいて、ソフトウェア可視化方法を説明する。
ステップS201において、受付部110は実行履歴ファイル201を受け付ける。
そして、受付部110は、実行履歴ファイル201を記憶部191に記憶する。
ステップS201は、実施の形態1におけるステップS101(図2参照)と同じである。
そして、受付部110は、ソフトウェア構造ファイル202を記憶部191に記憶する。
ステップS202は、実施の形態1におけるステップS102(図2参照)と同じである。
ステップS210は、実施の形態1におけるステップS110(図2参照)と同じである。
具体的には、重要度は重要要素の実行回数である。実行回数が多いほど重要度が高い。
重要要素ファイル204は、実施の形態1で説明した通り、構成IDと実行情報とを互いに対応付ける。
実行情報において、制御情報には実行回数が付加される。
{X、Y}は、前述の通り、制御命令Xと記述行Yとを意味する。
ステップS221において、判別部130は、実行履歴ファイル201から、未選択の実行要素情報を1つ選択する。
ステップS222は、実施の形態1におけるステップS122(図8参照)と同じである。
ステップS223からステップS226において、実行要素情報に対応する重要要素情報を対応情報と呼ぶ。
対応情報が有る場合、処理はステップS225に進む。
対応情報が無い場合、処理はステップS224に進む。
ステップS224は、実施の形態1におけるステップS124(図8参照)と同じである。
但し、対応情報に設定される実行回数は初期値「0」である。
ステップS226は、実施の形態1におけるステップS125(図8参照)と同じである。
未選択情報が有る場合、処理はステップS221に進む。
未選択情報が無い場合、処理は終了する。
ステップS230において、可視化部140は、重要要素ファイル204とソフトウェア構造ファイル202とに基づいて、可視化図205を生成する。
ステップS230は、実施の形態1におけるステップS130(図2参照)と同じである。
但し、可視化図205において、それぞれの重要要素は、重要度(実行回数)に応じて強調される。
重要要素である関数の関数図形213は、実行回数に対応する色で塗りつぶされている。
ステップS240において、出力部150は、可視化図205のデータを出力することによって、ディスプレイに可視化図205を表示させる。
重要要素の重要度(実行回数)を可視化することができる。
これにより、利用者が、プログラムの中で頻繁に実行される部分と、プログラムの中で稀にしか実行されない部分とを判別し易くなる。そのため、優先的に確認すべき部分を知ることが可能となる。
重要要素の重要度(評価指数)を可視化する形態について、主に実施の形態1と異なる点を図16から図20に基づいて説明する。
ソフトウェア可視化装置100の構成は、実施の形態2における構成(図11参照)と同じである。
図16に基づいて、ソフトウェア可視化方法を説明する。
ステップS301において、受付部110は実行履歴ファイル201を受け付ける。
そして、受付部110は、実行履歴ファイル201を記憶部191に記憶する。
ステップS301は、実施の形態1におけるステップS101(図2参照)と同じである。
そして、受付部110は、ソフトウェア構造ファイル202を記憶部191に記憶する。
ステップS302は、実施の形態1におけるステップS102(図2参照)と同じである。
ステップS310は、実施の形態1におけるステップS110(図2参照)と同じである。
具体的には、判別部130は、実行要素と実行要素の親要素とを重要要素として選択する。
具体的には、重要度は、重要要素を評価して得られる評価指数である。評価指数が高いほど重要度が高い。
例えば、関数の評価指数は、行数、サイクロティック複雑度、ファンイン数、ファンアウト数またはこれらの組み合わせである。
重要要素ファイル204は、構成IDと実行情報と評価指数とを互いに対応付ける。
構成IDと実行情報と評価指数との組が重要要素情報である。
ステップS321において、判別部130は、それぞれの構成要素の評価指数を重要要素ファイルに登録する。
ステップS3211において、判別部130は、ソフトウェア構造ファイル202から、未選択の構成要素情報を1つ選択する。
そして、判別部130は、生成した重要要素情報を重要要素ファイル204に追加する。
追加される重要要素情報において、実行情報の欄と評価指標の欄とのそれぞれは空欄である。
未選択情報が有る場合、処理はステップS3211に進む。
未選択情報が無い場合、処理は終了する。
ステップS322からステップS327は、実施の形態1におけるステップS121からステップS126と同じである(図8参照)。
ステップS330において、可視化部140は、重要要素ファイル204とソフトウェア構造ファイル202とに基づいて、可視化図205のデータを生成する。
ステップS330は、実施の形態1におけるステップS130(図2参照)と同じである。
但し、可視化部140は、それぞれの重要要素を重要度(評価指数)に応じて強調させる。
重要要素である関数の関数図形213は、評価指数に対応する大きさで記されている。
ステップS340において、出力部150は、可視化図205のデータを出力することによって、ディスプレイに可視化図205を表示させる。
重要要素の重要度(評価指数)を可視化することができる。
これにより、利用者が、プログラムの中で注意すべき部分を判別し易くなる。そのため、実行頻度が低くても重点的に確認すべき部分、を知ることが可能となる。
重要要素から影響を受ける影響要素を可視化する形態について、主に実施の形態1と異なる点を図21から図25に基づいて説明する。
ソフトウェア可視化装置100の構成は、実施の形態1における構成(図1参照)と同じである。
図21に基づいて、ソフトウェア可視化方法を説明する。
ステップS401において、受付部110は実行履歴ファイル201を受け付ける。
そして、受付部110は、実行履歴ファイル201を記憶部191に記憶する。
ステップS401は、実施の形態1におけるステップS101(図2参照)と同じである。
そして、受付部110は、ソフトウェア構造ファイル202を記憶部191に記憶する。
ステップS402は、実施の形態1におけるステップS102(図2参照)と同じである。
ステップS410は、実施の形態1におけるステップS110(図2参照)と同じである。
影響要素は、重要要素から影響を受ける構成要素である。
重要要素ファイル204は、構成IDと実行情報と影響フラグとを互いに対応付ける。
構成IDと実行情報と影響フラグとの組が重要要素情報である。
影響フラグは、構成要素が影響要素であるか否かを示す。
ステップS421からステップS425は、実施の形態1におけるステップS121からステップS125と同じである(図8参照)。
さらに、ステップS427は、実施の形態1におけるステップS126と同じである。
ステップS426において、判別部130は、影響要素に関する重要要素情報を重要要素ファイル204に登録する。
ステップS4261において、判別部130は、ソフトウェア構造ファイル202から、影響要素を抽出する。
まず、判別部130は、実行要素の重要要素情報から構成IDを抽出する。
次に、判別部130は、抽出した構成IDと同じIDが設定された構成要素情報をソフトウェア構造ファイル202から選択する。
そして、判別部130は、構成要素情報から依存要素を抽出する。抽出される依存要素が影響要素である。
まず、判別部130は、影響要素の要素名が設定された構成要素情報をソフトウェア構造ファイル202から選択する。
次に、判別部130は、選択した構成要素情報からIDを抽出する。
そして、判別部130は、抽出したIDと同じ構成IDが設定された重要要素情報を重要要素ファイル204から探す。
ステップS4263からステップS4265において、影響要素の重要要素情報を対応情報と呼ぶ。
対応情報が有る場合、処理はステップS4265に進む。
対応情報が無い場合、処理はステップS4264に進む。
まず、判別部130は、影響要素の要素名が設定された構成要素情報をソフトウェア構造ファイル202から選択する。
次に、判別部130は、選択した構成要素情報からIDを抽出する。
そして、判別部130は、抽出したIDと同じ構成IDが設定された重要要素情報を生成する。
生成される重要要素情報には影響フラグ「有」が設定される。また、実行情報の欄は空欄である。
ステップS4265において、親情報は、影響要素に対応する親要素の重要要素情報である。
まず、判別部130は、対応情報から構成IDを抽出する。
次に、判別部130は、抽出した構成IDと同じIDが設定された構成要素情報をソフトウェア構造ファイル202から選択する。
次に、判別部130は、選択した構成要素情報の親要素の欄を参照する。
親要素が設定されている場合、判別部130は、親要素と同じ要素名が設定された構成要素情報をソフトウェア構造ファイル202から選択する。次に、判別部130は、選択した構成要素情報からIDを抽出する。次に、判別部130は、抽出したIDと同じ構成IDが設定された重要要素情報が重要要素ファイル204に有るか判定する。
該当する重要要素情報が有る場合、判別部130は、該当する重要要素情報に影響フラグ「有」を設定する。
該当する重要要素情報が無い場合、判別部130は、抽出したIDと同じ構成IDが設定された重要要素情報を重要要素ファイル204に追加する。そして、判別部130は、追加した重要要素情報に影響フラグ「有」を設定する。
ステップS430において、可視化部140は、重要要素ファイル204とソフトウェア構造ファイル202とに基づいて、可視化図205を生成する。
ステップS430は、実施の形態1におけるステップS130(図2参照)と同じである。
但し、可視化部140は、それぞれの影響要素をそれぞれの重要要素と区別した状態で強調させる。影響要素は、影響フラグ「有」が設定された重要要素情報に対応する構成要素である。
重要要素である関数の関数図形213は、第1の色で塗りつぶされている。
影響要素である関数の関数図形213は、第2の色で塗りつぶされている。
関数{Func4}の関数図形213は、関数{Func1}と関数{func2}と関数{func3}とのそれぞれの関数図形213とは異なる色で塗りつぶされている。
ステップS440において、出力部150は、可視化図205のデータを出力することによって、ディスプレイに可視化図205を表示させる。
重要要素から影響を受ける影響要素を可視化することができる。
これにより、利用者は、プログラムの中で実行された部分と併せて確認すべき部分を知ることが可能となる。
プログラムの更新に伴って変更された変更要素を可視化する形態について、主に実施の形態1と異なる点を図26から図31に基づいて説明する。
ソフトウェア可視化装置100の構成は、実施の形態1における構成(図1参照)と同じである。
図26に基づいて、ソフトウェア可視化方法を説明する。
ステップS501において、受付部110は実行履歴ファイル201を受け付ける。
そして、受付部110は、実行履歴ファイル201を記憶部191に記憶する。
ステップS501は、実施の形態1におけるステップS101(図2参照)と同じである。
そして、受付部110は、ソフトウェア構造ファイル202を記憶部191に記憶する。
ステップS502は、実施の形態1におけるステップS102(図2参照)と同じである。
但し、ソフトウェア構造ファイル202の構成が、実施の形態1における構成と一部異なる。
ソフトウェア構造ファイル202は、実施の形態1で説明した項目の他に、バージョン番号を有する(図4参照)。
バージョン番号は、プログラムのバージョンを識別する。
具体的には、ソフトウェア構造ファイル202は、対象プログラムのソフトウェア構造ファイルの情報と基準プログラムのソフトウェア構造ファイルの情報とを含む。
対象プログラムは、可視化の対象となるバージョンのプログラムである。
基準プログラムは、対象プログラムとの比較の対象となるバージョンのプログラムである。
ステップS510において、関連付け部120は、実行履歴ファイル201のそれぞれの実行要素情報とソフトウェア構造ファイル202のそれぞれの構成要素情報とを互いに関連付ける。そして、関連付け部120は関連付けファイル203を生成する。
ステップS510は、実施の形態1におけるステップS110(図2参照)と同じである。
但し、実行要素情報に対応付けられる構成要素情報は、対象プログラムの構成要素情報である。
変更要素は、対象プログラムの複数の構成要素のうち基準プログラムのいずれの構成要素とも異なる構成要素である。
重要要素ファイル204は、構成IDと実行情報と変更フラグとを互いに対応付ける。
構成IDと実行情報と変更フラグとの組が重要要素情報である。
変更フラグは、構成要素が変更要素であるか否かを示す。
ステップS521からステップS526は、実施の形態1におけるステップS121からステップS126と同じである(図8参照)。
但し、重要要素ファイル204において、それぞれの重要要素情報には変更フラグ「無」が設定される。
ステップS5271において、判別部130は、ソフトウェア構造ファイル202から、対象プログラムの未選択の構成要素情報を1つ選択する。
つまり、判別部130は、対象プログラムのバージョン番号が設定された複数の構成要素情報から未選択の構成要素情報を1つ選択する。
まず、判別部130は、対象プログラムの構成要素情報からIDを抽出する。
そして、判別部130は、基準プログラムのバージョン番号と、抽出したIDと同じIDとが設定された構成要素情報をソフトウェア構造ファイル202から探す。
ステップS5273からステップS5275において、対象プログラムの構成要素情報に対応する基準プログラムの構成要素情報を対応情報と呼ぶ。
対応情報が有る場合、処理はステップS5274に進む。
対応情報が無い場合、処理はステップS5275に進む。
対象プログラムの構成要素情報が基準プログラムの構成要素情報(対応情報)と一致する場合、処理はステップS5276に進む。
対象プログラムの構成要素情報が基準プログラムの構成要素情報(対応情報)と一致しない場合、処理はステップS5275に進む。
まず、判別部130は、対応情報からIDを抽出する。
そして、判別部130は、抽出したIDと同じ構成IDが設定された重要要素情報を重要要素ファイル204から探す。
ステップS5275において、対応情報に対応する重要要素情報を該当情報と呼ぶ。
ステップS5276において、対象プログラムの未選択の構成要素情報を未選択情報と呼ぶ。
未選択情報が有る場合、処理はステップS5271に進む。
未選択情報が無い場合、処理は終了する。
ステップS530において、可視化部140は、重要要素ファイル204とソフトウェア構造ファイル202とに基づいて、可視化図205を生成する。
ステップS530は、実施の形態1におけるステップS130(図2参照)と同じである。
但し、可視化部140は、それぞれの変更要素をそれぞれの重要要素と区別した状態で強調させる。変更要素は、変更フラグ「有」が設定された重要要素情報に対応する構成要素である。
重要要素である関数の関数図形213は、第1の色で塗りつぶされている。
変更要素である関数の関数図形213は、第2の色で塗りつぶされている。
関数{Func3}の関数図形213は、関数{Func1}と関数{func2}とのそれぞれの関数図形213とは異なる色で塗りつぶされている。
ステップS540において、出力部150は、可視化図205のデータを出力することによって、ディスプレイに可視化図205を表示させる。
プログラムの更新に伴って変更された変更要素を可視化することができる。
これにより、利用者は、プログラムの中で実行された部分と併せて変更された部分を知ることが可能となる。
対象プログラムを複数回実行することによって得られる複数の実行履歴ファイル201を用いる形態について、主に実施の形態1と異なる点を図32から図34に基づいて説明する。
ソフトウェア可視化装置100の構成は、実施の形態1における構成(図1参照)と同じである。
図32に基づいて、ソフトウェア可視化方法を説明する。
ステップS601において、受付部110は、複数の実行履歴ファイル201を受け付ける。
そして、受付部110は、複数の実行履歴ファイル201を記憶部191に記憶する。
複数の実行履歴ファイル201は、対象プログラムを複数回実行することによって得られる。
そして、受付部110は、ソフトウェア構造ファイル202を記憶部191に記憶する。
ステップS602は、実施の形態1におけるステップS102(図2参照)と同じである。
関連付けファイル203は、履歴IDと実行IDと構成IDと実行行とを互いに対応付ける。
履歴IDと実行IDと構成IDと実行行との組が関連付け情報である。
ステップS611において、受付部110は履歴指定情報を受け付ける。
履歴指定情報は、複数の実行履歴ファイル201のうちの2つ以上の実行履歴ファイル201を指定する情報である。
具体的には、履歴指定情報は、2つ以上の履歴IDを含む。
ステップS613の処理は、実施の形態1におけるステップS110(図5参照)と同じである。
未選択ファイルが有る場合、処理はステップS611に進む。
未選択ファイルが無い場合、処理は終了する。
ステップS620からステップS640は、実施の形態1におけるステップS120からステップS140と同じである(図2参照)。
複数の実行履歴を重ね合わせて、確認すべき部分を可視化することができる。つまり、2つ以上の実行履歴ファイル201を結合して、確認すべき部分を可視化することができる。
確認が不要な構成要素を重要要素から除外する形態について、実施の形態1および実施の形態5と異なる点を図35から図38に基づいて主に説明する。
図35に基づいて、ソフトウェア可視化装置100の構成を説明する。
ソフトウェア可視化装置100は、さらに、除外部132を備える。
ソフトウェア可視化プログラムは、さらに、除外部132としてコンピュータを機能させる。
図36に基づいて、ソフトウェア可視化方法を説明する。
ステップS701において、受付部110は実行履歴ファイル201を受け付ける。
そして、受付部110は、実行履歴ファイル201を記憶部191に記憶する。
ステップS701は、実施の形態1におけるステップS101(図2参照)と同じである。
そして、受付部110は、ソフトウェア構造ファイル202を記憶部191に記憶する。
ステップS702は、実施の形態1におけるステップS102(図2参照)と同じである。
ソフトウェア構造ファイル202の構成は、実施の形態5における構成と同じである(図27参照)。
ステップS710は、実施の形態1におけるステップS110(図2参照)と同じである。
実施の形態5と同じく、実行要素情報に対応付けられる構成要素情報は、対象プログラムの構成要素情報である。
さらに、判別部130は、ソフトウェア構造ファイル202に基づいて、変更要素を判別する。
重要要素ファイル204は、構成IDと実行情報と変更フラグと確認フラグとを互いに対応付ける。
構成IDと実行情報と変更フラグと確認フラグとの組が重要要素情報である。
確認フラグは、重要要素が除外要素であるか否かを示す。
除外要素は、確認が不要な構成要素である。具体的には、除外要素は、変更要素と変更要素から影響を受ける影響要素とのいずれでもない重要要素である。
ステップS720は、実施の形態5におけるステップS520(図26参照)と同じである。
ステップS720により、それぞれの重要要素情報の変更フラグが設定された重要要素ファイル204が生成される。それぞれの重要要素情報において、確認フラグの欄は空欄である。
ステップS731において、除外部132は、重要要素ファイル204から、未選択の重要要素情報を1つ選択する。
ステップS732からステップS735において、ステップS731で選択された重要要素情報を選択情報という。また、選択情報に対応する重要要素を選択要素と呼ぶ。
選択情報に変更フラグ「有」が設定されている場合、処理はステップS733に進む。
選択情報に変更フラグ「無」が設定されている場合、処理はステップS736に進む。
選択要素に対する影響要素には、選択要素の呼び出し元の構成要素と、選択要素の呼び出し先の構成要素と、が含まれる。呼び出し先の構成要素には、呼び出し先の構成要素から呼び出された構成要素も含まれる。
選択要素に対する影響要素は、選択要素の変更の影響を受ける可能性、または、その影響が波及する可能性がある。
まず、除外部132は、選択情報から構成IDを抽出する。
次に、除外部132は、抽出した構成IDと同じIDが設定された構成要素情報をソフトウェア構造ファイル202から選択する。
そして、判別部130は、構成要素情報から依存要素を抽出する。抽出される依存要素が、選択要素に対する影響要素である。
まず、除外部132は、選択要素に対する影響要素の要素名が設定された構成要素情報をソフトウェア構造ファイル202から選択する。
次に、除外部132は、選択した構成要素情報からIDを抽出する。抽出されるIDを該当IDと呼ぶ。
そして、除外部132は、該当IDと同じ構成IDが設定された重要要素情報を重要要素ファイル204から探す。
ステップS735において、選択要素に対する影響要素の重要要素情報を該当情報と呼ぶ。
ステップS736において、未選択の重要要素情報を未選択情報と呼ぶ。
未選択情報が有る場合、処理はステップS731に進む。
未選択情報が無い場合、処理はステップS737に進む。
ステップS737において、確認フラグが空欄である重要要素情報を除外情報と呼ぶ。
除外部132は、それぞれの除外情報に確認フラグ「不要」を設定する。
ステップS740において、可視化部140は、重要要素ファイル204とソフトウェア構造ファイル202とに基づいて、可視化図205を生成する。
ステップS740は、実施の形態1におけるステップS130(図2参照)と同じである。
但し、可視化部140は、いずれの除外要素でもない重要要素のそれぞれを強調させる。強調される重要要素は、確認フラグ「要」が設定された重要要素情報に対応する構成要素である。
可視化部140は、除外要素である重要要素のそれぞれを可視化図205に含めてもよいし、除外要素である重要要素のそれぞれを可視化図205に含めなくてもよい。
除外要素である重要要素のそれぞれを可視化図205に含める場合、可視化部140は、除外要素である重要要素のそれぞれを確認が不要である構成要素であることを表す表現で記す。つまり、可視化部140は、除外要素である重要要素のそれぞれをいずれの除外要素でもない重要要素のそれぞれと区別して記す。
確認が不要な構成要素を重要要素から除外することができる。これにより、確認範囲を限定することができる。
図39に基づいて、ソフトウェア可視化装置100のハードウェア構成を説明する。
ソフトウェア可視化装置100は処理回路109を備える。
処理回路109は、受付部110と関連付け部120と判別部130と算出部131と除外部132と可視化部140と出力部150とを実現するハードウェアである。
処理回路109は、専用のハードウェアであってもよいし、メモリ102に格納されるプログラムを実行するプロセッサ101であってもよい。
ASICはApplication Specific Integrated Circuitの略称であり、FPGAはField Programmable Gate Arrayの略称である。
ソフトウェア可視化装置100は、処理回路109を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路109の役割を分担する。
Claims (12)
- 対象プログラムに含まれる複数の構成要素のうちの実行された構成要素である実行要素毎に実行要素情報を含む実行履歴情報と、前記対象プログラムの構造を表す情報として構成要素毎に構成要素情報を含むソフトウェア構造情報とを受け付ける受付部と、
前記実行履歴情報に含まれるそれぞれの実行要素情報と前記ソフトウェア構造情報に含まれるそれぞれの構成要素情報とを互いに関連付けて関連付け情報を生成する関連付け部と、
前記関連付け情報に基づいて前記ソフトウェア構造情報を参照することによってそれぞれの実行要素とそれぞれの実行要素の親要素とを重要要素として判別し、それぞれの重要要素を示す重要要素情報を生成する判別部と、
前記重要要素情報と前記ソフトウェア構造情報とに基づいて、それぞれの重要要素が強調された状態で前記対象プログラムの構造を示す可視化図を生成する可視化部とを備えるソフトウェア可視化装置。 - 前記ソフトウェア可視化装置は、前記実行履歴情報に基づいて、それぞれの重要要素の実行回数を重要度として算出する算出部を備え、
前記可視化部は、それぞれの重要要素を前記重要度に応じて強調させて前記可視化図を生成する
請求項1に記載のソフトウェア可視化装置。 - 前記ソフトウェア可視化装置は、前記ソフトウェア構造情報に基づいて、それぞれの重要要素を評価して得られる評価指数を重要度として算出する算出部を備え、
前記可視化部は、それぞれの重要要素を前記重要度に応じて強調させて前記可視化図を生成する
請求項1に記載のソフトウェア可視化装置。 - 前記判別部は、前記ソフトウェア構造情報に基づいて、それぞれの重要要素から影響を受ける影響要素を判別し、
前記可視化部は、前記影響要素をそれぞれの重要要素と区別した状態で強調させて前記可視化図を生成する
請求項1に記載のソフトウェア可視化装置。 - 前記ソフトウェア構造情報は、前記対象プログラムの複数の構成要素情報と、前記対象プログラムとバージョンが異なる基準プログラムの複数の構成要素情報とを含み、
前記判別部は、前記ソフトウェア構造情報に基づいて、前記対象プログラムの複数の構成要素のうち前記基準プログラムのいずれの構成要素とも異なる変更要素を判別し、
前記可視化部は、前記変更要素をそれぞれの重要要素と区別した状態で強調させて前記可視化図を生成する
請求項1に記載のソフトウェア可視化装置。 - 前記ソフトウェア可視化装置は、除外部を備え、
前記ソフトウェア構造情報は、前記対象プログラムの複数の構成要素情報と、前記対象プログラムとバージョンが異なる基準プログラムの複数の構成要素情報とを含み、
前記判別部は、前記ソフトウェア構造情報に基づいて、前記対象プログラムの複数の構成要素のうち前記基準プログラムのいずれの構成要素とも異なる変更要素を判別し、
前記除外部は、前記ソフトウェア構造情報に基づいて、前記変更要素と前記変更要素から影響を受ける影響要素とのいずれでもない重要要素を除外要素として判別し、
前記可視化部は、いずれの除外要素でもない重要要素のそれぞれを強調させて前記可視化図を生成する
請求項1に記載のソフトウェア可視化装置。 - 前記関連付け部は、前記対象プログラムを複数回実行することによって得られる複数の実行履歴情報から2つ以上の実行履歴情報を選択し、選択した2つ以上の実行履歴情報に含まれるそれぞれの実行要素情報と前記ソフトウェア構造情報に含まれるそれぞれの構成要素情報とを互いに関連付けて前記関連付け情報を生成する
請求項1から請求項6のいずれか1項に記載のソフトウェア可視化装置。 - 前記実行履歴情報が実行履歴ファイルであり、
前記ソフトウェア構造情報がソフトウェア構造ファイルであり、
前記関連付け情報が関連付けファイルであり、
前記重要要素情報が重要要素ファイルである
請求項1から請求項7のいずれか1項に記載のソフトウェア可視化装置。 - 受付部が、対象プログラムに含まれる複数の構成要素のうちの実行された構成要素である実行要素毎に実行要素情報を含む実行履歴情報と、前記対象プログラムの構造を表す情報として構成要素毎に構成要素情報を含むソフトウェア構造情報とを受け付け、
関連付け部が、前記実行履歴情報に含まれるそれぞれの実行要素情報と前記ソフトウェア構造情報に含まれるそれぞれの構成要素情報とを互いに関連付けて関連付け情報を生成し、
判別部が、前記関連付け情報に基づいて前記ソフトウェア構造情報を参照することによってそれぞれの実行要素とそれぞれの実行要素の親要素とを重要要素として判別し、それぞれの重要要素を示す重要要素情報を生成し、
可視化部が、前記重要要素情報と前記ソフトウェア構造情報とに基づいて、それぞれの重要要素が強調された状態で前記対象プログラムの構造を示す可視化図を生成する
ソフトウェア可視化方法。 - 前記実行履歴情報が実行履歴ファイルであり、
前記ソフトウェア構造情報がソフトウェア構造ファイルであり、
前記関連付け情報が関連付けファイルであり、
前記重要要素情報が重要要素ファイルである
請求項9に記載のソフトウェア可視化方法。 - 対象プログラムに含まれる複数の構成要素のうちの実行された構成要素である実行要素毎に実行要素情報を含む実行履歴情報と、前記対象プログラムの構造を表す情報として構成要素毎に構成要素情報を含むソフトウェア構造情報とを受け付ける受付部と、
前記実行履歴情報に含まれるそれぞれの実行要素情報と前記ソフトウェア構造情報に含まれるそれぞれの構成要素情報とを互いに関連付けて関連付け情報を生成する関連付け部と、
前記関連付け情報に基づいて前記ソフトウェア構造情報を参照することによってそれぞれの実行要素とそれぞれの実行要素の親要素とを重要要素として判別し、それぞれの重要要素を示す重要要素情報を生成する判別部と、
前記重要要素情報と前記ソフトウェア構造情報とに基づいて、それぞれの重要要素が強調された状態で前記対象プログラムの構造を示す可視化図を生成する可視化部
としてコンピュータを機能させるためのソフトウェア可視化プログラム。 - 前記実行履歴情報が実行履歴ファイルであり、
前記ソフトウェア構造情報がソフトウェア構造ファイルであり、
前記関連付け情報が関連付けファイルであり、
前記重要要素情報が重要要素ファイルである
請求項11に記載のソフトウェア可視化プログラム。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018024808 | 2018-02-15 | ||
| JP2018024808 | 2018-02-15 | ||
| PCT/JP2018/031407 WO2019159397A1 (ja) | 2018-02-15 | 2018-08-24 | ソフトウェア可視化装置、ソフトウェア可視化方法およびソフトウェア可視化プログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPWO2019159397A1 JPWO2019159397A1 (ja) | 2020-10-22 |
| JP6906677B2 true JP6906677B2 (ja) | 2021-07-21 |
Family
ID=67619251
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2020500254A Active JP6906677B2 (ja) | 2018-02-15 | 2018-08-24 | ソフトウェア可視化装置、ソフトウェア可視化方法およびソフトウェア可視化プログラム |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20210049091A1 (ja) |
| JP (1) | JP6906677B2 (ja) |
| DE (1) | DE112018007096T5 (ja) |
| GB (1) | GB2584038A (ja) |
| WO (1) | WO2019159397A1 (ja) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6742556B1 (ja) * | 2019-10-21 | 2020-08-19 | 三菱電機株式会社 | ソフトウェア解析装置 |
| US11893385B2 (en) | 2021-02-17 | 2024-02-06 | Open Weaver Inc. | Methods and systems for automated software natural language documentation |
| US11921763B2 (en) | 2021-02-24 | 2024-03-05 | Open Weaver Inc. | Methods and systems to parse a software component search query to enable multi entity search |
| US12106094B2 (en) * | 2021-02-24 | 2024-10-01 | Open Weaver Inc. | Methods and systems for auto creation of software component reference guide from multiple information sources |
| US11947530B2 (en) | 2021-02-24 | 2024-04-02 | Open Weaver Inc. | Methods and systems to automatically generate search queries from software documents to validate software component search engines |
| US11960492B2 (en) | 2021-02-24 | 2024-04-16 | Open Weaver Inc. | Methods and systems for display of search item scores and related information for easier search result selection |
| US12164915B2 (en) | 2021-02-26 | 2024-12-10 | Open Weaver Inc. | Methods and systems to classify software components based on multiple information sources |
| US12271866B2 (en) | 2021-02-26 | 2025-04-08 | Open Weaver Inc. | Methods and systems for creating software ecosystem activity score from multiple sources |
| US12197912B2 (en) | 2021-02-26 | 2025-01-14 | Open Weaver Inc. | Methods and systems for scoring quality of open source software documentation |
| US12277126B2 (en) | 2023-06-30 | 2025-04-15 | Open Weaver Inc. | Methods and systems for search and ranking of code snippets using machine learning models |
| WO2025191784A1 (ja) * | 2024-03-14 | 2025-09-18 | 日本電気株式会社 | プログラム、処理装置、及び方法 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH065914Y2 (ja) * | 1987-05-28 | 1994-02-16 | 誠治 金子 | 墨汁の自動吸上具付烏口 |
| JPH04337843A (ja) * | 1991-05-15 | 1992-11-25 | Hitachi Ltd | プログラム動作表示方法 |
| JPH0695914A (ja) * | 1992-09-11 | 1994-04-08 | Toshiba Corp | プログラム監視装置 |
| EP0690378A1 (en) * | 1994-06-30 | 1996-01-03 | Tandem Computers Incorporated | Tool and method for diagnosing and correcting errors in a computer programm |
| JP4337843B2 (ja) * | 2006-06-15 | 2009-09-30 | セイコーエプソン株式会社 | 液晶表示装置及び電子機器 |
-
2018
- 2018-08-24 WO PCT/JP2018/031407 patent/WO2019159397A1/ja not_active Ceased
- 2018-08-24 DE DE112018007096.4T patent/DE112018007096T5/de active Pending
- 2018-08-24 US US16/966,218 patent/US20210049091A1/en not_active Abandoned
- 2018-08-24 GB GB2011579.6A patent/GB2584038A/en not_active Withdrawn
- 2018-08-24 JP JP2020500254A patent/JP6906677B2/ja active Active
Also Published As
| Publication number | Publication date |
|---|---|
| WO2019159397A1 (ja) | 2019-08-22 |
| GB2584038A (en) | 2020-11-18 |
| GB202011579D0 (en) | 2020-09-09 |
| JPWO2019159397A1 (ja) | 2020-10-22 |
| US20210049091A1 (en) | 2021-02-18 |
| DE112018007096T5 (de) | 2020-11-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6906677B2 (ja) | ソフトウェア可視化装置、ソフトウェア可視化方法およびソフトウェア可視化プログラム | |
| EP2577463B1 (en) | Static analysis using interactive and integration tools | |
| US20090158256A1 (en) | Feeding test metrics into an integrated development environment to aid software developers to improve code quality | |
| US20160259713A1 (en) | Method and system for determining functional tests to execute based on code coverage | |
| JP2017535856A (ja) | データプレビューを使用したジョブ作成 | |
| US20100313186A1 (en) | Developer-managed debugger data records | |
| CN116302079B (zh) | 一种业务数据处理方法、装置、电子设备及存储介质 | |
| US9165007B2 (en) | Log message optimization to ignore or identify redundant log messages | |
| JP7799580B2 (ja) | ソースコード解析装置、ソースコード解析方法およびソースコード解析プログラム | |
| JP5197128B2 (ja) | 依存関係推定装置及び依存関係推定プログラム及び記録媒体 | |
| US9910647B2 (en) | Field size calculation and color coding display options usable in an emulated integrated development environment (IDE) | |
| JP6335329B2 (ja) | プログラム依存部可視化装置、方法、およびプログラム | |
| JP7050587B2 (ja) | 違反依存検出装置および違反依存検出プログラム | |
| JP5910216B2 (ja) | 情報処理装置及び情報処理プログラム | |
| US11562136B2 (en) | Detecting programming language deficiencies cognitively | |
| JP4707476B2 (ja) | 情報検索システム | |
| Agouf et al. | Understanding Class Name Regularity: A Simple Heuristic and Supportive Visualization. | |
| CN112905396A (zh) | 信息显示方法、装置及设备、存储介质 | |
| CN113254812B (zh) | 对象集合生成方法及装置 | |
| JP2021039394A (ja) | 情報処理システム、情報処理方法、開発装置、および開発装置用のプログラム | |
| JP2010128894A (ja) | データベース生成装置、データベース生成方法及びコンピュータプログラム | |
| JP2010128892A (ja) | データベース生成装置、データベース生成方法及びコンピュータプログラム | |
| JP2019159608A (ja) | 検索装置及び検索方法 | |
| JP2019159406A (ja) | データ解析システム、データ解析方法、及びプログラム | |
| US20220197776A1 (en) | Information processing apparatus, information processing method, and storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200327 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200327 |
|
| 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: 20210601 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210629 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6906677 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |