JP6824053B2 - 関係分析装置および関係分析プログラム - Google Patents

関係分析装置および関係分析プログラム Download PDF

Info

Publication number
JP6824053B2
JP6824053B2 JP2017012104A JP2017012104A JP6824053B2 JP 6824053 B2 JP6824053 B2 JP 6824053B2 JP 2017012104 A JP2017012104 A JP 2017012104A JP 2017012104 A JP2017012104 A JP 2017012104A JP 6824053 B2 JP6824053 B2 JP 6824053B2
Authority
JP
Japan
Prior art keywords
document
downstream
relationship
upstream
source code
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
JP2017012104A
Other languages
English (en)
Other versions
JP2018120465A (ja
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2017012104A priority Critical patent/JP6824053B2/ja
Publication of JP2018120465A publication Critical patent/JP2018120465A/ja
Application granted granted Critical
Publication of JP6824053B2 publication Critical patent/JP6824053B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ソフトウェア開発における開発成果物の要素間の関係を分析する技術に関するものである。
ソフトウェアの流用開発において、上流設計工程の要件変更が、下流設計工程のソフトウェア機能仕様およびソースコードに影響を及ぼす。その影響範囲を可視化技術は、トレーサビリティ技術として広く知られている。
特許文献1は、複数工程における開発成果物間のトレーサビリティを取ることによって、上流文書の要件修正に伴う下流文書の影響範囲を可視化して修正箇所を特定する手段を開示している。
一方で、近年、ソフトウェア開発規模の増加と繰り返される流用開発に伴い、ソフトウェアアーキテクチャ崩れが問題となっている。そして、ソースコードの構成要素である関数同士が大域変数を介して間接的な強い依存関係を有するケースが増加している。
特許文献2は、ソースコードレベルにおける影響範囲分析技術を開示している。具体的には、特許文献2は、関数の修正によるソースコードの影響範囲と任意の重みづけによる影響度とに基づいて変更危険度を算出する手段を開示している。変更危険度は、修正によって副次的に引き起こされる可能性のある危険の度合いである。
特許文献3は、ソースコードレベルにおいて影響範囲の分析技術およびシステム構造の分析技術を開示している。具体的には、特許文献3は、ソースコードにおける関数間の依存関係を抽出し、重み情報と依存頻度とに基づいて依存強度を算出する手段を開示している。重み情報は依存の種類ごとの重要度である。
特許文献4は、ソースコードレベルの間接的な依存関係を考慮して修正範囲を特定する手段を開示している。特許文献4に開示されている手段は、複数工程における開発成果物間のトレーサビリティを確立した上で、ソースコード中の任意の関数が他の関数から呼び出される回数とソースコード中の大域変数が参照される回数とに基づいて、変更影響優先度を算出する。
特開2008−004029号公報 特開2003−044275号公報 特開2012−230538号公報 特開2016−110330号公報
特許文献1では、特許文献2および特許文献3で開示されているソースコードレベルの間接的な依存関係が考慮されていない。そのため、特許文献1に開示されている手段では、関数間に複雑な依存関係が有る場合に修正範囲を正確に特定することが困難である。
特許文献2および特許文献3では、ソースコードレベルにおける影響範囲の分析のみを対象としている。そのため、特許文献2および特許文献3に開示されている手段では、関数の修正が上流文書の構成要素に与える間接的な影響を可視化することはできない。
特許文献4に開示されている手段では、要件変更によるソフトウェア全体への影響度が、開発成果物間の関連有無とソースコードレベルの変更影響度とに基づいて算出される。つまり、特許文献4では、複数工程における開発成果物間の関連強度が考慮されていなかった。開発成果物間の関連強度は、上流文書の要件を下流文書のソフトウェア機能仕様及びソースコードで実現するための寄与度と同義であり、ソースコードレベルの依存強度とは異なる。
本発明は、ソフトウェア開発における開発成果物の要素間の関係を分析できるようにすることを目的とする。
本発明の関係分析装置は、
ソフトウェアの開発の上流工程で作成される上流文書に含まれる上流文書要素と前記ソフトウェアの開発の下流工程で作成される下流文書に含まれる下流文書要素との組毎に上流文書要素と下流文書要素との関係強度を示す文書関係データと、下流文書要素と前記ソフトウェアのソースコードに含まれるソースコード要素との組毎に下流文書要素とソースコード要素との関係強度を示す下流関係データとを用いて、上流文書要素とソースコード要素との組毎に上流文書要素とソースコード要素との関係強度を算出する関係強度算出部を備える。
本発明によれば、上流文書要素とソースコード要素との関係強度、すなわち、ソフトウェア開発における開発成果物である上流文書とソースコードとの要素間の関係強度を算出することができる。つまり、ソフトウェア開発における開発成果物の要素間の関係を分析することが可能である。
実施の形態1における関係分析装置100の構成図。 実施の形態1における関係分析方法のフローチャート。 実施の形態1における要素関係図。 実施の形態1における上流関係強度算出処理(S130)のフローチャート。 実施の形態1における文書関係行列Rに対応する表。 実施の形態1における下流関係行列Rに対応する表。 実施の形態1における上流関係行列Rに対応する表。 実施の形態1における上流要素強度算出処理(S140)のフローチャート。 実施の形態1における文書関係行列の転置行列R に対応する表。 実施の形態1における下流関係行列の転置行列R に対応する表。 実施の形態1における中間行列R に対応する表。 実施の形態1における上流要素行列R に対応する表。 実施の形態2における関係分析装置100の構成図。 実施の形態2における関係強度の最適化のフローチャート。 実施の形態2における最適化された要素関係図。 実施の形態3における関係分析方法のフローチャート。 実施の形態3における要素関係図。 実施の形態3における上流関係強度算出処理(S330)のフローチャート。 実施の形態3におけるソースコード関係行列Dに対応する表。 実施の形態3における第3上流関係行列RDに対応する表。 実施の形態3における上流要素強度算出処理(S340)のフローチャート。 実施の形態3における中間行列RDR に対応する表。 実施の形態3における上流要素行列RDR に対応する表。 実施の形態4における関係強度の最適化のフローチャート。 実施の形態4における最適化された要素関係図。 実施の形態における関係分析装置100のハードウェア構成図。
実施の形態および図面において、同じ要素および対応する要素には同じ符号を付している。同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。
実施の形態1.
ソフトウェア開発における開発成果物の要素間の関係を分析する形態について、図1から図12に基づいて説明する。
***構成の説明***
図1に基づいて、関係分析装置100の構成を説明する。
関係分析装置100は、プロセッサ901とメモリ902と補助記憶装置903と入出力インタフェース904といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
プロセッサ901は、演算処理を行うIC(Integrated Circuit)であり、他のハードウェアを制御する。例えば、プロセッサ901は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、またはGPU(Graphics Processing Unit)である。
メモリ902は揮発性の記憶装置である。メモリ902は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ902はRAM(Random Access Memory)である。メモリ902に記憶されたデータは必要に応じて補助記憶装置903に保存される。
補助記憶装置903は不揮発性の記憶装置である。例えば、補助記憶装置903は、ROM(Read Only Memory)、HDD(Hard Disk Drive)、またはフラッシュメモリである。補助記憶装置903に記憶されたデータは必要に応じてメモリ902にロードされる。
入出力インタフェース904は入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース904はUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。USBはUniversal Serial Busの略称である。
関係分析装置100は、要素抽出部110と関係強度算出部120といったソフトウェア要素を備える。ソフトウェア要素はソフトウェアで実現される要素である。
補助記憶装置903には、要素抽出部110と関係強度算出部120としてコンピュータを機能させるための関係分析プログラムが記憶されている。関係分析プログラムは、メモリ902にロードされて、プロセッサ901によって実行される。
さらに、補助記憶装置903にはOS(Operating System)が記憶されている。OSの少なくとも一部は、メモリ902にロードされて、プロセッサ901によって実行される。
つまり、プロセッサ901は、OSを実行しながら、関係分析プログラムを実行する。
関係分析プログラムを実行して得られるデータは、メモリ902、補助記憶装置903、プロセッサ901内のレジスタまたはプロセッサ901内のキャッシュメモリといった記憶装置に記憶される。
メモリ902はデータを記憶する記憶部191として機能する。但し、他の記憶装置が、メモリ902の代わりに、又は、メモリ902と共に、記憶部191として機能してもよい。
入出力インタフェース904は、入力を受け付ける受付部192として機能し、さらにディスプレイに画像を表示する表示部193として機能する。
関係分析装置100は、プロセッサ901を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ901の役割を分担する。
関係分析プログラムは、磁気ディスク、光ディスクまたはフラッシュメモリ等の不揮発性の記憶媒体にコンピュータ読み取り可能に記憶することができる。不揮発性の記憶媒体は、一時的でない有形の媒体である。
***動作の説明***
関係分析装置100の動作は関係分析方法に相当する。また、関係分析方法の手順は関係分析プログラムの手順に相当する。
図2に基づいて、関係分析方法を説明する。
ステップS110において、要素抽出部110は、上流文書データから上流文書要素を抽出し、下流文書データから下流文書要素を抽出し、ソースコードからソースコード要素を抽出する。
上流文書データは、上流文書のデータであり、記憶部191に記憶されている。上流文書は、ソフトウェアの開発の上流工程で作成される文書である。
下流文書データは、下流文書のデータであり、記憶部191に記憶されている。下流文書は、ソフトウェアの開発の下流工程で作成される文書である。
ソースコードは、ソフトウェアの実行プログラムの元となるソースコードであり、記憶部191に記憶されている。実行プログラムは、コンピュータによって実行可能なプログラム、すなわち、実行形式のプログラムである。
上流文書、下流文書およびソースコードは、ソフトウェアの開発成果物である。
上流文書要素は、上流文書に含まれる要素である。例えば、上流文書要素は製品機能の名称である。製品機能は製品に搭載されるソフトウェアによって実現される機能である。
下流文書要素は、下流文書に含まれる要素である。例えば、下流文書要素はソフトウェア要件の名称および制御動作の名称である。ソフトウェア要件はソフトウェアに必要な条件であり、制御動作はソフトウェアによって実現される制御または動作である。
ソースコード要件は、ソースコードに含まれる要素である。例えば、ソースコード要素は関数の名称である。
上流文書要素、下流文書要素およびソースコード要素は、トレーサビリティの対象となる要素である。
具体的には、要素抽出部110は、上流文書データから単語を抽出し、抽出された単語の中から、予め決められたパターンまたはキーワードに一致する要素を抽出する。抽出される要素が上流文書要素である。
下流文書要素およびソースコード要素を抽出する方法は、上流文書要素を抽出する方法と同様である。
ステップS121において、受付部192は文書関係データを受け付け、記憶部191は受け付けられた文書関係データを記憶する。但し、文書関係データは記憶部191に予め記憶されていてもよい。
文書関係データは、上流文書要素と下流文書要素との組毎に上流文書要素と下流文書要素との関係強度を示すデータである。関係強度は関係の度合いを表す値である。
ステップS122において、受付部192は下流関係データを受け付け、記憶部191は受け付けられた下流関係データを記憶する。但し、下流関係データは記憶部191に予め記憶されていてもよい。
下流関係データは、下流文書要素とソースコード要素との組毎に下流文書要素とソースコード要素との関係強度を示すデータである。
ステップS110、ステップS121およびステップS122の具体例を説明する。
ステップS110において、3つの上流文書要素(U〜U)が抽出され、4つの下流文書要素(L〜L)が抽出され、5つのソースコード要素(S〜S)が抽出された。
ステップS121において、文書関係データは、要素Uと要素Lとの関係強度(2)と、要素Uと要素Lとの関係強度(2)と、要素Uと要素Lとの関係強度(2)と、要素Uと要素Lとの関係強度(1)と、要素Uと要素Lとの関係強度(1)とを示す。
ステップS122において、下流関係データは、要素Lと要素Sとの関係強度(S)と、要素Lと要素Sとの関係強度(2)と、要素Lと要素Sとの関係強度(1)と、要素Lと要素Sとの関係強度(1)と、要素Lと要素Sとの関係強度(3)とを示す。
この場合、図3に示す要素関係図が得られる。図3において、要素関係図は、要素を示すノードと、関係がある要素同士を繋ぐエッジとを含んでいる。エッジに付された値は、要素同士の関係強度である。
以下、図3の要素関係図に示される要素関係を例にして説明を行う。
図2に戻り、ステップS130を説明する。
ステップS130において、関係強度算出部120は、文書関係データと下流関係データとを用いて、上流文書要素とソースコード要素との組毎に上流文書要素とソースコード要素との関係強度を算出する。
上流文書要素とソースコード要素との関係強度は、上流文書要素の変更がソースコード要素に与える影響の度合い、すなわち、変更影響度を意味する。
図4に基づいて、上流関係行列算出部(S130)の詳細を説明する。
ステップS131において、関係強度算出部120は、文書関係データを用いて文書関係行列を生成する。
文書関係行列は、上流文書要素と下流文書要素との複数の組に対応する複数の関係強度が配列された行列である。
図5に、文書関係行列Rに対応する表を示す。文書関係行列Rは、図3の要素関係図に基づく文書関係行列である。
上流文書要素が3つあり、下流文書要素が4つあるので、文書関係行列Rは3×4行列である。文書関係行列RのN行M列の要素は、上流要素Uと下流要素Lとの関係強度である。
上流要素Uとそれぞれの下流要素(L〜L)との関係強度は、2、1、0および0である。
上流要素Uとそれぞれの下流要素(L〜L)との関係強度は、2、0、1および0である。
上流要素Uとそれぞれの下流要素(L〜L)との関係強度は、0、0、0および1である。
図4に戻り、ステップS132を説明する。
ステップS132において、関係強度算出部120は、下流関係データを用いて下流関係行列を生成する。
下流関係行列は、下流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された行列である。
図6に、下流関係行列Rに対応する表を示す。下流関係行列Rは、図3の要素関係図に基づく下流関係行列である。
下流文書要素が4つあり、ソースコード要素が5つあるので、下流関係行列Rは4×5行列である。下流関係行列RのN行M列の要素は、下流要素Lとソースコード要素Sとの関係強度である。
下流要素Lとそれぞれのソースコード要素(S〜S)との関係強度は、1、0、0、0および0である。
下流要素Lとそれぞれのソースコード要素(S〜S)との関係強度は、0、2、0、0および0である。
下流要素Lとそれぞれのソースコード要素(S〜S)との関係強度は、0、0、1、1および0である。
下流要素Lとそれぞれのソースコード要素(S〜S)との関係強度は、0、0、0、0および3である。
図4に戻り、ステップS133を説明する。
ステップS133において、関係強度算出部120は、文書関係行列に下流関係行列を掛ける。これにより、上流関係行列が算出される。
上流関係行列は、上流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された行列である。
図7に、上流関係行列Rに対応する表を示す。上流関係行列Rは、文書関係行列R(図5参照)に下流関係行列R(図6参照)を掛けることによって算出される上流関係行列である。
文書関係行列Rが3×4行列であり、下流関係行列Rが4×5行列であるので、上流関係行列Rは3×5行列である。上流関係行列RのN行M列の要素は、上流要素Uとソースコード要素Sとの関係強度である。
上流要素Uとそれぞれのソースコード要素(S〜S)との関係強度は、2、2、0、0および0である。
上流要素Uとそれぞれのソースコード要素(S〜S)との関係強度は、2、0、1、1および0である。
上流要素Uとそれぞれのソースコード要素(S〜S)との関係強度は、0、0、0、0および3である。
図2に戻り、ステップS140を説明する。
ステップS140において、関係強度算出部120は、上流要素同士の組毎に上流要素同士の関係強度を算出する。
上流要素同士の関係強度は、上流文書要素とソースコード要素との関係を逆に遡ることによって得られる。
上流要素同士の関係強度は、上流文書要素の変更が他の上流文書要素に与える影響の度合い、すなわち、影響度を意味する。
図8に基づいて、上流要素強度算出処理(S140)の詳細を説明する。
ステップS141において、関係強度算出部120は、文書関係行列の転置行列を生成する。文書関係行列は、ステップS131(図4参照)で生成された行列である。
図9に、文書関係行列R(図5参照)の転置行列R に対応する表を示す。
ステップS142において、関係強度算出部120は、下流関係行列の転置行列を生成する。下流関係行列は、ステップS132(図4参照)で生成された行列である。
図10に、下流関係行列R(図6参照)の転置行列R に対応する表を示す。
ステップS143およびステップS144において、関係強度算出部120は、上流関係行列に下流関係行列の転置行列と文書関係行列の転置行列とを掛ける。これにより、上流要素行列が算出される。
上流要素行列は、上流文書要素同士の複数の組に対応する複数の関係強度が配列された行列である。
ステップS143において、関係強度算出部120は、上流関係行列に下流関係行列の転置行列を掛ける。算出される行列を中間行列という。上流関係行列は、ステップS133(図4参照)で算出された行列である。
図11に、中間行列R に対応する表を示す。中間行列R は、上流関係行列R(図7参照)に下流関係行列の転置行列R (図10参照)を掛けることによって算出される中間行列である。
ステップS144において、関係強度算出部120は、中間行列に文書関係行列の転置行列を掛ける。算出される行列が上流要素行列である。
図12に、上流要素行列R に対応する表を示す。上流要素行列R は、中間行列R (図11参照)に文書関係行列の転置行列R (図9参照)を掛けることによって算出される上流要素行列である。
上流文書要素が3つあるので、上流要素行列R は3×3行列である。上流要素行列R のN行M列の要素は、上流要素Uと上流要素Uとの関係強度である。
上流文書要素Uとそれぞれの上流文書要素(U〜U)との関係強度は、8、4および0である。
上流文書要素Uとそれぞれの上流文書要素(U〜U)との関係強度は、4、6および0である。
上流文書要素Uとそれぞれの上流文書要素(U〜U)との関係強度は、0、0および9である。
図2に戻り、ステップS150を説明する。
ステップS150において、表示部193は、関係強度算出部120によって算出された各々の関係強度をディスプレイに表示する
具体的には、表示部193は、ステップS130で算出された関係強度とステップS140で算出された関係強度との少なくともいずれかを表示する。
例えば、表示部193は、上流関係行列Rに対応する表(図7参照)と上流要素行列R に対応する表(図12参照)との少なくともいずれかを表示する。
***実施の形態1の効果***
要件の変更がソフトウェア全体に及ぼす影響範囲および影響度を可視化することができる。これにより、ソフトウェア開発における成果物である上流文書及び下流文書及びソースコードのトレーサビリティを確保することが可能となる。
要件の変更に伴う下流文書及びソースコードの修正範囲を特定することが可能となり、影響が特に大きい箇所を把握できる。そのため、設計工程及び実装工程の効率化が期待できる。
要件の変更に伴う下流文書及びソースコードの修正範囲を特定することが可能となり、下流の設計工程とソースコードの実装工程との見積もり精度の向上が期待できる。
要件の変更に伴う下流文書及びソースコードの修正範囲を特定して修正の抜け及び修正の漏れを防止することが可能となり、品質の向上が期待できる。
変更された要件が他の仕様に及ぼす影響を定量的に把握できる。そのため、回帰試験の範囲を特定して、また、優先順を各試験に付与して、試験の抜け及び試験の漏れを防止することが可能となり、品質の向上が期待できる。
変更された要件が他の仕様に及ぼす影響の度合いを把握できる。そのため、回帰試験の範囲を特定して過剰な試験を排除することが可能となり、試験の効率化が見込まれる。
回帰試験の可視化による過剰な試験の排除及び試験漏れの抑止が期待できる。
影響度は定量的な数値で算出される。そのため、設計変更または試験計画の際に、影響度は、優先順の決定および対象範囲を決めるための閾値の決定に用いることが可能である。
***他の構成***
上流文書要素および下流文書要素は、それぞれの要素であることを表すシンボルを文書内に埋め込んで管理されてもよいし、一覧表によって文書とは別に管理されてもよい。
ソフトウェア開発の設計工程は、2工程ではなく、3工程以上または1工程であってもよい。
設計工程が3工程である場合、例えば、最初の工程が上流工程となり、後の2工程が下流工程となる。連続する2工程において、先の工程が上流工程であり、後の工程が下流工程である。この場合、上流工程の文書と先の下流工程の文書との文書関係データと、先の下流工程の文書と後の下流工程の文書との文書関係データと、後の下流工程と文書とソースコードとの下流関係データとが用いられる。
設計工程が1工程である場合、設計工程の文書とソースコードとの関係データが用いられる。
要素間の関係強度を決めるための定量的な重み付けが困難な場合、関連強度は関連有り(1)または関連無し(0)で表してもよい。
実施の形態2.
文書関係データと下流関係データとを最適化する形態について、主に実施の形態1と異なる点を図13から図15に基づいて説明する。
***構成の説明***
図13に基づいて、関係分析装置100の構成を説明する。
関係分析装置100は、要素抽出部110と関係強度算出部120との他に、関係強度更新部130をソフトウェア要素として備える。
関係分析装置100は、要素抽出部110と関係強度算出部120と関係強度更新部130としてコンピュータを機能させるためのプログラムである。
***動作の説明***
図14に基づいて、関係強度の最適化を説明する。
ステップS210において、受付部192は、影響有無データを受け付ける。
影響有無データは、対象組毎に対象組に含まれる要素間の影響の有無を示すデータである。
対象組は、上流文書要素と下流文書要素とソースコード要素との組み合わせである。
要素間の影響とは、一つの要素が変更された場合に他の要素に及ぶ影響である。
影響有無データに示される影響の有無は、開発者によって判断された影響の有無である。例えば、開発者は、設計文書(上流文書、下流文書)およびソースコードを確認することによって、実際の影響の有無を判断する。
ステップS220以降の処理において、関係強度更新部130は、文書関係データに示される関係強度と下流関係データに示される関係強度とのうち対象組に対応する関係強度を、影響有無データに示される影響の有無に基づいて更新する。
ステップS220において、関係強度更新部130は、影響有無データから未選択の対象組を1つ選択する。
ステップS230からステップS242までの処理の説明において、対象組は、ステップS220で選択された対象組を意味する。
ステップS230において、関係強度更新部130は、文書関係データと下流関係データとを用いて、対象組に対応する関係組を特定する。
関係組は、上流文書要素と下流文書要素との組と下流文書要素とソースコード要素との組とのうち、要素間の関係が有る組である。
具体的には、関係強度更新部130は、対象組に対応する関係組を以下のように特定する。
まず、関係強度更新部130は、文書関係データと下流関係データとを用いて、要素関係データを生成する。要素関係データは、上流文書要素と下流文書要素とソースコード要素との関係を示すデータである。例えば、関係強度更新部130は、要素関係データとして、図3に示すような要素関係図を表すデータを生成する。
次に、関係強度更新部130は、要素関係データを用いて、対象組に含まれる全ての要素を通る対象経路を要素関係図から抽出する。
そして、関係強度更新部130は、上流文書要素と下流文書要素との組と下流文書要素とソースコード要素との組とを対象経路から抽出する。抽出される組が対象組に対応する関係組である。
対象組が(L、S)である場合、図3の要素関係図における対象経路は、「U→L→S」と「U→L→S」との2つである。この場合、対象組に対応する関係組は、(U、L)と(U、L)と(L、S)との3組である。
ステップS240において、関係強度更新部130は、対象組の影響の有無を影響有無データから取得する。
対象組において影響が有る場合、処理はステップS241に進む。
対象組において影響が無い場合、処理はステップS242に進む。
ステップS241およびステップS242の説明において、関係組は、ステップS230で特定された関係組を意味する。
ステップS241において、関係強度更新部130は、関係組毎に関係組の関係強度を文書関係データまたは下流関係データから選択する。
そして、関係強度更新部130は、選択された関係強度を増加させる。
ステップS242において、関係強度更新部130は、関係組毎に関係組の関係強度を文書関係データまたは下流関係データから選択する。
そして、関係強度更新部130は、選択された関係強度を減少させる。
ステップS250において、関係強度更新部130は、未選択の対象組が有るか判定する。
未選択の対象組が有る場合、処理はステップS220に進む。
未選択の対象組が無い場合、関係強度の最適化は終了する。
図15に、更新後の文書関係データと更新後の下流関係データとに基づく要素関係図を示す。
対象組が(L、S)である場合、図3の要素関係図において対象組に対応する関係組は、(U、L)と(U、L)と(L、S)との3組である。
対象組において影響が有る場合、対象組に対応する関係組の関係強度が増加される。例えば、関係強度が2倍になる。
その結果、図15に示す要素関係図が得られる。
***実施の形態2の効果***
開発者によって判断された影響の有無、すなわち、実際の影響の有無のフィードバックにより、要素間の関係強度を最適化することが可能となる。その結果、より高精度な影響度分析が可能となる。
初期の関係強度が適切な値でなくても、関係強度が徐々に最適化されるため、徐々に適切な影響度を算出することが可能となる。
***他の構成***
影響の有無は、影響有り(1)と影響無し(2)との2値で示してもよいし、影響の度合いの大きさを表す値で示してもよい。
関係強度を増減する方法は任意である。例えば、関係強度は、1+αに増加させ、または、1−αに減少させてもよい。αは0以上1以下の定数である。また、関係強度は、一般的な学習アルゴリズムを用いて増減させてもよい。
実施の形態3.
ソースコード要素同士の関係を考慮した形態について、主に実施の形態1と異なる点を図16から図23に基づいて説明する。
***構成の説明***
関係分析装置100の構成は、実施の形態1で説明した構成(図1参照)と同じである。
***動作の説明***
図16に基づいて、関係分析方法を説明する。
ステップS310からステップS322までの処理は、実施の形態1(図2参照)におけるステップS110からステップS122までの処理と同じである。
ステップS323において、受付部192はソースコード関係データを受け付け、記憶部191は受け付けられたソースコード関係データを記憶する。但し、ソースコード関係データは記憶部191に予め記憶されてもよい。
ソースコード関係データは、ソースコード要素同士の組毎にソースコード要素同士の関係強度を示すデータである。
ソースコードに対する静的解析および動的解析を行うことによって、ソースコード要素同士の関係強度、すなわち、ソースコード要素同士の依存関係の度合いを得ることが可能である。
具体的な関係強度は、関数の呼び出し回数または共通の共有変数へのアクセスの数である。但し、関係強度は、他の依存関係に関する値であってもよい。
依存関係は、双方向の関係と単方向の関係とのいずれであってもよい。さらに、間接的な関係を依存関係に含めるのが好ましい。
ステップS310およびステップS321からステップS323の具体例を説明する。
ステップS310において、3つの上流文書要素(U〜U)が抽出され、4つの下流文書要素(L〜L)が抽出され、5つのソースコード要素(S〜S)が抽出された。
ステップS321において、文書関係データは、要素Uと要素Lとの関係強度(2)と、要素Uと要素Lとの関係強度(2)と、要素Uと要素Lとの関係強度(2)と、要素Uと要素Lとの関係強度(1)と、要素Uと要素Lとの関係強度(1)とを示す。
ステップS322において、下流関係データは、要素Lと要素Sとの関係強度(S)と、要素Lと要素Sとの関係強度(2)と、要素Lと要素Sとの関係強度(1)と、要素Lと要素Sとの関係強度(1)と、要素Lと要素Sとの関係強度(3)とを示す。
ステップS323において、ソースコード関係データは、要素Sと要素Sとの関係強度(1)と、要素Sと要素Sとの関係強度(1)と、要素Sと要素Sとの関係強度(3)とを示す。
この場合、図17に示す要素関係図が得られる。以下、図17の要素関係図に示される要素関係を例にして説明を行う。
図16に戻り、ステップS330を説明する。
ステップS330において、関係強度算出部120は、文書関係データと下流関係データとソースコード関係データとを用いて、上流文書要素とソースコード要素との組毎に上流文書要素とソースコード要素との関係強度を算出する。
図18に基づいて、上流関係行列算出部(S330)の詳細を説明する。
ステップS331およびステップS332は、実施の形態1(図4参照)におけるステップS131およびステップS132と同じである。
ステップS333において、関係強度算出部120は、ソースコード関係データを用いてソースコード関係行列を生成する。
ソースコード関係行列は、ソースコード要素同士の複数の組に対応する複数の関係強度が配列された行列である。
図19に、ソースコード関係行列Dに対応する表を示す。ソースコード関係行列Dは、図17の要素関係図に基づくソースコード関係行列である。
ソースコード要素が5つあるので、ソースコード関係行列Dは5×5行列である。ソースコード関係行列DのN行M列の要素は、ソースコード要素Sとソースコード要素Sとの関係強度である。
ソースコード要素Sとそれぞれのソースコード要素(S〜S)との関係強度は0、0、0、1および1である。
ソースコード要素Sとそれぞれのソースコード要素(S〜S)との関係強度は0、0、3、0および0である。
ソースコード要素Sとそれぞれのソースコード要素(S〜S)との関係強度は全て0である。
ソースコード要素Sとそれぞれのソースコード要素(S〜S)との関係強度は全ての0である。
ソースコード要素Sとそれぞれのソースコード要素(S〜S)との関係強度は全て0である。
図18に戻り、ステップS334から説明を続ける。
ステップS334は、実施の形態1におけるステップS133(図4参照)に相当する。
ステップS334において、関係強度算出部120は、文書関係行列に下流関係行列を掛ける。これにより、第1上流関係行列が算出される。
第1上流関係行列は、上流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された行列である。
ステップS335において、関係強度算出部120は、第1上流関係行列にソースコード関係行列を掛ける。これにより、第2上流関係行列が算出される。
第2上流関係行列は、上流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された行列である。
図20に、第2上流関係行列RDに対応する表を示す。第2上流関係行列RDは、第1上流関係行列R(図7参照)にソースコード関係行列D(図19参照)を掛けることによって算出される第2上流関係行列である。
第1上流関係行列Rが3×5行列であり、ソースコード関係行列Dが5×5行列であるので、第2上流関係行列RDは3×5行列である。第2上流関係行列RDのN行M列の要素は、上流要素Uとソースコード要素Sとの関係強度である。
上流要素Uとそれぞれのソースコード要素(S〜S)との関係強度は、0、0、6、2および2である。
上流要素Uとそれぞれのソースコード要素(S〜S)との関係強度は、0、0、0、2および2である。
上流要素Uとそれぞれのソースコード要素(S〜S)との関係強度は、全ての0である。
図16に戻り、ステップS340を説明する。
ステップS340において、関係強度算出部120は、上流要素同士の組毎に上流要素同士の関係強度を算出する。
図21に基づいて、上流要素強度算出処理(S340)の詳細を説明する。
ステップS341およびステップS342は、実施の形態1(図8参照)におけるステップS131およびステップS132と同じである。
ステップS343およびステップS344において、関係強度算出部120は、第2上流関係行列に下流関係行列の転置行列と文書関係行列の転置行列とを掛ける。これにより、上流要素行列が算出される。
上流要素行列は、上流文書要素同士の複数の組に対応する複数の関係強度が配列された行列である。
ステップS343は、実施の形態1におけるステップS143(図8参照)に相当する。
ステップS343において、関係強度算出部120は、第2上流関係行列に下流関係行列の転置行列を掛ける。算出される行列を中間行列という。第2上流関係行列は、ステップS335(図18参照)で算出された行列である。
図22に、中間行列RDR に対応する表を示す。中間行列RDR は、第2上流関係行列RD(図20参照)に下流関係行列の転置行列R (図10参照)を掛けることによって算出される中間行列である。
ステップS344において、関係強度算出部120は、中間行列に文書関係行列の転置行列を掛ける。算出される行列が上流要素行列である。
図23に、上流要素行列RDR に対応する表を示す。上流要素行列RDR は、中間行列RDR (図22参照)に文書関係行列の転置行列R (図9参照)を掛けることによって算出される上流要素行列である。
上流文書要素が3つあるので、上流要素行列RDR は3×3行列である。上流要素行列RDR のN行M列の要素は、上流要素Uと上流要素Uとの関係強度である。
上流文書要素Uとそれぞれの上流文書要素(U〜U)との関係強度は、0、8および6である。
上流文書要素Uとそれぞれの上流文書要素(U〜U)との関係強度は、0、2および6である。
上流文書要素Uとそれぞれの上流文書要素(U〜U)との関係強度は、0、0および0である。
図16に戻り、ステップS350を説明する。
ステップS350において、表示部193は、関係強度算出部120によって算出された各々の関係強度をディスプレイに表示する
具体的には、表示部193は、ステップS330で算出された関係強度とステップS340で算出された関係強度との少なくともいずれかを表示する。
例えば、表示部193は、第2上流関係行列RDに対応する表(図20参照)と上流要素行列RDR に対応する表(図23参照)との少なくともいずれかを表示する。
***実施の形態3の効果***
ソースコード要素同士の関係を考慮した上で、実施の形態1で述べた効果を得ることができる。
実施の形態4.
文書関係データと下流関係データとソースコード関係データとを最適化する形態について、主に実施の形態2および実施の形態3と異なる点を図24および図25に基づいて説明する。
***構成の説明***
関係分析装置100の構成は、実施の形態2で説明した構成(図13参照)と同じである。
***動作の説明***
図24に基づいて、関係強度の最適化を説明する。
ステップS410において、受付部192は、影響有無データを受け付ける。
ステップS420以降の処理において、関係強度更新部130は、文書関係データに示される関係強度と下流関係データに示される関係強度とソースコード関係データに示される関係強度とのうち対象組に対応する関係強度を、影響有無データに示される影響の有無に基づいて更新する。
ステップS420において、関係強度更新部130は、影響有無データから未選択の対象組を1つ選択する。
ステップS430からステップS442までの処理の説明において、対象組は、ステップS420で選択された対象組を意味する。
ステップS430において、関係強度更新部130は、文書関係データと下流関係データとソースコード関係データとを用いて、対象組に対応する関係組を特定する。
関係組は、上流文書要素と下流文書要素との組と下流文書要素とソースコード要素との組とソースコード要素同士の組とのうち、要素間の関係が有る組である。
具体的には、関係強度更新部130は、対象組に対応する関係組を以下のように特定する。
まず、関係強度更新部130は、文書関係データと下流関係データとソースコード関係データとを用いて、要素関係データを生成する。要素関係データは、上流文書要素と下流文書要素とソースコード要素との関係を示すデータである。例えば、関係強度更新部130は、要素関係データとして、図17に示すような要素関係図を表すデータを生成する。
次に、関係強度更新部130は、要素関係データを用いて、対象組に含まれる全ての要素を通る対象経路を要素関係図から抽出する。
そして、関係強度更新部130は、上流文書要素と下流文書要素との組と下流文書要素とソースコード要素との組とソースコード要素同士の組とを対象経路から抽出する。抽出される組が対象組に対応する関係組である。
対象組が(U、U)である場合、図17の要素関係図における対象経路は、「U→L→S→S→L→U」と「U→L→S→S→L→U」との2つである。この場合、対象組に対応する関係組は、(U、L)と(L、S)と(S、S)と(S、L)と(L、U)と(U、L)と(L、S)と(S、S)と(S、L)との9組である。
ステップS440において、関係強度更新部130は、対象組の影響の有無を影響有無データから取得する。
対象組において影響が有る場合、処理はステップS441に進む。
対象組において影響が無い場合、処理はステップS442に進む。
ステップS441およびステップS442の説明において、関係組は、ステップS430で特定された関係組を意味する。
ステップS441において、関係強度更新部130は、関係組毎に関係組の関係強度を文書関係データ、下流関係データまたはソースコード関係データから選択する。
そして、関係強度更新部130は、選択された関係強度を増加させる。
ステップS442において、関係強度更新部130は、関係組毎に関係組の関係強度を文書関係データ、下流関係データまたはソースコード関係データから選択する。
そして、関係強度更新部130は、選択された関係強度を減少させる。
ステップS450において、関係強度更新部130は、未選択の対象組が有るか判定する。
未選択の対象組が有る場合、処理はステップS420に進む。
未選択の対象組が無い場合、関係強度の最適化は終了する。
図25に、更新後の文書関係データと更新後の下流関係データと更新後のソースコード関係データとに基づく要素関係図を示す。
対象組が(U、U)である場合、図17の要素関係図において対象組に対応する関係組は、(U、L)と(L、S)と(S、S)と(S、L)と(L、U)と(U、L)と(L、S)と(S、S)と(S、L)との9組である。
対象組において影響が有る場合、対象組に対応する関係組の関係強度が増加される。例えば、関係強度が2倍になる。
その結果、図25に示す要素関係図が得られる。
***実施の形態4の効果***
ソースコード要素同士の関係強度を最適化すると共に、実施の形態2で述べた効果を得ることができる。
***実施の形態の補足***
実施の形態において、関係分析装置100の機能はハードウェアで実現してもよい。
図26に、関係分析装置100の機能がハードウェアで実現される場合の構成を示す。
関係分析装置100は処理回路990を備える。処理回路990はプロセッシングサーキットリともいう。
処理回路990は、要素抽出部110と関係強度算出部120と関係強度更新部130と記憶部191とを実現する専用の電子回路である。
例えば、処理回路990は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、FPGAまたはこれらの組み合わせである。GAはGate Arrayの略称であり、ASICはApplication Specific Integrated Circuitの略称であり、FPGAはField Programmable Gate Arrayの略称である。
関係分析装置100は、処理回路990を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路990の役割を分担する。
関係分析装置100の機能は、ソフトウェアとハードウェアとの組み合わせで実現してもよい。つまり、一部の機能がソフトウェアで実現され、残りの機能がハードウェアで実現されてもよい。
実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
100 関係分析装置、110 要素抽出部、120 関係強度算出部、130 関係強度更新部、191 記憶部、192 受付部、193 表示部、901 プロセッサ、902 メモリ、903 補助記憶装置、904 入出力インタフェース、990 処理回路。

Claims (11)

  1. ソフトウェアの開発の上流工程で作成される上流文書に含まれる上流文書要素と前記ソフトウェアの開発の下流工程で作成される下流文書に含まれる下流文書要素との組毎に上流文書要素と下流文書要素との関係強度を示す文書関係データと、下流文書要素と前記ソフトウェアのソースコードに含まれるソースコード要素との組毎に下流文書要素とソースコード要素との関係強度を示す下流関係データとを用いて、上流文書要素とソースコード要素との組毎に上流文書要素とソースコード要素との関係強度を算出する関係強度算出部を備え
    前記関係強度算出部は、上流文書要素と下流文書要素との複数の組に対応する複数の関係強度が配列された文書関係行列を前記文書関係データを用いて生成し、下流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された下流関係行列を前記下流関係データを用いて生成し、前記文書関係行列に前記下流関係行列を掛けることによって上流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された上流関係行列を算出する
    関係分析装置。
  2. ソフトウェアの開発の上流工程で作成される上流文書に含まれる上流文書要素と前記ソフトウェアの開発の下流工程で作成される下流文書に含まれる下流文書要素との組毎に上流文書要素と下流文書要素との関係強度を示す文書関係データと、下流文書要素と前記ソフトウェアのソースコードに含まれるソースコード要素との組毎に下流文書要素とソースコード要素との関係強度を示す下流関係データとを用いて、上流文書要素とソースコード要素との組毎に上流文書要素とソースコード要素との関係強度を算出する関係強度算出部を備え
    前記関係強度算出部は、前記文書関係データと前記下流関係データとを用いて、上流要素同士の組毎に上流要素同士の関係強度を算出する
    関係分析装置。
  3. 前記関係強度算出部は、上流文書要素と下流文書要素との複数の組に対応する複数の関係強度が配列された文書関係行列を前記文書関係データを用いて生成し、下流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された下流関係行列を前記下流関係データを用いて生成し、前記文書関係行列に前記下流関係行列を掛けることによって上流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された上流関係行列を算出し、前記上流関係行列に前記下流関係行列の転置行列と前記文書関係行列の転置行列とを掛けることによって上流文書要素同士の複数の組に対応する複数の関係強度が配列された上流要素行列を算出する
    請求項に記載の関係分析装置。
  4. 前記関係分析装置は、
    上流文書要素と下流文書要素とソースコード要素との組み合わせである対象組に含まれる要素間の影響の有無を示す影響有無データを受け付ける受付部と、
    前記文書関係データに示される関係強度と前記下流関係データに示される関係強度とのうち前記対象組に対応する関係強度を、前記影響有無データに示される影響の有無に基づいて更新する関係強度更新部と
    を備える請求項1から請求項のいずれか1項に記載の関係分析装置。
  5. ソフトウェアの開発の上流工程で作成される上流文書に含まれる上流文書要素と前記ソフトウェアの開発の下流工程で作成される下流文書に含まれる下流文書要素との組毎に上流文書要素と下流文書要素との関係強度を示す文書関係データと、下流文書要素と前記ソフトウェアのソースコードに含まれるソースコード要素との組毎に下流文書要素とソースコード要素との関係強度を示す下流関係データと、ソースコード要素同士の組毎にソースコード要素同士の関係強度を示すソースコード関係データと、を用いて、上流文書要素とソースコード要素との組毎に上流文書要素とソースコード要素との関係強度を算出する関係強度算出部を備え
    前記関係強度算出部は、上流文書要素と下流文書要素との複数の組に対応する複数の関係強度が配列された文書関係行列を前記文書関係データを用いて生成し、下流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された下流関係行列を前記下流関係データを用いて生成し、ソースコード要素同士の複数の組に対応する複数の関係強度が配列されたソースコード関係行列を前記ソースコード関係データを用いて生成し、前記文書関係行列に前記下流関係行列を掛けることによって上流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された第1上流関係行列を算出し、前記第1上流関係行列に前記ソースコード関係行列を掛けることによって上流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された第2上流関係行列を算出する
    関係分析装置。
  6. ソフトウェアの開発の上流工程で作成される上流文書に含まれる上流文書要素と前記ソフトウェアの開発の下流工程で作成される下流文書に含まれる下流文書要素との組毎に上流文書要素と下流文書要素との関係強度を示す文書関係データと、下流文書要素と前記ソフトウェアのソースコードに含まれるソースコード要素との組毎に下流文書要素とソースコード要素との関係強度を示す下流関係データとを用いて、上流文書要素とソースコード要素との組毎に上流文書要素とソースコード要素との関係強度を算出する関係強度算出部を備え
    前記関係強度算出部は、前記文書関係データと、前記下流関係データと、ソースコード要素同士の組毎にソースコード要素同士の関係強度を示すソースコード関係データとを用いて、上流要素同士の組毎に上流要素同士の関係強度を算出する
    関係分析装置。
  7. 前記関係強度算出部は、上流文書要素と下流文書要素との複数の組に対応する複数の関係強度が配列された文書関係行列を前記文書関係データを用いて生成し、下流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された下流関係行列を前記下流関係データを用いて生成し、ソースコード要素同士の複数の組に対応する複数の関係強度が配列されたソースコード関係行列を前記ソースコード関係データを用いて生成し、前記文書関係行列に前記下流関係行列を掛けることによって上流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された第1上流関係行列を算出し、前記第1上流関係行列に前記ソースコード関係行列を掛けることによって上流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された第2上流関係行列を算出し、前記第2上流関係行列に前記下流関係行列の転置行列と前記文書関係行列の転置行列とを掛けることによって上流文書要素同士の複数の組に対応する複数の関係強度が配列された上流要素行列を算出する
    請求項に記載の関係分析装置。
  8. 前記関係分析装置は、
    上流文書要素と下流文書要素とソースコード要素との組み合わせである対象組に含まれる要素間の影響の有無を示す影響有無データを受け付ける受付部と、
    前記文書関係データに示される関係強度と前記下流関係データに示される関係強度と前記ソースコード関係データに示される関係強度とのうち前記対象組に対応する関係強度を、前記影響有無データに示される影響の有無に基づいて更新する関係強度更新部と
    を備える請求項から請求項のいずれか1項に記載の関係分析装置。
  9. ソフトウェアの開発の上流工程で作成される上流文書に含まれる上流文書要素と前記ソフトウェアの開発の下流工程で作成される下流文書に含まれる下流文書要素との組毎に上流文書要素と下流文書要素との関係強度を示す文書関係データと、下流文書要素と前記ソフトウェアのソースコードに含まれるソースコード要素との組毎に下流文書要素とソースコード要素との関係強度を示す下流関係データとを用いて、上流文書要素とソースコード要素との組毎に上流文書要素とソースコード要素との関係強度を算出する関係強度算出部としてコンピュータを機能させるための関係分析プログラムであって、
    前記関係強度算出部は、上流文書要素と下流文書要素との複数の組に対応する複数の関係強度が配列された文書関係行列を前記文書関係データを用いて生成し、下流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された下流関係行列を前記下流関係データを用いて生成し、前記文書関係行列に前記下流関係行列を掛けることによって上流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された上流関係行列を算出する
    関係分析プログラム。
  10. ソフトウェアの開発の上流工程で作成される上流文書に含まれる上流文書要素と前記ソフトウェアの開発の下流工程で作成される下流文書に含まれる下流文書要素との組毎に上流文書要素と下流文書要素との関係強度を示す文書関係データと、下流文書要素と前記ソフトウェアのソースコードに含まれるソースコード要素との組毎に下流文書要素とソースコード要素との関係強度を示す下流関係データとを用いて、上流文書要素とソースコード要素との組毎に上流文書要素とソースコード要素との関係強度を算出する関係強度算出部を備え
    前記関係強度算出部は、上流文書要素と下流文書要素との複数の組に対応する複数の関係強度を含む文書関係のマトリクスを前記文書関係データを用いて生成し、下流文書要素とソースコード要素との複数の組に対応する複数の関係強度を含む下流関係のマトリクスを前記下流関係データを用いて生成し、前記文書関係のマトリクスのマトリクス要素と前記下流関係のマトリクスのマトリクス要素との演算によって上流文書要素とソースコード要素との複数の組に対応する複数の関係強度を含む上流関係のマトリクスを算出する
    関係分析装置。
  11. ソフトウェアの開発の上流工程で作成される上流文書に含まれる上流文書要素と前記ソフトウェアの開発の下流工程で作成される下流文書に含まれる下流文書要素との組毎に上流文書要素と下流文書要素との関係強度を示す文書関係データと、下流文書要素と前記ソフトウェアのソースコードに含まれるソースコード要素との組毎に下流文書要素とソースコード要素との関係強度を示す下流関係データと、ソースコード要素同士の組毎にソースコード要素同士の関係強度を示すソースコード関係データと、を用いて、上流文書要素とソースコード要素との組毎に上流文書要素とソースコード要素との関係強度を算出する関係強度算出部を備え
    前記関係強度算出部は、上流文書要素と下流文書要素との複数の組に対応する複数の関係強度を含む文書関係のマトリクスを前記文書関係データを用いて生成し、下流文書要素とソースコード要素との複数の組に対応する複数の関係強度を含む下流関係のマトリクスを前記下流関係データを用いて生成し、ソースコード要素同士の複数の組に対応する複数の関係強度を含むソースコード関係のマトリクスを前記ソースコード関係データを用いて生成し、前記文書関係のマトリクスのマトリクス要素と前記下流関係のマトリクスのマトリクス要素との演算によって上流文書要素とソースコード要素との複数の組に対応する複数の関係強度を含む第1上流関係のマトリクスを算出し、前記第1上流関係のマトリクスと前記ソースコード関係のマトリクスとの演算によって上流文書要素とソースコード要素との複数の組に対応する複数の関係強度を含む第2上流関係のマトリクスを算出する
    関係分析装置。
JP2017012104A 2017-01-26 2017-01-26 関係分析装置および関係分析プログラム Active JP6824053B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017012104A JP6824053B2 (ja) 2017-01-26 2017-01-26 関係分析装置および関係分析プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017012104A JP6824053B2 (ja) 2017-01-26 2017-01-26 関係分析装置および関係分析プログラム

Publications (2)

Publication Number Publication Date
JP2018120465A JP2018120465A (ja) 2018-08-02
JP6824053B2 true JP6824053B2 (ja) 2021-02-03

Family

ID=63045188

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017012104A Active JP6824053B2 (ja) 2017-01-26 2017-01-26 関係分析装置および関係分析プログラム

Country Status (1)

Country Link
JP (1) JP6824053B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6636667B1 (ja) * 2019-03-28 2020-01-29 Scsk株式会社 出力システム、及び出力プログラム
JP7391740B2 (ja) * 2020-03-19 2023-12-05 株式会社日立製作所 影響特定支援装置及び影響特定支援方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005122295A (ja) * 2003-10-14 2005-05-12 Fujitsu Ltd 関係図作成プログラム、関係図作成方法、および関係図作成装置
CN103119558A (zh) * 2010-09-16 2013-05-22 日本电气株式会社 操作验证支持设备、操作验证支持方法和操作验证支持程序
JP6070936B2 (ja) * 2013-01-31 2017-02-01 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報処理装置、情報処理方法及びプログラム
JP6300710B2 (ja) * 2014-12-04 2018-03-28 三菱電機株式会社 変更影響分析装置及び変更影響分析方法及びプログラム

Also Published As

Publication number Publication date
JP2018120465A (ja) 2018-08-02

Similar Documents

Publication Publication Date Title
US10423522B2 (en) System and method for detecting an error in software
US9208451B2 (en) Automatic identification of information useful for generation-based functional verification
US10936474B2 (en) Software test program generation
CN108509324B (zh) 选择计算平台的系统和方法
US9690682B2 (en) Program information generating system, method, and computer program product
JP6824053B2 (ja) 関係分析装置および関係分析プログラム
US20200012250A1 (en) Program editing device, program editing method, and computer readable medium
JP2008077330A (ja) ハードウエア高速シミュレーション用モデル生成装置及びそのシミュレーション装置。
JP2011253253A (ja) コンピュータ試験方法、コンピュータ試験装置およびコンピュータ試験プログラム
JP6161367B2 (ja) 情報処理装置及び情報処理方法及びプログラム
US20220222405A1 (en) Design support system and computer readable medium
JP6789844B2 (ja) 類似関数抽出装置および類似関数抽出プログラム
JP5811978B2 (ja) モデルベースの制御装置用のテストケース生成装置およびテストケース生成方法
JP6320269B2 (ja) ソフトウェア試験支援装置およびソフトウェア試験支援プログラム
JP6559376B2 (ja) テストケース選択装置およびテストケース選択プログラム
JP5755861B2 (ja) テストケース生成装置、テストケース生成方法およびテストケース生成プログラム
JP6878707B2 (ja) 試験装置、試験方法および試験プログラム
JP6723483B2 (ja) テストケース生成装置、テストケース生成方法およびテストケース生成プログラム
JP6369269B2 (ja) 検証支援装置、検証支援方法およびコンピュータプログラム
JP6016613B2 (ja) ソフトウェア信頼性評価装置、ソフトウェア信頼性評価方法、及びプログラム
JP6547345B2 (ja) テストケース生成プログラム、テストケース生成方法およびテストケース生成装置
US20190384687A1 (en) Information processing device, information processing method, and computer readable medium
JP7238361B2 (ja) エラー出力装置、エラー出力方法、学習装置、学習済みモデルの生成方法、プログラム、および学習済みモデル
JP6419357B2 (ja) ソースコード比較装置およびソースコード比較プログラム
JP2009181180A (ja) プログラム生成ツールの検査プログラムおよびプログラム生成ツールの検査方法ならびにプログラム生成ツールの検査装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190919

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200811

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201201

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: 20201215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210112

R150 Certificate of patent or registration of utility model

Ref document number: 6824053

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250