JP6524827B2 - 情報処理装置、差分対応付け方法および差分対応付けプログラム - Google Patents

情報処理装置、差分対応付け方法および差分対応付けプログラム Download PDF

Info

Publication number
JP6524827B2
JP6524827B2 JP2015137090A JP2015137090A JP6524827B2 JP 6524827 B2 JP6524827 B2 JP 6524827B2 JP 2015137090 A JP2015137090 A JP 2015137090A JP 2015137090 A JP2015137090 A JP 2015137090A JP 6524827 B2 JP6524827 B2 JP 6524827B2
Authority
JP
Japan
Prior art keywords
difference
source code
extracted
change
association
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
JP2015137090A
Other languages
English (en)
Other versions
JP2017021480A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2015137090A priority Critical patent/JP6524827B2/ja
Publication of JP2017021480A publication Critical patent/JP2017021480A/ja
Application granted granted Critical
Publication of JP6524827B2 publication Critical patent/JP6524827B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、ソースコードおよび仕様書に対する変更の妥当性を確認する技術に関する。
ソフトウェア開発において、ソースコードと仕様書に対する変更の妥当性の確認を、効率的かつ見落としなく行うことは、重要な課題である。そして、ソースコードと仕様書の対応関係を明確にすると共に、ソースコードと仕様書とを乖離なくかつ保守性を高く保つことも、また、重要な課題である。
変更内容の把握にあたって、互いに因果関係にあるソースコードおよび仕様書それぞれの変更前後の差分を抽出することは、バージョン管理システム等を利用すれば容易に行うことができる。
例えば、ソースコード間のコードの相違(修正)を識別するために、UNIX(登録商標)のdiffコマンドを利用して、修正前後のソースコードを行単位でテキスト比較してソースコードの差分を抽出する方法が用いられている。
しかしながら、上記のように抽出されたソースコードの差分が、仕様書のどの要件に対応しているかの判断は、開発者等の人が行っている。例えば、上記のようにソースコードの差分を抽出し、その差分を元に、開発者が順に変更理由の記載を仕様書と照合することにより、ソースコードの差分とそれに対応する要件との対応付けを確認していくという方法がとられている。この場合、最終的に仕様書の変更が全て網羅されたかを確認できないので、仕様書に対して行われた変更のソースコードへの反映漏れを見落とす虞がある。
一方、仕様書の差分を元に、開発者が順に、変更内容が反映されているかをソースコードと照合することにより確認していくという方法も考えられる。この場合、最終的にソースコードの変更を全て確認できないので、仕様書に記載のないソースコードの変更の混在を見落とす虞がある。
そこで、上記のような仕様書に対して行われた変更のソースコードへの反映漏れ、または仕様書に記載のないソースコードの変更の混在の見落としを防ぐために、通常は、ソースコードの差分ベースと仕様書の差分ベースで開発者が確認を行っている。あるいは、仕様と実装の全体像をよく把握している有識者が、仕様書およびソースコードの変更の妥当性の確認を行っている。
例えば、特許文献1には、修正前のソースコードと修正後のソースコードとを比較して差分を抽出すると共に、その差分と機能との対応付けを正確かつ簡易に行うソースコード比較装置が開示されている。
また、特許文献2には、ソースコードの変更があった場合、当該変更に関連するコードを網羅的に実行するテストケースを作成し、適切なテストケース識別子を付して、変更したソースコードの機能ユニットに対応付けて登録する情報処理装置が開示されている。
特開2013−065267号公報 特開2010−067188号公報
上述のように、仕様書およびソースコードの変更の妥当性を正確に確認するには、ソースコードの差分ベースと仕様書の差分ベースでの二重の確認や、有識者による確認といった、時間や高度な知識が必要となるという課題がある。
特許文献1に記載のソースコード比較装置では、ソースコードの修正について、その修正箇所と機能との対応付けを行っているが、仕様書の変更が正しくソースコードに反映されているかを確認することは開示されていない。
また、特許文献2に記載の情報処理装置では、機能ごとにテストケースを実行した際の実行トレースにより機能とソースコードを対応付けている。したがって、対応付けにはプログラムの実行が必要であるので、やはり確認には時間がかかる。
本願発明は、上記課題を鑑みてなされたものであり、ソースコードと仕様書の変更の妥当性の確認を、効率的かつ正確に行うことが可能な情報処理装置等を提供することを主要な目的とする。
本発明の第1の情報処理装置は、変更前の仕様書と変更後の前記仕様書の差分を抽出すると共に、前記仕様書に対して解析処理を行うことにより、前記抽出した前記差分に関連するキーワードを抽出する仕様書差分解析手段と、前記仕様書に基づいて作成される、変更前のソースコードと変更後の前記ソースコードの差分を抽出すると共に、前記ソースコードに対して解析処理を行うことにより、前記抽出した前記差分に関連するキーワードを抽出するソースコード差分解析手段と、前記抽出された前記仕様書の前記差分に関連する前記キーワードと、前記抽出された前記ソースコードの前記差分に関連する前記キーワードとの関連度に基づいて、前記仕様書の前記差分と前記ソースコードの前記差分とを対応付けると共に、当該対応付けの結果を提示する差分対応付け手段とを備える。
本発明の第1の差分対応付け方法は、変更前の仕様書と変更後の前記仕様書の差分を抽出すると共に、前記仕様書に対して解析処理を行うことにより、前記抽出した前記差分に関連するキーワードを抽出し、前記仕様書に基づいて作成される、変更前のソースコードと変更後の前記ソースコードの差分を抽出すると共に、前記ソースコードに対して解析処理を行うことにより、前記抽出した前記差分に関連するキーワードを抽出し、前記抽出された前記仕様書の前記差分に関連する前記キーワードと、前記抽出された前記ソースコードの前記差分に関連する前記キーワードとの関連度に基づいて、前記仕様書の前記差分と前記ソースコードの前記差分とを対応付けると共に、当該対応付けの結果を提示する。
なお同目的は、上記の各構成を有する差分対応付け方法を、コンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
本願発明によれば、情報処理装置において、ソースコードと仕様書の変更の妥当性の確認を、効率的かつ確実に行うことできるという効果が得られる。
本発明の第1の実施形態に係る情報処理装置の構成を示すブロック図である。 本発明の第1の実施形態に係る情報処理装置が取得する変更前ソースコードおよび変更後ソースコードの一例を示す図である。 本発明の第1の実施形態に係る情報処理装置が取得する変更前仕様書および変更後仕様書の一例を示す図である。 本発明の第1の実施形態に係る情報処理装置の差分対応推定部による対応付け動作の詳細について説明するフローチャートである。 本発明の第1の実施形態に係る情報処理装置が抽出した差分と差分に関連するキーワード示す図である。 本発明の第1の実施形態に係る情報処理装置が抽出したキーワードに関するスコアの算出について説明する図である。 本発明の第1の実施形態に係る情報処理装置によるソースコード差分と仕様書差分との関連度の算出結果の例(a)と、ソースコード差分と仕様書差分との対応関係を模式的に示す例(b)である。 本発明の第1の実施形態に係る情報処理装置が提示する対応情報付き差分一覧の例(a)と、対応なし差分一覧の例(b)である。 本発明の第2の実施形態に係る情報処理装置の構成を示すブロック図である。 各実施形態に係る情報処理装置のハードウエア構成を例示する図である。
以下、本発明の実施形態について図面を参照して詳細に説明する。
第1の実施形態
図1は、本発明の第1の実施形態に係る情報処理装置100の構成を示すブロック図である。図1に示すように、情報処理装置100は、ソースコード比較部110、ソースコード差分解析部120、仕様書比較部130、仕様書差分解析部140および差分対応推定部150を備える。
情報処理装置100は、仕様書の変更とソースコードの変更が妥当であるか、すなわち、仕様書の各変更箇所とソースコードの各変更箇所とが、互いに対応付けられるかを判断する。そして、情報処理装置100は、上記対応付けられる変更に関する情報(対応情報付き差分一覧)と、対応付けのない変更に関する情報(対応なし差分一覧)とを含む情報180を、表示部(不図示)を介して提示する。
対応情報付き差分一覧は、変更前後のソースコードの差分の一覧と、変更前後の仕様書の差分の一覧とを含む。対応情報付き差分一覧は、さらに、ソースコードの各差分に対応付けられる仕様書の差分を、仕様書の各差分に対応付けられるソースコードの差分を、それぞれ辿ることのできる情報を含んでもよい。
対応なし差分一覧は、対応付けられる仕様書の差分がないソースコードの差分の一覧、および対応付けられるソースコードの差分がない仕様書の差分の一覧を含む。対応けられる仕様書の差分がないソースコードの差分は、要件にないソースコードの変更あるいは仕様書の記載漏れ等の虞がある。対応付けられるソースコードの差分がない仕様書の差分は、ソースコードの変更漏れあるいは仕様書の記載誤り等の虞がある。情報処理装置100は、これらの一覧を、警告として提示してもよい。
情報処理装置100は、ソースコード比較部110において、変更前ソースコード161と変更後ソースコード162とを取得する。また、情報処理装置100は、仕様書比較部130において、変更前仕様書171と変更後仕様書172とを取得する。変更前ソースコード161と変更前仕様書171、および変更後ソースコード162と変更後仕様書172とは、それぞれ互いに因果関係を有する。すなわち、変更前ソースコード161および変更後ソースコード162は、それぞれ変更前仕様書171および変更後仕様書172に基づいて作成される。
図1に示す情報処理装置100の各構成要素の概要を説明する。
ソースコード比較部110は、変更前ソースコード161および変更後ソースコード162を取得し、通常のテキスト比較処理により、変更前後のソースコードの差分を抽出する。
ソースコード差分解析部120は、変更後ソースコード162に対して構文解析処理を行い、各変更箇所に関連する関数名、データ名、コメントなどの情報を、キーワードとして抽出する。
仕様書比較部130は、変更前仕様書171および変更後仕様書172を取得し、通常の文書比較処理により、変更前後の仕様書の差分を抽出する。
仕様書差分解析部140は、変更後仕様書172に対して文書構造解析処理および自然言語解析処理を行い、章節見出しや段落等の文書構造を検出し、各変更箇所の章節見出しや本文からキーワードを抽出する。
差分対応推定部150は、上述のように抽出されたソースコードの各変更箇所と仕様書の各変更箇所の対について、抽出されたキーワードの突き合わせを行い、ソースコードの変更箇所と仕様書の変更箇所の関連度を算出する。そして、差分対応推定部150は、算出した関連度が所定の基準より高い場合、そのソースコードの変更箇所と仕様書の変更箇所は、対応付けられる(対応関係にある)と推定する。
図2は、変更前ソースコード161および変更後ソースコード162の一例を示す図である。また、図3は、変更前ソースコード161および変更後ソースコード162とそれぞれ因果関係をもつ変更前仕様書171および変更後仕様書172の一例を示す図である。
図2、図3に示す例において、「機能A」の処理および「機能B」の「処理1」と「処理2」の内容が変更されたと仮定する。またこの例では、「機能B」の「処理1」と「処理2」には、いずれも、「○○テーブル」が関わっている。ソースコードにおける「funcA」は仕様書における「機能A」に、「funcB」は「機能B」に、「XXXTable」は「○○テーブル」に、それぞれ対応する。また、「funcB」に関するソースコードにはふたつのブロックがあり、ひとつ目のブロック(図2において「a」で示す)は「処理1」に、ふたつ目のブロック(図2において「b」で示す)は処理2に、それぞれ対応する(ただし、本実施形態では、これらの対応関係を単なるテキスト情報から機械的に判断するのは困難であることを前提としている)。
したがって、情報処理装置100により、以下のような対応付けが行われることが、本実施形態の求める結果である。すなわち、仕様書の「機能A」に対する変更とソースコードの「funcA」に対する変更とが対応付けられる。また、仕様書の「機能B」の「処理1」に対する変更と、ソースコードの「XXXTable」に対する変更および「funcB」のひとつ目のブロックに対する変更と、が対応付けられる。さらに、仕様書の「機能B」の「処理2」に対する変更と、ソースコードの「XXXTable」に対する変更および「funcB」のふたつ目のブロックに対する変更と、が対応付けられる。
図4は、情報処理装置100が上記対応付けを行う動作の詳細について説明するフローチャートである。図2乃至図4を参照して、情報処理装置100における上記対応付けの動作について説明する。
図2に示すように、変更前ソースコード161において、c,d,e,fに示す4か所が変更されたと仮定する。また、図3に示すように、変更前仕様書171において、g,h,iに示す3か所が変更されたと仮定する。
ソースコード比較部110は、変更前ソースコード161および変更後ソースコード162を取得して、通常のテキスト比較処理により、図2のc,d,e,fに示す変更を検出すると共に、それぞれを番号1,2,3,4を有するソースコード差分(以降、それぞれソースコード差分1,2,3,4と称する)として抽出する(S101)。
続いて、ソースコード差分解析部120は、変更後ソースコード162に対して構文解析処理を行い、変更箇所が属しているデータ、関数、ブロックの情報およびその前後に挿入されているコメント等を、キーワードとして抽出する(S102)。
図2には、ソースコード差分解析部120による構文解析処理の結果、変更箇所c,d,e,fに関して抽出されたキーワードを破線で囲むことで示している。例えば、変更箇所cに関して、「/*○○テーブル*/」、「XXXTable」がキーワードとして抽出されている。ソースコード差分解析部120は、これら抽出したキーワードをソースコード差分1と関連付けて保持する。
同様に、ソースコード差分解析部120は、変更箇所dに関して、「funcA()」をキーワードとして抽出すると共に、そのキーワードをソースコード差分2と関連付けて保持する。また、ソースコード差分解析部120は、変更箇所eに関して、「funcB()」、「//機能B」、「/*処理1*/」をキーワードとして抽出すると共に、それらキーワードをソースコード差分3と関連付けて保持する。
さらに、ソースコード差分解析部120は、変更箇所fに関して、その変更箇所fが属する「funcB()」、「//機能B」と、「/*処理2*/」をキーワードとして抽出すると共に、それらキーワードをソースコード差分4と関連付けて保持する。
図5に、ソースコード比較部110が抽出したソースコード差分1乃至4と、それらソースコード差分1乃至4に関連してソースコード差分解析部120が抽出したキーワードとを示す。
一方、仕様書比較部130は、変更前仕様書171および変更後仕様書172を取得して、通常の文書比較処理により、図3のg,h,iに示す変更を検出すると共に、それぞれを番号1,2,3を有する仕様書差分(以降、それぞれ仕様書差分1,2,3と称する)として抽出する(S103)。
続いて、仕様書差分解析部140は、変更後仕様書172に対して、仕様書の文書構造に基づき、変更箇所が属している章節の見出しおよび本文に対して自然言語解析処理を行うことより、関連するキーワードを抽出する(S104)。
図3には、仕様書差分解析部140による自然言語解析処理の結果、変更箇所g,h,iに関して抽出されたキーワードを破線で囲むことで示している。例えば、変更箇所gに関して、「機能B」、「処理1」、「○○テーブル」がキーワードとして抽出されている。仕様書差分解析部140は、これら抽出したキーワードを仕様書差分1と関連付けて保持する。
同様に、仕様書差分解析部140は、変更箇所hに関して、その変更箇所hが属する「機能B」と、「処理2」、「XXXTable」をキーワードとして抽出すると共に、それらキーワードを仕様書差分2と関連付けて保持する。また、仕様書差分解析部140は、変更箇所iに関して、「機能A」、「funcA」をキーワードとして抽出すると共に、そのキーワードを仕様書差分3と関連付けて保持する。
図5には、仕様書比較部130が抽出した仕様書差分1乃至3と、それら仕様書差分1乃至3に関連して仕様書差分解析部140が抽出したキーワードとを示す。
なお、変更と関連性の少ない単語をキーワードとして抽出してしまうことを防ぐため、仕様書差分解析部140は、変更と関連度が高いと判断されるキーワードを抽出してもよい。図6は、キーワードに関するスコアの算出について説明する図である。仕様書差分解析部140は、仕様書における各語の重要度、例えば、図6に示すように、仕様書における見出し中の語、ソースコード中の識別子と考えられる語、出現頻度の高い語に対して、重み付けを与えたスコアを算出する。そして、仕様書差分解析部140は、所定の基準よりも高いスコアを有する語を、キーワードとして抽出してもよい。ここでは、仕様書差分解析部140は、例えばスコアが、「40」以上の語をキーワードとして抽出している。
続いて、差分対応推定部150は、ソースコード差分解析部120により抽出されたキーワードと、仕様書差分解析部140により抽出されたキーワードとを突き合わせることにより、ソースコード差分および仕様書差分の対応関係を推定する(S105)。
図7は、差分対応推定部150によるソースコード差分と仕様書差分との関連度の算出結果の例を示す図7(a)と、ソースコード差分と仕様書差分との対応関係を模式的に示す図7(b)である。差分対応推定部150は、ソースコード差分1乃至4それぞれに含まれるキーワードと、仕様書差分1乃至3それぞれに含まれるキーワードとの突き合わせを行い、一致するキーワードの割合に基づいて関連度を算出する。さらに、差分対応推定部150は、図6に示したスコア等を用いてキーワードに重み付けを与えて関連度を算出してもよい。
図7(b)では、対応関係にある仕様書差分とソースコード差分とを実線で結んで示す。図7(b)に示すように、例えば仕様書差分1とソースコード差分1とでは、「○○テーブル」というキーワードが一致している。また、図6に示すように、「○○テーブル」というキーワードのスコアは「40」である。これらを元に、差分対応推定部150は、図7(a)に示すように、仕様書差分1とソースコード差分1との関連度を「80」と算出している。
同様に、例えば、仕様書差分3とソースコード差分2とでは、「funcA」というキーワードが一致している。また、図6に示すように、「funcA」というキーワードのスコアは「66」である。これらを元に、差分対応推定部150は、図7(a)に示すように、仕様書差分3とソースコード差分2との関連度を「95」と算出している。
差分対応推定部150は、上述のように、図7(a)に示す仕様書差分とソースコード差分のすべての対について関連度を算出する。
ここで、「処理1」と「処理2」については、いずれも機能Bに含まれる。よって、ソースコードにおける「処理1」と仕様書における「処理2」の対や、ソースコードにおける「処理2」と仕様書における「処理1」の対は、それぞれ対応付けは薄いが、関連が発生している。すなわち、ソースコード差分3と仕様書差分2との対、ソースコード差分4と仕様書差分1との対には、関連度が「30」と算出されている。そこで、差分対応推定部150は、関連度について、対応付けられるとみなす所定の基準を設け、基準を満たさない関連度を有する対は、対応関係から除外してもよい。
図8は、差分対応推定部150が提示する対応情報付き差分一覧(a)と、対応なし差分一覧(b)示す図である。図8に示すように、差分対応推定部150は、対応情報付き差分一覧として、仕様書差分の一覧とソースコード差分の一覧に加えて、ソースコードの各差分から対応している仕様書の差分を、仕様書の各差分から対応しているソースコードの差分を、それぞれ辿ることのできる情報(対応関係)を提示する(S106)。
上記例では、すべての仕様書差分とソースコード差分が、それぞれ対応関係のあるソースコード差分と仕様書差分を有する場合について説明したが、対応関係のあるソースコード差分または仕様書差分がない場合、差分対応推定部150は、警告を提示する。すなわち、差分対応推定部150は、対応付けられるソースコード差分のない仕様書差分、または対応付けられる仕様書差分のないソースコード差分を、対応なし差分一覧として提示する。図8(b)は、仕様書差分4が、対応付けられるソースコード差分なしとして、「要確認」の警告と共に提示される例を示す。
ここで、実装に関する記載が仕様書に少ない場合や、ソースコードへの適切なコメントの記載が少ない場合、仕様書の差分とソースコードの差分との対応付けの精度が悪くなり、本来対応関係にある差分同士が対応なし差分一覧に含まれてしまう虞がある。これを防ぐため、開発者は、仕様と実装を結び付ける記載やコメントを追加することで、対応付けの精度を上げることができる。対応付けの精度の向上のために対応付けに用いられる情報を追加することは、開発者にとっても変更内容の把握に際し有効である。
また、情報処理装置100に適用される仕様書やソースコードは、特定のコーディングルールや仕様書フォーマットに限定されない。ただし、コーディングルールや、仕様書フォーマットを定めることにより、仕様書差分とソースコード差分の対応付けの精度をより高めることができる。
以上のように、本第1の実施形態によれば、情報処理装置100は、ソースコードの変更箇所(差分)に関連するキーワードを抽出すると共に、仕様書の変更箇所(差分)に関連するキーワードを抽出する。そして、情報処理装置100は、ソースコードの変更箇所に関連するキーワードと、仕様書の変更箇所に関連するキーワードとを突き合わせることにより、各差分の関連度を算出すると共に、関連度が高いと判定される差分の対応関係を示す情報を提示する。情報処理装置100は、また、対応付けられるソースコード差分または仕様書差分がない差分については、警告として提示する。
上記構成を採用することにより、本第1の実施形態によれば、仕様書に対して行われた変更のソースコードへの反映漏れ、または仕様書に記載のないソースコードの変更の混在を、効率的かつ確実に(見落としなく)確認できるという効果が得られる。
また、対応付けに用いられる情報が仕様書またはソースコードに少ない場合、仕様書やソースコードの変更漏れや誤り等と共にこれらの情報を開発者に提示する。これにより、必要なコメント等の仕様書またはソースコードへの追加を促すこととなるので、開発者にとってより保守性の高い仕様書またはソースコードを作成することができるという効果が得られる。
第2の実施形態
図9は、本発明の第2の実施形態に係る情報処理装置200の構成を示すブロック図である。上述の第1の実施形態における情報処理装置100は、第2の実施形態における情報処理装置100を基本としている。
図9に示すように、情報処理装置200は、仕様書差分解析部210、ソースコード差分解析部220および差分対応付け部230を備える。
仕様書差分解析部210は、変更前の仕様書と変更後の仕様書の差分を抽出すると共に、仕様書に対して解析処理を行うことにより、抽出した差分に関連するキーワードを抽出する。
ソースコード差分解析部220は、仕様書に基づいて作成される、変更前のソースコードと変更後のソースコードの差分を抽出すると共に、ソースコードに対して解析処理を行うことにより、抽出した差分に関連するキーワードを抽出する。
差分対応付け部230は、抽出された仕様書の差分に関連するキーワードと、抽出されたソースコードの差分に関連するキーワードとの関連度に基づいて、仕様書の差分とソースコードの差分とを対応付けると共に、当該対応付けの結果を提示する。なお、差分対応付け部230は、上記第1の実施形態における差分対応推定部150に相当する。
上記構成を採用することにより、本第1の実施形態によれば、差分対応付け部230が、変更前後のソースコード差分と仕様書差分とを突き合わせることより対応付けを行うので、ソースコードと仕様書の変更の妥当性の確認を、効率的かつ正確に行うことができるという効果が得られる。
なお、図1等に示した情報処理装置の各部は、図10に例示するハードウエア資源において実現される。すなわち、図10に示す構成は、プロセッサ50、RAM(Random Access Memory)51、ROM(Read Only Memory)52、外部接続インタフェース53および記憶装置54を備える。
図1等に示した情報処理装置における各ブロックに示す機能は、図10に示すプロセッサ50がROM52または記憶装置54に記憶された各種ソフトウエア・プログラム(コンピュータ・プログラム)を、RAM51に読み出して実行することにより、実現されてもよい。あるいは、図1等に示した各ブロックに示す機能は、一部または全部を、ハードウエアとして実現してもよい。
また、各実施形態を例に説明した本発明は、情報処理装置に対して、上記説明した機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、プロセッサ50がRAM51に読み出して実行することによって達成される。
係る供給されたコンピュータ・プログラムは、読み書き可能なメモリ(一時記憶媒体)またはハードディスク装置等のコンピュータ読み取り可能な記憶デバイスに格納すればよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムを表すコード或いは係るコンピュータ・プログラムを格納した記憶媒体によって構成されると捉えることができる。
50 プロセッサ
51 RAM
52 ROM
53 外部接続インタフェース
54 記憶装置
100、200 情報処理装置
110 ソースコード比較部
120 ソースコード差分解析部
130 仕様書比較部
140 仕様書差分解析部
150 差分対応推定部
161 変更前ソースコード
162 変更後ソースコード
171 変更前仕様書
172 変更後仕様書
180 情報
200 情報処理装置
210 仕様書差分解析部
220 ソースコード差分解析部
230 差分対応付け部

Claims (8)

  1. 変更前の仕様書と変更後の前記仕様書の差分を抽出すると共に、前記仕様書に対して解析処理を行うことにより、前記抽出した前記差分に関連するキーワードを抽出する仕様書差分解析手段と、
    前記仕様書に基づいて作成される、変更前のソースコードと変更後の前記ソースコードの差分を抽出すると共に、前記ソースコードに対して解析処理を行うことにより、前記抽出した前記差分に関連するキーワードを抽出するソースコード差分解析手段と、
    前記抽出された前記仕様書の前記差分に関連する前記キーワードと、前記抽出された前記ソースコードの前記差分に関連する前記キーワードとの関連度に基づいて、前記仕様書の前記差分と前記ソースコードの前記差分とを対応付けると共に、当該対応付けの結果を提示する差分対応付け手段と
    を備えた情報処理装置。
  2. 前記差分対応付け手段は、前記抽出された前記仕様書の前記差分に関連する前記キーワードと、前記抽出された前記ソースコードの前記差分に関連する前記キーワードが一致する割合に基づいて、前記仕様書の前記差分と前記ソースコードの前記差分との前記関連度を算出し、当該関連度が所定の基準を満たす前記仕様書の前記差分と前記ソースコードの前記差分とを対応付ける
    請求項1記載の情報処理装置。
  3. 前記差分対応付け手段は、前記対応付けられる前記仕様書の前記差分がない前記ソースコードの前記差分、または前記対応付けられる前記ソースコードの前記差分がない前記仕様書の前記差分を、対応なし情報として提示する
    請求項1または請求項2記載の情報処理装置。
  4. 前記仕様書差分解析手段は、前記仕様書に対して文書構造解析処理および自然言語解析処理を行うことにより、前記仕様書に含まれる語の、当該仕様書における重要度に基づく重み付けを与えたスコアを算出すると共に、前記スコアが所定の基準を満たす語を前記キーワードとして抽出する
    請求項1乃至請求項3のいずれか1項記載の情報処理装置。
  5. 前記ソースコード差分解析手段は、前記ソースコードに対して構文解析処理を行うことにより、前記差分に関連する関数名、データ名およびコメントの少なくともいずれかを、前記キーワードとして抽出する
    請求項1乃至請求項4のいずれか1項記載の情報処理装置。
  6. 前記差分対応付け手段は、前記抽出された前記仕様書の前記差分に関連する前記キーワードと前記抽出された前記ソースコードの前記差分に関連する前記キーワードが一致する割合と、前記スコアとに基づいて、前記関連度を算出する
    請求項4記載の情報処理装置。
  7. 変更前の仕様書と変更後の前記仕様書の差分を抽出すると共に、前記仕様書に対して解析処理を行うことにより、前記抽出した前記差分に関連するキーワードを抽出し、
    前記仕様書に基づいて作成される、変更前のソースコードと変更後の前記ソースコードの差分を抽出すると共に、前記ソースコードに対して解析処理を行うことにより、前記抽出した前記差分に関連するキーワードを抽出し、
    前記抽出された前記仕様書の前記差分に関連する前記キーワードと、前記抽出された前記ソースコードの前記差分に関連する前記キーワードとの関連度に基づいて、前記仕様書の前記差分と前記ソースコードの前記差分とを対応付けると共に、当該対応付けの結果を提示する
    差分対応付け方法。
  8. 変更前の仕様書と変更後の前記仕様書の差分を抽出すると共に、前記仕様書に対して解析処理を行うことにより、前記抽出した前記差分に関連するキーワードを抽出する処理と、
    前記仕様書に基づいて作成される、変更前のソースコードと変更後の前記ソースコードの差分を抽出すると共に、前記ソースコードに対して解析処理を行うことにより、前記抽出した前記差分に関連するキーワードを抽出する処理と、
    前記抽出された前記仕様書の前記差分に関連する前記キーワードと、前記抽出された前記ソースコードの前記差分に関連する前記キーワードとの関連度に基づいて、前記仕様書の前記差分と前記ソースコードの前記差分とを対応付けると共に、当該対応付けの結果を提示する処理とを、
    コンピュータに実行させる差分対応付けプログラム。
JP2015137090A 2015-07-08 2015-07-08 情報処理装置、差分対応付け方法および差分対応付けプログラム Active JP6524827B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015137090A JP6524827B2 (ja) 2015-07-08 2015-07-08 情報処理装置、差分対応付け方法および差分対応付けプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015137090A JP6524827B2 (ja) 2015-07-08 2015-07-08 情報処理装置、差分対応付け方法および差分対応付けプログラム

Publications (2)

Publication Number Publication Date
JP2017021480A JP2017021480A (ja) 2017-01-26
JP6524827B2 true JP6524827B2 (ja) 2019-06-05

Family

ID=57888155

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015137090A Active JP6524827B2 (ja) 2015-07-08 2015-07-08 情報処理装置、差分対応付け方法および差分対応付けプログラム

Country Status (1)

Country Link
JP (1) JP6524827B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4954674B2 (ja) * 2006-11-01 2012-06-20 株式会社日立製作所 ソフトウェア開発支援方法、ソフトウェア開発支援装置、ソフトウェア開発支援プログラム、及び計算機システム
JP2013246644A (ja) * 2012-05-25 2013-12-09 Mitsubishi Electric Corp ソフトウェアオブジェクト修正支援装置、ソフトウェアオブジェクト修正支援方法、および、プログラム

Also Published As

Publication number Publication date
JP2017021480A (ja) 2017-01-26

Similar Documents

Publication Publication Date Title
CN102681835A (zh) 代码克隆通知以及体系结构改变可视化
US9304893B1 (en) Integrated software development and test case management system
US8868976B2 (en) System-level testcase generation
US20170139678A1 (en) Verification property integration apparatus, verification property integration method, and storage medium
KR20160063990A (ko) 컴퓨터 수행 가능한 모델 역공학 방법 및 장치
Wagner et al. Qualification of a model checker for avionics software verification
US9378115B2 (en) Base line for code analysis
Cleland-Huang et al. Achieving lightweight trustworthy traceability
Hillebrand et al. Establishing confidence in the usage of software tools in context of ISO 26262
US20190362291A1 (en) Generating and publishing a problem ticket
JP4888790B2 (ja) 契約定義関数検証装置、その方法及びそのプログラム
US20100030732A1 (en) System and method to create process reference maps from links described in a business process model
US9311219B2 (en) Automatic trace retrieval using semantic bridge
JP6524827B2 (ja) 情報処理装置、差分対応付け方法および差分対応付けプログラム
US10372849B2 (en) Performing and communicating sheet metal simulations employing a combination of factors
US11928421B2 (en) Technical document error detection
Flemström et al. Exploring test overlap in system integration: An industrial case study
Hoder et al. Vinter: A Vampire-based tool for interpolation
Lin et al. A systematic approach for safety evidence collection in the safety-critical domain
JP6290147B2 (ja) 制御機器プログラムコードを作成するコンピュータ実装方法および関連するメッセージ管理システム
CN111882419B (zh) 质检文件的方法、装置及服务器
Beine A model-based reference workflow for the development of safety-critical software
Farah-Stapleton et al. Behavioral modeling of software intensive system architectures
Malhotra et al. An efficient software quality models for safety and resilience
CN110515653B (zh) 文档生成方法、装置、电子设备及计算机可读存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180615

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190320

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190422

R150 Certificate of patent or registration of utility model

Ref document number: 6524827

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150