JP2017021480A - Information processor, difference association method and difference association program - Google Patents

Information processor, difference association method and difference association program Download PDF

Info

Publication number
JP2017021480A
JP2017021480A JP2015137090A JP2015137090A JP2017021480A JP 2017021480 A JP2017021480 A JP 2017021480A JP 2015137090 A JP2015137090 A JP 2015137090A JP 2015137090 A JP2015137090 A JP 2015137090A JP 2017021480 A JP2017021480 A JP 2017021480A
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.)
Granted
Application number
JP2015137090A
Other languages
Japanese (ja)
Other versions
JP6524827B2 (en
Inventor
芳明 野村
Yoshiaki Nomura
芳明 野村
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/en
Publication of JP2017021480A publication Critical patent/JP2017021480A/en
Application granted granted Critical
Publication of JP6524827B2 publication Critical patent/JP6524827B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an information processor or the like capable of efficiently and surely confirming the validity of change between a source code and a specification.SOLUTION: The information processor includes: specification difference analysis means for extracting difference between an unchanged specification and a changed specification, and also extracting a keyword relevant to the extracted difference by performing analysis processing of the specification; source code difference analysis means for extracting difference between an unchanged source code and a changed source code, created on the basis of the specification, and also extracting a keyword relevant to the extracted difference by performing analysis processing of the source code; and difference association means for associating the difference between specifications with the difference of the source codes on the basis of the degree of association of the keyword relevant to the extracted difference between the specifications and the keyword relevant to the extracted keyword between the source codes, and presenting a result of the association.SELECTED DRAWING: Figure 1

Description

本発明は、ソースコードおよび仕様書に対する変更の妥当性を確認する技術に関する。   The present invention relates to a technique for confirming the validity of changes to source code and specifications.

ソフトウェア開発において、ソースコードと仕様書に対する変更の妥当性の確認を、効率的かつ見落としなく行うことは、重要な課題である。そして、ソースコードと仕様書の対応関係を明確にすると共に、ソースコードと仕様書とを乖離なくかつ保守性を高く保つことも、また、重要な課題である。   In software development, it is an important issue to check the validity of changes to source code and specifications efficiently and without oversight. It is also an important issue to clarify the correspondence between the source code and the specification, and to keep the source code and the specification without divergence and high maintainability.

変更内容の把握にあたって、互いに因果関係にあるソースコードおよび仕様書それぞれの変更前後の差分を抽出することは、バージョン管理システム等を利用すれば容易に行うことができる。   In grasping the contents of the change, it is possible to easily extract the difference before and after the change of the source code and the specification that are in a causal relationship with each other by using a version management system or the like.

例えば、ソースコード間のコードの相違(修正)を識別するために、UNIX(登録商標)のdiffコマンドを利用して、修正前後のソースコードを行単位でテキスト比較してソースコードの差分を抽出する方法が用いられている。   For example, in order to identify code differences (correction) between source codes, use the UNIX (registered trademark) diff command to extract source code differences by comparing text before and after the corrections in line units. Method is used.

しかしながら、上記のように抽出されたソースコードの差分が、仕様書のどの要件に対応しているかの判断は、開発者等の人が行っている。例えば、上記のようにソースコードの差分を抽出し、その差分を元に、開発者が順に変更理由の記載を仕様書と照合することにより、ソースコードの差分とそれに対応する要件との対応付けを確認していくという方法がとられている。この場合、最終的に仕様書の変更が全て網羅されたかを確認できないので、仕様書に対して行われた変更のソースコードへの反映漏れを見落とす虞がある。   However, a developer or the like makes a decision as to which requirement of the specification the difference in the source code extracted as described above corresponds to. For example, as described above, source code differences are extracted, and based on the differences, the developer sequentially matches the description of the reason for change with the specifications, thereby associating the source code differences with the corresponding requirements. The method of confirming is taken. In this case, since it is not possible to confirm whether or not all the changes in the specification document have been finally covered, there is a possibility of overlooking the reflection of the change made to the specification document in the source code.

一方、仕様書の差分を元に、開発者が順に、変更内容が反映されているかをソースコードと照合することにより確認していくという方法も考えられる。この場合、最終的にソースコードの変更を全て確認できないので、仕様書に記載のないソースコードの変更の混在を見落とす虞がある。   On the other hand, based on the difference between specifications, a method in which the developer sequentially checks whether the contents of the change are reflected by checking with the source code is also conceivable. In this case, since all the changes in the source code cannot be finally confirmed, there is a possibility that a mixture of changes in the source code not described in the specification may be overlooked.

そこで、上記のような仕様書に対して行われた変更のソースコードへの反映漏れ、または仕様書に記載のないソースコードの変更の混在の見落としを防ぐために、通常は、ソースコードの差分ベースと仕様書の差分ベースで開発者が確認を行っている。あるいは、仕様と実装の全体像をよく把握している有識者が、仕様書およびソースコードの変更の妥当性の確認を行っている。   Therefore, in order to prevent the changes made to the specifications as described above from being reflected in the source code, or to overlook the mixture of changes in the source code that are not described in the specifications, the source code difference base is usually used. And the developer is checking on the basis of the difference between specifications. Alternatively, an expert who has a good overview of the specification and implementation checks the validity of changes to the specification and source code.

例えば、特許文献1には、修正前のソースコードと修正後のソースコードとを比較して差分を抽出すると共に、その差分と機能との対応付けを正確かつ簡易に行うソースコード比較装置が開示されている。   For example, Patent Document 1 discloses a source code comparison apparatus that compares a source code before correction with a source code after correction to extract a difference and accurately and easily associates the difference with a function. Has been.

また、特許文献2には、ソースコードの変更があった場合、当該変更に関連するコードを網羅的に実行するテストケースを作成し、適切なテストケース識別子を付して、変更したソースコードの機能ユニットに対応付けて登録する情報処理装置が開示されている。   Also, in Patent Document 2, when there is a change in the source code, a test case that comprehensively executes the code related to the change is created, an appropriate test case identifier is attached, and the changed source code An information processing apparatus that registers in association with a functional unit is disclosed.

特開2013−065267号公報JP 2013-0665267 A 特開2010−067188号公報JP 2010-067188 A

上述のように、仕様書およびソースコードの変更の妥当性を正確に確認するには、ソースコードの差分ベースと仕様書の差分ベースでの二重の確認や、有識者による確認といった、時間や高度な知識が必要となるという課題がある。   As described above, in order to accurately confirm the validity of changes in specifications and source code, it is necessary to take time and high level of knowledge such as double confirmation based on difference between source code and difference between specifications and confirmation by experts. There is a problem that a lot of knowledge is required.

特許文献1に記載のソースコード比較装置では、ソースコードの修正について、その修正箇所と機能との対応付けを行っているが、仕様書の変更が正しくソースコードに反映されているかを確認することは開示されていない。   In the source code comparison apparatus described in Patent Document 1, the correction part and the function are associated with each other regarding the correction of the source code, but it is confirmed whether the change in the specification is correctly reflected in the source code. Is not disclosed.

また、特許文献2に記載の情報処理装置では、機能ごとにテストケースを実行した際の実行トレースにより機能とソースコードを対応付けている。したがって、対応付けにはプログラムの実行が必要であるので、やはり確認には時間がかかる。   Moreover, in the information processing apparatus described in Patent Document 2, the function and the source code are associated with each other by an execution trace when the test case is executed for each function. Therefore, since it is necessary to execute a program for the association, it still takes time to confirm.

本願発明は、上記課題を鑑みてなされたものであり、ソースコードと仕様書の変更の妥当性の確認を、効率的かつ正確に行うことが可能な情報処理装置等を提供することを主要な目的とする。   The present invention has been made in view of the above problems, and mainly provides an information processing apparatus and the like that can efficiently and accurately confirm the validity of changes in source code and specifications. Objective.

本発明の第1の情報処理装置は、変更前の仕様書と変更後の前記仕様書の差分を抽出すると共に、前記仕様書に対して解析処理を行うことにより、前記抽出した前記差分に関連するキーワードを抽出する仕様書差分解析手段と、前記仕様書に基づいて作成される、変更前のソースコードと変更後の前記ソースコードの差分を抽出すると共に、前記ソースコードに対して解析処理を行うことにより、前記抽出した前記差分に関連するキーワードを抽出するソースコード差分解析手段と、前記抽出された前記仕様書の前記差分に関連する前記キーワードと、前記抽出された前記ソースコードの前記差分に関連する前記キーワードとの関連度に基づいて、前記仕様書の前記差分と前記ソースコードの前記差分とを対応付けると共に、当該対応付けの結果を提示する差分対応付け手段とを備える。   The first information processing apparatus of the present invention extracts a difference between the specification before the change and the specification after the change, and performs an analysis process on the specification, thereby relating to the extracted difference. A specification difference analyzing means for extracting a keyword to be extracted, a difference between the source code before the change and the source code after the change created based on the specification is extracted, and an analysis process is performed on the source code Source code difference analysis means for extracting a keyword related to the extracted difference, the keyword related to the difference of the extracted specification, and the difference of the extracted source code The difference between the specifications and the difference of the source code are associated with each other based on the degree of association with the keyword related to And a differential association means for presenting the results.

本発明の第1の差分対応付け方法は、変更前の仕様書と変更後の前記仕様書の差分を抽出すると共に、前記仕様書に対して解析処理を行うことにより、前記抽出した前記差分に関連するキーワードを抽出し、前記仕様書に基づいて作成される、変更前のソースコードと変更後の前記ソースコードの差分を抽出すると共に、前記ソースコードに対して解析処理を行うことにより、前記抽出した前記差分に関連するキーワードを抽出し、前記抽出された前記仕様書の前記差分に関連する前記キーワードと、前記抽出された前記ソースコードの前記差分に関連する前記キーワードとの関連度に基づいて、前記仕様書の前記差分と前記ソースコードの前記差分とを対応付けると共に、当該対応付けの結果を提示する。   In the first difference association method of the present invention, the difference between the specification before the change and the specification after the change is extracted, and an analysis process is performed on the specification so that the difference is extracted. Extracting relevant keywords, extracting the difference between the source code before the change and the source code after the change, which is created based on the specifications, and performing the analysis process on the source code, A keyword related to the extracted difference is extracted, and based on the degree of association between the keyword related to the difference of the extracted specification and the keyword related to the difference of the extracted source code Then, the difference between the specifications and the difference between the source codes are associated with each other, and the result of the association is presented.

なお同目的は、上記の各構成を有する差分対応付け方法を、コンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。   This object is also achieved by a computer program that realizes the difference association method having the above-described configurations by a computer, and a computer-readable storage medium that stores the computer program.

本願発明によれば、情報処理装置において、ソースコードと仕様書の変更の妥当性の確認を、効率的かつ確実に行うことできるという効果が得られる。   According to the present invention, it is possible to obtain an effect that the validity of the change of the source code and the specification can be confirmed efficiently and reliably in the information processing apparatus.

本発明の第1の実施形態に係る情報処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the information processing apparatus which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る情報処理装置が取得する変更前ソースコードおよび変更後ソースコードの一例を示す図である。It is a figure which shows an example of the source code before a change and the source code after a change which the information processing apparatus which concerns on the 1st Embodiment of this invention acquires. 本発明の第1の実施形態に係る情報処理装置が取得する変更前仕様書および変更後仕様書の一例を示す図である。It is a figure which shows an example of the specification before change and the specification after change which the information processing apparatus which concerns on the 1st Embodiment of this invention acquires. 本発明の第1の実施形態に係る情報処理装置の差分対応推定部による対応付け動作の詳細について説明するフローチャートである。It is a flowchart explaining the detail of the matching operation | movement by the difference corresponding | compatible estimation part of the information processing apparatus which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る情報処理装置が抽出した差分と差分に関連するキーワード示す図である。It is a figure which shows the keyword relevant to the difference and the difference which the information processing apparatus which concerns on the 1st Embodiment of this invention extracted. 本発明の第1の実施形態に係る情報処理装置が抽出したキーワードに関するスコアの算出について説明する図である。It is a figure explaining calculation of the score regarding the keyword extracted by the information processing apparatus which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る情報処理装置によるソースコード差分と仕様書差分との関連度の算出結果の例(a)と、ソースコード差分と仕様書差分との対応関係を模式的に示す例(b)である。An example (a) of a calculation result of a degree of association between a source code difference and a specification difference by the information processing apparatus according to the first embodiment of the present invention and a correspondence relationship between the source code difference and the specification difference are schematically illustrated. It is an example (b) shown. 本発明の第1の実施形態に係る情報処理装置が提示する対応情報付き差分一覧の例(a)と、対応なし差分一覧の例(b)である。It is an example (a) of a difference list with correspondence information and an example (b) of a difference list with no correspondence presented by the information processing apparatus according to the first embodiment of the present invention. 本発明の第2の実施形態に係る情報処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the information processing apparatus which concerns on the 2nd Embodiment of this invention. 各実施形態に係る情報処理装置のハードウエア構成を例示する図である。It is a figure which illustrates the hardware constitutions of the information processing apparatus which concerns on each embodiment.

以下、本発明の実施形態について図面を参照して詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

第1の実施形態
図1は、本発明の第1の実施形態に係る情報処理装置100の構成を示すブロック図である。図1に示すように、情報処理装置100は、ソースコード比較部110、ソースコード差分解析部120、仕様書比較部130、仕様書差分解析部140および差分対応推定部150を備える。
First Embodiment FIG. 1 is a block diagram showing a configuration of an information processing apparatus 100 according to a first embodiment of the present invention. As illustrated in FIG. 1, the information processing apparatus 100 includes a source code comparison unit 110, a source code difference analysis unit 120, a specification comparison unit 130, a specification difference analysis unit 140, and a difference correspondence estimation unit 150.

情報処理装置100は、仕様書の変更とソースコードの変更が妥当であるか、すなわち、仕様書の各変更箇所とソースコードの各変更箇所とが、互いに対応付けられるかを判断する。そして、情報処理装置100は、上記対応付けられる変更に関する情報(対応情報付き差分一覧)と、対応付けのない変更に関する情報(対応なし差分一覧)とを含む情報180を、表示部(不図示)を介して提示する。   The information processing apparatus 100 determines whether the change of the specification and the change of the source code are appropriate, that is, whether each changed part of the specification and each changed part of the source code are associated with each other. Then, the information processing apparatus 100 displays information 180 including information on the associated changes (difference list with correspondence information) and information on changes without association (difference list without correspondence) on a display unit (not shown). Present through.

対応情報付き差分一覧は、変更前後のソースコードの差分の一覧と、変更前後の仕様書の差分の一覧とを含む。対応情報付き差分一覧は、さらに、ソースコードの各差分に対応付けられる仕様書の差分を、仕様書の各差分に対応付けられるソースコードの差分を、それぞれ辿ることのできる情報を含んでもよい。   The difference list with correspondence information includes a source code difference list before and after the change and a specification difference list before and after the change. The difference list with correspondence information may further include information that can trace a difference in the specification associated with each difference in the source code and a difference in the source code associated with each difference in the specification.

対応なし差分一覧は、対応付けられる仕様書の差分がないソースコードの差分の一覧、および対応付けられるソースコードの差分がない仕様書の差分の一覧を含む。対応けられる仕様書の差分がないソースコードの差分は、要件にないソースコードの変更あるいは仕様書の記載漏れ等の虞がある。対応付けられるソースコードの差分がない仕様書の差分は、ソースコードの変更漏れあるいは仕様書の記載誤り等の虞がある。情報処理装置100は、これらの一覧を、警告として提示してもよい。   The non-corresponding difference list includes a list of source code differences that do not have associated specification differences and a specification difference list that does not have associated source code differences. Differences in source code that do not have differences in supported specifications may cause changes in source code that are not required, or omissions in specifications. Differences in specifications that do not have corresponding source code differences may result in missing source code changes or incorrect specifications. The information processing apparatus 100 may present these lists as warnings.

情報処理装置100は、ソースコード比較部110において、変更前ソースコード161と変更後ソースコード162とを取得する。また、情報処理装置100は、仕様書比較部130において、変更前仕様書171と変更後仕様書172とを取得する。変更前ソースコード161と変更前仕様書171、および変更後ソースコード162と変更後仕様書172とは、それぞれ互いに因果関係を有する。すなわち、変更前ソースコード161および変更後ソースコード162は、それぞれ変更前仕様書171および変更後仕様書172に基づいて作成される。   In the information processing apparatus 100, the source code comparison unit 110 acquires the pre-change source code 161 and the post-change source code 162. In addition, the information processing apparatus 100 acquires the pre-change specification 171 and the post-change specification 172 in the specification comparison unit 130. The pre-change source code 161 and the pre-change specification 171, and the post-change source code 162 and the post-change specification 172 have a causal relationship with each other. That is, the source code 161 before change and the source code 162 after change are created based on the specification before change 171 and the specification after change 172, respectively.

図1に示す情報処理装置100の各構成要素の概要を説明する。   An outline of each component of the information processing apparatus 100 illustrated in FIG. 1 will be described.

ソースコード比較部110は、変更前ソースコード161および変更後ソースコード162を取得し、通常のテキスト比較処理により、変更前後のソースコードの差分を抽出する。   The source code comparison unit 110 acquires the source code 161 before change and the source code 162 after change, and extracts a difference between the source codes before and after the change by a normal text comparison process.

ソースコード差分解析部120は、変更後ソースコード162に対して構文解析処理を行い、各変更箇所に関連する関数名、データ名、コメントなどの情報を、キーワードとして抽出する。   The source code difference analysis unit 120 performs a syntax analysis process on the changed source code 162 and extracts information such as a function name, a data name, and a comment related to each changed part as a keyword.

仕様書比較部130は、変更前仕様書171および変更後仕様書172を取得し、通常の文書比較処理により、変更前後の仕様書の差分を抽出する。   The specification comparison unit 130 acquires the pre-change specification 171 and the post-change specification 172, and extracts the difference between the specifications before and after the change by a normal document comparison process.

仕様書差分解析部140は、変更後仕様書172に対して文書構造解析処理および自然言語解析処理を行い、章節見出しや段落等の文書構造を検出し、各変更箇所の章節見出しや本文からキーワードを抽出する。   The specification difference analysis unit 140 performs document structure analysis processing and natural language analysis processing on the changed specification 172, detects the document structure such as a chapter heading and a paragraph, and extracts a keyword from the section heading and the text of each changed portion. To extract.

差分対応推定部150は、上述のように抽出されたソースコードの各変更箇所と仕様書の各変更箇所の対について、抽出されたキーワードの突き合わせを行い、ソースコードの変更箇所と仕様書の変更箇所の関連度を算出する。そして、差分対応推定部150は、算出した関連度が所定の基準より高い場合、そのソースコードの変更箇所と仕様書の変更箇所は、対応付けられる(対応関係にある)と推定する。   The difference correspondence estimation unit 150 matches the extracted keywords with respect to the pair of each changed portion of the source code extracted as described above and each changed portion of the specification, and changes the changed portion of the source code and the specification. Calculate the relevance of the location. Then, when the calculated relevance is higher than a predetermined reference, the difference correspondence estimation unit 150 estimates that the changed portion of the source code and the changed portion of the specification are associated (corresponding to each other).

図2は、変更前ソースコード161および変更後ソースコード162の一例を示す図である。また、図3は、変更前ソースコード161および変更後ソースコード162とそれぞれ因果関係をもつ変更前仕様書171および変更後仕様書172の一例を示す図である。   FIG. 2 is a diagram illustrating an example of the source code 161 before change and the source code 162 after change. FIG. 3 is a diagram illustrating an example of the pre-change specification 171 and the post-change specification 172 having a causal relationship with the pre-change source code 161 and the post-change source code 162, respectively.

図2、図3に示す例において、「機能A」の処理および「機能B」の「処理1」と「処理2」の内容が変更されたと仮定する。またこの例では、「機能B」の「処理1」と「処理2」には、いずれも、「○○テーブル」が関わっている。ソースコードにおける「funcA」は仕様書における「機能A」に、「funcB」は「機能B」に、「XXXTable」は「○○テーブル」に、それぞれ対応する。また、「funcB」に関するソースコードにはふたつのブロックがあり、ひとつ目のブロック(図2において「a」で示す)は「処理1」に、ふたつ目のブロック(図2において「b」で示す)は処理2に、それぞれ対応する(ただし、本実施形態では、これらの対応関係を単なるテキスト情報から機械的に判断するのは困難であることを前提としている)。   In the example shown in FIGS. 2 and 3, it is assumed that the processing of “function A” and the contents of “processing 1” and “processing 2” of “function B” are changed. In this example, “Process 1” and “Process 2” of “Function B” are both related to “XX table”. “FuncA” in the source code corresponds to “function A”, “funcB” corresponds to “function B”, and “XXXTable” corresponds to “XX table” in the specification. The source code for “funcB” has two blocks. The first block (indicated by “a” in FIG. 2) is designated as “Process 1”, and the second block (indicated by “b” in FIG. 2). ) Corresponds to processing 2 respectively (however, in the present embodiment, it is assumed that it is difficult to mechanically determine these correspondences from simple text information).

したがって、情報処理装置100により、以下のような対応付けが行われることが、本実施形態の求める結果である。すなわち、仕様書の「機能A」に対する変更とソースコードの「funcA」に対する変更とが対応付けられる。また、仕様書の「機能B」の「処理1」に対する変更と、ソースコードの「XXXTable」に対する変更および「funcB」のひとつ目のブロックに対する変更と、が対応付けられる。さらに、仕様書の「機能B」の「処理2」に対する変更と、ソースコードの「XXXTable」に対する変更および「funcB」のふたつ目のブロックに対する変更と、が対応付けられる。   Accordingly, the result obtained in the present embodiment is that the information processing apparatus 100 performs the following association. That is, the change to “function A” in the specification is associated with the change to “funcA” in the source code. Also, a change to “Process 1” of “Function B” in the specification is associated with a change to “XXXTable” of the source code and a change to the first block of “funcB”. Furthermore, a change to “Process 2” of “Function B” in the specification is associated with a change to “XXXTable” of the source code and a change to the second block of “funcB”.

図4は、情報処理装置100が上記対応付けを行う動作の詳細について説明するフローチャートである。図2乃至図4を参照して、情報処理装置100における上記対応付けの動作について説明する。   FIG. 4 is a flowchart illustrating details of the operation in which the information processing apparatus 100 performs the association. With reference to FIGS. 2 to 4, the association operation in the information processing apparatus 100 will be described.

図2に示すように、変更前ソースコード161において、c,d,e,fに示す4か所が変更されたと仮定する。また、図3に示すように、変更前仕様書171において、g,h,iに示す3か所が変更されたと仮定する。   As shown in FIG. 2, it is assumed that the four locations indicated by c, d, e, and f are changed in the source code 161 before the change. Further, as shown in FIG. 3, it is assumed that three locations indicated by g, h, and i are changed in the pre-change specification 171.

ソースコード比較部110は、変更前ソースコード161および変更後ソースコード162を取得して、通常のテキスト比較処理により、図2のc,d,e,fに示す変更を検出すると共に、それぞれを番号1,2,3,4を有するソースコード差分(以降、それぞれソースコード差分1,2,3,4と称する)として抽出する(S101)。   The source code comparison unit 110 acquires the source code 161 before change and the source code 162 after change, detects changes indicated by c, d, e, and f in FIG. Source code differences having numbers 1, 2, 3, and 4 (hereinafter referred to as source code differences 1, 2, 3, and 4) are extracted (S101).

続いて、ソースコード差分解析部120は、変更後ソースコード162に対して構文解析処理を行い、変更箇所が属しているデータ、関数、ブロックの情報およびその前後に挿入されているコメント等を、キーワードとして抽出する(S102)。   Subsequently, the source code difference analysis unit 120 performs a syntax analysis process on the changed source code 162, and includes data, functions, block information to which the changed part belongs, comments inserted before and after the data, and the like. It extracts as a keyword (S102).

図2には、ソースコード差分解析部120による構文解析処理の結果、変更箇所c,d,e,fに関して抽出されたキーワードを破線で囲むことで示している。例えば、変更箇所cに関して、「/*○○テーブル*/」、「XXXTable」がキーワードとして抽出されている。ソースコード差分解析部120は、これら抽出したキーワードをソースコード差分1と関連付けて保持する。   In FIG. 2, keywords extracted as a result of the syntax analysis processing by the source code difference analysis unit 120 regarding the changed portions c, d, e, and f are shown by surrounding them with broken lines. For example, with respect to the changed part c, “/ * OO table * /” and “XXXTable” are extracted as keywords. The source code difference analysis unit 120 holds these extracted keywords in association with the source code difference 1.

同様に、ソースコード差分解析部120は、変更箇所dに関して、「funcA()」をキーワードとして抽出すると共に、そのキーワードをソースコード差分2と関連付けて保持する。また、ソースコード差分解析部120は、変更箇所eに関して、「funcB()」、「//機能B」、「/*処理1*/」をキーワードとして抽出すると共に、それらキーワードをソースコード差分3と関連付けて保持する。   Similarly, the source code difference analysis unit 120 extracts “funcA ()” as a keyword for the changed portion d, and holds the keyword in association with the source code difference 2. In addition, the source code difference analysis unit 120 extracts “funcB ()”, “// function B”, and “/ * process 1 * /” as keywords with respect to the changed part e, and the source code difference 3 Keep it associated with.

さらに、ソースコード差分解析部120は、変更箇所fに関して、その変更箇所fが属する「funcB()」、「//機能B」と、「/*処理2*/」をキーワードとして抽出すると共に、それらキーワードをソースコード差分4と関連付けて保持する。   Further, the source code difference analysis unit 120 extracts “funcB ()”, “// function B”, and “/ * processing 2 * /” to which the changed part f belongs as keywords for the changed part f, These keywords are stored in association with the source code difference 4.

図5に、ソースコード比較部110が抽出したソースコード差分1乃至4と、それらソースコード差分1乃至4に関連してソースコード差分解析部120が抽出したキーワードとを示す。   FIG. 5 shows source code differences 1 to 4 extracted by the source code comparison unit 110 and keywords extracted by the source code difference analysis unit 120 in relation to the source code differences 1 to 4.

一方、仕様書比較部130は、変更前仕様書171および変更後仕様書172を取得して、通常の文書比較処理により、図3のg,h,iに示す変更を検出すると共に、それぞれを番号1,2,3を有する仕様書差分(以降、それぞれ仕様書差分1,2,3と称する)として抽出する(S103)。   On the other hand, the specification comparison unit 130 acquires the pre-change specification 171 and the post-change specification 172, detects changes indicated by g, h, and i in FIG. It is extracted as a specification difference having numbers 1, 2, 3 (hereinafter referred to as specification difference 1, 2, 3 respectively) (S103).

続いて、仕様書差分解析部140は、変更後仕様書172に対して、仕様書の文書構造に基づき、変更箇所が属している章節の見出しおよび本文に対して自然言語解析処理を行うことより、関連するキーワードを抽出する(S104)。   Subsequently, the specification difference analysis unit 140 performs a natural language analysis process on the post-change specification 172 based on the document structure of the specification, with respect to the heading and body of the chapter to which the changed portion belongs. The related keywords are extracted (S104).

図3には、仕様書差分解析部140による自然言語解析処理の結果、変更箇所g,h,iに関して抽出されたキーワードを破線で囲むことで示している。例えば、変更箇所gに関して、「機能B」、「処理1」、「○○テーブル」がキーワードとして抽出されている。仕様書差分解析部140は、これら抽出したキーワードを仕様書差分1と関連付けて保持する。   In FIG. 3, keywords extracted as a result of the natural language analysis processing by the specification difference analysis unit 140 with respect to the changed portions g, h, i are surrounded by a broken line. For example, “function B”, “processing 1”, and “XX table” are extracted as keywords for the changed portion g. The specification difference analysis unit 140 stores these extracted keywords in association with the specification difference 1.

同様に、仕様書差分解析部140は、変更箇所hに関して、その変更箇所hが属する「機能B」と、「処理2」、「XXXTable」をキーワードとして抽出すると共に、それらキーワードを仕様書差分2と関連付けて保持する。また、仕様書差分解析部140は、変更箇所iに関して、「機能A」、「funcA」をキーワードとして抽出すると共に、そのキーワードを仕様書差分3と関連付けて保持する。   Similarly, the specification difference analysis unit 140 extracts “function B”, “processing 2”, and “XXXTable” to which the changed portion h belongs as keywords for the changed portion h, and uses these keywords as the specification difference 2 Keep it associated with. Further, the specification difference analysis unit 140 extracts “function A” and “func A” as keywords for the changed portion i, and holds the keywords in association with the specification difference 3.

図5には、仕様書比較部130が抽出した仕様書差分1乃至3と、それら仕様書差分1乃至3に関連して仕様書差分解析部140が抽出したキーワードとを示す。   FIG. 5 shows specification difference 1 to 3 extracted by the specification comparison unit 130 and keywords extracted by the specification difference analysis unit 140 in relation to the specification difference 1 to 3.

なお、変更と関連性の少ない単語をキーワードとして抽出してしまうことを防ぐため、仕様書差分解析部140は、変更と関連度が高いと判断されるキーワードを抽出してもよい。図6は、キーワードに関するスコアの算出について説明する図である。仕様書差分解析部140は、仕様書における各語の重要度、例えば、図6に示すように、仕様書における見出し中の語、ソースコード中の識別子と考えられる語、出現頻度の高い語に対して、重み付けを与えたスコアを算出する。そして、仕様書差分解析部140は、所定の基準よりも高いスコアを有する語を、キーワードとして抽出してもよい。ここでは、仕様書差分解析部140は、例えばスコアが、「40」以上の語をキーワードとして抽出している。   Note that the specification difference analysis unit 140 may extract a keyword that is determined to have a high degree of association with the change in order to prevent a word that is less relevant to the change from being extracted as a keyword. FIG. 6 is a diagram for explaining calculation of a score related to a keyword. The specification difference analysis unit 140 determines the importance of each word in the specification, for example, the word in the headline in the specification, the word considered as the identifier in the source code, and the word with high appearance frequency as shown in FIG. On the other hand, a weighted score is calculated. And the specification difference analysis part 140 may extract the word which has a score higher than a predetermined reference | standard as a keyword. Here, the specification difference analysis unit 140 extracts words having a score of “40” or more as keywords, for example.

続いて、差分対応推定部150は、ソースコード差分解析部120により抽出されたキーワードと、仕様書差分解析部140により抽出されたキーワードとを突き合わせることにより、ソースコード差分および仕様書差分の対応関係を推定する(S105)。   Subsequently, the difference correspondence estimation unit 150 matches the source code difference and the specification difference by matching the keyword extracted by the source code difference analysis unit 120 with the keyword extracted by the specification difference analysis unit 140. The relationship is estimated (S105).

図7は、差分対応推定部150によるソースコード差分と仕様書差分との関連度の算出結果の例を示す図7(a)と、ソースコード差分と仕様書差分との対応関係を模式的に示す図7(b)である。差分対応推定部150は、ソースコード差分1乃至4それぞれに含まれるキーワードと、仕様書差分1乃至3それぞれに含まれるキーワードとの突き合わせを行い、一致するキーワードの割合に基づいて関連度を算出する。さらに、差分対応推定部150は、図6に示したスコア等を用いてキーワードに重み付けを与えて関連度を算出してもよい。   FIG. 7 schematically shows the correspondence between the source code difference and the specification difference, and FIG. 7A showing an example of the calculation result of the relevance between the source code difference and the specification difference by the difference correspondence estimation unit 150. It is FIG.7 (b) shown. The difference correspondence estimation unit 150 matches the keywords included in the source code differences 1 to 4 with the keywords included in the specification differences 1 to 3, respectively, and calculates the degree of association based on the ratio of the matching keywords. . Furthermore, the difference correspondence estimation unit 150 may calculate the degree of association by weighting the keywords using the scores shown in FIG.

図7(b)では、対応関係にある仕様書差分とソースコード差分とを実線で結んで示す。図7(b)に示すように、例えば仕様書差分1とソースコード差分1とでは、「○○テーブル」というキーワードが一致している。また、図6に示すように、「○○テーブル」というキーワードのスコアは「40」である。これらを元に、差分対応推定部150は、図7(a)に示すように、仕様書差分1とソースコード差分1との関連度を「80」と算出している。   In FIG. 7B, the specification difference and the source code difference that are in a correspondence relationship are shown connected by a solid line. As shown in FIG. 7B, for example, in the specification difference 1 and the source code difference 1, the keyword “XX table” matches. Further, as shown in FIG. 6, the score of the keyword “XX table” is “40”. Based on these, the difference correspondence estimation unit 150 calculates the degree of association between the specification difference 1 and the source code difference 1 as “80” as shown in FIG.

同様に、例えば、仕様書差分3とソースコード差分2とでは、「funcA」というキーワードが一致している。また、図6に示すように、「funcA」というキーワードのスコアは「66」である。これらを元に、差分対応推定部150は、図7(a)に示すように、仕様書差分3とソースコード差分2との関連度を「95」と算出している。   Similarly, for example, in the specification difference 3 and the source code difference 2, the keyword “funcA” matches. Also, as shown in FIG. 6, the score of the keyword “funcA” is “66”. Based on these, the difference correspondence estimation unit 150 calculates the degree of association between the specification difference 3 and the source code difference 2 as “95” as shown in FIG.

差分対応推定部150は、上述のように、図7(a)に示す仕様書差分とソースコード差分のすべての対について関連度を算出する。   As described above, the difference correspondence estimation unit 150 calculates the degree of association for all pairs of the specification difference and the source code difference shown in FIG.

ここで、「処理1」と「処理2」については、いずれも機能Bに含まれる。よって、ソースコードにおける「処理1」と仕様書における「処理2」の対や、ソースコードにおける「処理2」と仕様書における「処理1」の対は、それぞれ対応付けは薄いが、関連が発生している。すなわち、ソースコード差分3と仕様書差分2との対、ソースコード差分4と仕様書差分1との対には、関連度が「30」と算出されている。そこで、差分対応推定部150は、関連度について、対応付けられるとみなす所定の基準を設け、基準を満たさない関連度を有する対は、対応関係から除外してもよい。   Here, “Process 1” and “Process 2” are both included in the function B. Therefore, the “Process 1” pair in the source code and the “Process 2” pair in the specification, and the “Process 2” pair in the source code and the “Process 1” pair in the specification are not closely associated with each other. doing. That is, the degree of association is calculated as “30” for the pair of the source code difference 3 and the specification difference 2 and the pair of the source code difference 4 and the specification difference 1. Therefore, the difference correspondence estimation unit 150 may set a predetermined reference that is regarded as being associated with the degree of association, and may exclude a pair having a degree of association that does not satisfy the reference from the correspondence.

図8は、差分対応推定部150が提示する対応情報付き差分一覧(a)と、対応なし差分一覧(b)示す図である。図8に示すように、差分対応推定部150は、対応情報付き差分一覧として、仕様書差分の一覧とソースコード差分の一覧に加えて、ソースコードの各差分から対応している仕様書の差分を、仕様書の各差分から対応しているソースコードの差分を、それぞれ辿ることのできる情報(対応関係)を提示する(S106)。   FIG. 8 is a diagram illustrating a difference list with correspondence information (a) and a difference list without correspondence (b) presented by the difference correspondence estimation unit 150. As shown in FIG. 8, the difference correspondence estimation unit 150 adds a difference between specifications corresponding to each difference of source code in addition to a list of specification differences and a list of source code differences as a difference list with correspondence information. The information (correspondence relationship) that can trace the difference of the corresponding source code from each difference of the specification is presented (S106).

上記例では、すべての仕様書差分とソースコード差分が、それぞれ対応関係のあるソースコード差分と仕様書差分を有する場合について説明したが、対応関係のあるソースコード差分または仕様書差分がない場合、差分対応推定部150は、警告を提示する。すなわち、差分対応推定部150は、対応付けられるソースコード差分のない仕様書差分、または対応付けられる仕様書差分のないソースコード差分を、対応なし差分一覧として提示する。図8(b)は、仕様書差分4が、対応付けられるソースコード差分なしとして、「要確認」の警告と共に提示される例を示す。   In the above example, all the specification differences and source code differences have been described as having a corresponding source code difference and specification difference, respectively, but if there is no corresponding source code difference or specification difference, The difference correspondence estimation unit 150 presents a warning. That is, the difference correspondence estimation unit 150 presents specification differences without associated source code differences or source code differences without associated specification difference as an uncorresponding difference list. FIG. 8B shows an example in which the specification difference 4 is presented together with a “confirmation required” warning that there is no corresponding source code difference.

ここで、実装に関する記載が仕様書に少ない場合や、ソースコードへの適切なコメントの記載が少ない場合、仕様書の差分とソースコードの差分との対応付けの精度が悪くなり、本来対応関係にある差分同士が対応なし差分一覧に含まれてしまう虞がある。これを防ぐため、開発者は、仕様と実装を結び付ける記載やコメントを追加することで、対応付けの精度を上げることができる。対応付けの精度の向上のために対応付けに用いられる情報を追加することは、開発者にとっても変更内容の把握に際し有効である。   Here, when there are few descriptions about the implementation in the specifications, or when there are few descriptions of appropriate comments in the source code, the accuracy of the correspondence between the differences in the specifications and the differences in the source code deteriorates, and the correspondence is inherently There is a possibility that certain differences may be included in the uncorresponding difference list. In order to prevent this, the developer can improve the accuracy of the association by adding a description or comment that links the specification and the implementation. Adding information used for association for improving the accuracy of association is also effective for the developer in grasping the contents of change.

また、情報処理装置100に適用される仕様書やソースコードは、特定のコーディングルールや仕様書フォーマットに限定されない。ただし、コーディングルールや、仕様書フォーマットを定めることにより、仕様書差分とソースコード差分の対応付けの精度をより高めることができる。   Further, the specification and source code applied to the information processing apparatus 100 are not limited to a specific coding rule or specification format. However, the accuracy of associating the specification difference with the source code difference can be further improved by defining the coding rule and the specification format.

以上のように、本第1の実施形態によれば、情報処理装置100は、ソースコードの変更箇所(差分)に関連するキーワードを抽出すると共に、仕様書の変更箇所(差分)に関連するキーワードを抽出する。そして、情報処理装置100は、ソースコードの変更箇所に関連するキーワードと、仕様書の変更箇所に関連するキーワードとを突き合わせることにより、各差分の関連度を算出すると共に、関連度が高いと判定される差分の対応関係を示す情報を提示する。情報処理装置100は、また、対応付けられるソースコード差分または仕様書差分がない差分については、警告として提示する。   As described above, according to the first embodiment, the information processing apparatus 100 extracts a keyword related to the changed portion (difference) of the source code and also uses a keyword related to the changed portion (difference) of the specification. To extract. Then, the information processing apparatus 100 calculates the relevance level of each difference by matching the keyword related to the change location of the source code with the keyword related to the change location of the specification, and the relevance level is high. Information indicating the correspondence of the determined difference is presented. The information processing apparatus 100 also presents a difference that has no associated source code difference or specification difference as a warning.

上記構成を採用することにより、本第1の実施形態によれば、仕様書に対して行われた変更のソースコードへの反映漏れ、または仕様書に記載のないソースコードの変更の混在を、効率的かつ確実に(見落としなく)確認できるという効果が得られる。   By adopting the above configuration, according to the first embodiment, the reflection of the change made to the specification document to the source code is not reflected, or the change of the source code not described in the specification document is mixed. The effect that it can confirm efficiently and reliably (without oversight) is acquired.

また、対応付けに用いられる情報が仕様書またはソースコードに少ない場合、仕様書やソースコードの変更漏れや誤り等と共にこれらの情報を開発者に提示する。これにより、必要なコメント等の仕様書またはソースコードへの追加を促すこととなるので、開発者にとってより保守性の高い仕様書またはソースコードを作成することができるという効果が得られる。   In addition, when the information used for association is small in the specification or source code, the information is presented to the developer together with omissions or errors in the specification or source code. This prompts the addition of necessary comments or the like to the specification or source code, so that it is possible to create a specification or source code that is more maintainable for the developer.

第2の実施形態
図9は、本発明の第2の実施形態に係る情報処理装置200の構成を示すブロック図である。上述の第1の実施形態における情報処理装置100は、第2の実施形態における情報処理装置100を基本としている。
Second Embodiment FIG. 9 is a block diagram showing a configuration of an information processing apparatus 200 according to a second embodiment of the present invention. The information processing apparatus 100 in the first embodiment described above is based on the information processing apparatus 100 in the second embodiment.

図9に示すように、情報処理装置200は、仕様書差分解析部210、ソースコード差分解析部220および差分対応付け部230を備える。   As illustrated in FIG. 9, the information processing apparatus 200 includes a specification difference analysis unit 210, a source code difference analysis unit 220, and a difference association unit 230.

仕様書差分解析部210は、変更前の仕様書と変更後の仕様書の差分を抽出すると共に、仕様書に対して解析処理を行うことにより、抽出した差分に関連するキーワードを抽出する。   The specification difference analysis unit 210 extracts a difference between the specification before the change and the specification after the change, and extracts a keyword related to the extracted difference by performing an analysis process on the specification.

ソースコード差分解析部220は、仕様書に基づいて作成される、変更前のソースコードと変更後のソースコードの差分を抽出すると共に、ソースコードに対して解析処理を行うことにより、抽出した差分に関連するキーワードを抽出する。   The source code difference analysis unit 220 extracts the difference between the source code before the change and the source code after the change, which is created based on the specification, and performs an analysis process on the source code to extract the difference Extract keywords related to.

差分対応付け部230は、抽出された仕様書の差分に関連するキーワードと、抽出されたソースコードの差分に関連するキーワードとの関連度に基づいて、仕様書の差分とソースコードの差分とを対応付けると共に、当該対応付けの結果を提示する。なお、差分対応付け部230は、上記第1の実施形態における差分対応推定部150に相当する。   The difference associating unit 230 calculates the difference between the specification and the source code based on the degree of association between the keyword related to the extracted specification difference and the keyword related to the extracted source code difference. At the same time, the result of the association is presented. The difference association unit 230 corresponds to the difference correspondence estimation unit 150 in the first embodiment.

上記構成を採用することにより、本第1の実施形態によれば、差分対応付け部230が、変更前後のソースコード差分と仕様書差分とを突き合わせることより対応付けを行うので、ソースコードと仕様書の変更の妥当性の確認を、効率的かつ正確に行うことができるという効果が得られる。   By adopting the above configuration, according to the first embodiment, the difference association unit 230 performs association by matching the source code difference before and after the change with the specification difference, so that the source code and The effect that the validity of the change of the specification document can be confirmed efficiently and accurately is obtained.

なお、図1等に示した情報処理装置の各部は、図10に例示するハードウエア資源において実現される。すなわち、図10に示す構成は、プロセッサ50、RAM(Random Access Memory)51、ROM(Read Only Memory)52、外部接続インタフェース53および記憶装置54を備える。   Note that each unit of the information processing apparatus illustrated in FIG. 1 and the like is realized by hardware resources illustrated in FIG. That is, the configuration shown in FIG. 10 includes a processor 50, a RAM (Random Access Memory) 51, a ROM (Read Only Memory) 52, an external connection interface 53, and a storage device 54.

図1等に示した情報処理装置における各ブロックに示す機能は、図10に示すプロセッサ50がROM52または記憶装置54に記憶された各種ソフトウエア・プログラム(コンピュータ・プログラム)を、RAM51に読み出して実行することにより、実現されてもよい。あるいは、図1等に示した各ブロックに示す機能は、一部または全部を、ハードウエアとして実現してもよい。   The functions shown in each block in the information processing apparatus shown in FIG. 1 and the like are executed by the processor 50 shown in FIG. 10 reading various software programs (computer programs) stored in the ROM 52 or the storage device 54 to the RAM 51. By doing so, it may be realized. Alternatively, some or all of the functions shown in each block shown in FIG. 1 and the like may be realized as hardware.

また、各実施形態を例に説明した本発明は、情報処理装置に対して、上記説明した機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、プロセッサ50がRAM51に読み出して実行することによって達成される。   Further, in the present invention described by taking each embodiment as an example, after a computer program capable of realizing the functions described above is supplied to the information processing apparatus, the processor 50 reads the computer program into the RAM 51. Achieved by executing.

係る供給されたコンピュータ・プログラムは、読み書き可能なメモリ(一時記憶媒体)またはハードディスク装置等のコンピュータ読み取り可能な記憶デバイスに格納すればよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムを表すコード或いは係るコンピュータ・プログラムを格納した記憶媒体によって構成されると捉えることができる。   The supplied computer program may be stored in a computer-readable storage device such as a readable / writable memory (temporary storage medium) or a hard disk device. In such a case, the present invention can be understood as being configured by a code representing the computer program or a storage medium storing the computer program.

50 プロセッサ
51 RAM
52 ROM
53 外部接続インタフェース
54 記憶装置
100、200 情報処理装置
110 ソースコード比較部
120 ソースコード差分解析部
130 仕様書比較部
140 仕様書差分解析部
150 差分対応推定部
161 変更前ソースコード
162 変更後ソースコード
171 変更前仕様書
172 変更後仕様書
180 情報
200 情報処理装置
210 仕様書差分解析部
220 ソースコード差分解析部
230 差分対応付け部
50 processor 51 RAM
52 ROM
53 External connection interface 54 Storage device 100, 200 Information processing device 110 Source code comparison unit 120 Source code difference analysis unit 130 Specification comparison unit 140 Specification difference analysis unit 150 Difference correspondence estimation unit 161 Source code 162 before change Source code after change 171 Specification before change 172 Specification after change 180 Information 200 Information processing device 210 Specification difference analysis unit 220 Source code difference analysis unit 230 Difference association unit

Claims (8)

変更前の仕様書と変更後の前記仕様書の差分を抽出すると共に、前記仕様書に対して解析処理を行うことにより、前記抽出した前記差分に関連するキーワードを抽出する仕様書差分解析手段と、
前記仕様書に基づいて作成される、変更前のソースコードと変更後の前記ソースコードの差分を抽出すると共に、前記ソースコードに対して解析処理を行うことにより、前記抽出した前記差分に関連するキーワードを抽出するソースコード差分解析手段と、
前記抽出された前記仕様書の前記差分に関連する前記キーワードと、前記抽出された前記ソースコードの前記差分に関連する前記キーワードとの関連度に基づいて、前記仕様書の前記差分と前記ソースコードの前記差分とを対応付けると共に、当該対応付けの結果を提示する差分対応付け手段と
を備えた情報処理装置。
A specification difference analysis means for extracting a keyword related to the extracted difference by extracting a difference between the specification before the change and the specification after the change and performing an analysis process on the specification; ,
Extracting the difference between the source code before the change and the source code after the change, which is created based on the specifications, and performing analysis processing on the source code, thereby relating to the extracted difference Source code difference analysis means for extracting keywords;
Based on the degree of association between the keyword related to the difference of the extracted specification and the keyword related to the difference of the extracted source code, the difference of the specification and the source code An information processing apparatus comprising: a difference association unit that associates the difference with each other and presents a result of the association.
前記差分対応付け手段は、前記抽出された前記仕様書の前記差分に関連する前記キーワードと、前記抽出された前記ソースコードの前記差分に関連する前記キーワードが一致する割合に基づいて、前記仕様書の前記差分と前記ソースコードの前記差分との前記関連度を算出し、当該関連度が所定の基準を満たす前記仕様書の前記差分と前記ソースコードの前記差分とを対応付ける
請求項1記載の情報処理装置。
The difference associating means, based on a ratio of the keyword related to the difference of the extracted specification and the keyword related to the difference of the extracted source code, The information according to claim 1, wherein the degree of association between the difference between the source code and the difference between the source codes is calculated, and the difference between the specifications and the difference between the source codes are associated with the degree of association. Processing equipment.
前記差分対応付け手段は、前記対応付けられる前記仕様書の前記差分がない前記ソースコードの前記差分、または前記対応付けられる前記ソースコードの前記差分がない前記仕様書の前記差分を、対応なし情報として提示する
請求項1または請求項2記載の情報処理装置。
The difference associating means, the difference of the source code that does not have the difference of the associated specification, or the difference of the specification that does not have the difference of the associated source code, The information processing apparatus according to claim 1 or 2.
前記仕様書差分解析手段は、前記仕様書に対して文書構造解析処理および自然言語解析処理を行うことにより、前記仕様書に含まれる語の、当該仕様書における重要度に基づく重み付けを与えたスコアを算出すると共に、前記スコアが所定の基準を満たす語を前記キーワードとして抽出する
請求項1乃至請求項3のいずれか1項記載の情報処理装置。
The specification difference analysis means performs a document structure analysis process and a natural language analysis process on the specification, thereby giving a weight that is weighted based on the importance of the word included in the specification The information processing apparatus according to claim 1, wherein a word satisfying a predetermined criterion is extracted as the keyword.
前記ソースコード差分解析手段は、前記ソースコードに対して構文解析処理を行うことにより、前記差分に関連する関数名、データ名およびコメントの少なくともいずれかを、前記キーワードとして抽出する
請求項1乃至請求項4のいずれか1項記載の情報処理装置。
The source code difference analysis means extracts at least one of a function name, a data name, and a comment related to the difference as the keyword by performing a syntax analysis process on the source code. Item 5. The information processing device according to any one of items 4 to 4.
前記差分対応付け手段は、前記抽出された前記仕様書の前記差分に関連する前記キーワードと前記抽出された前記ソースコードの前記差分に関連する前記キーワードが一致する割合と、前記スコアとに基づいて、前記関連度を算出する
請求項4記載の情報処理装置。
The difference associating means is based on a ratio of the keyword related to the difference of the extracted specification and the keyword related to the difference of the extracted source code, and the score The information processing apparatus according to claim 4, wherein the degree of association is calculated.
変更前の仕様書と変更後の前記仕様書の差分を抽出すると共に、前記仕様書に対して解析処理を行うことにより、前記抽出した前記差分に関連するキーワードを抽出し、
前記仕様書に基づいて作成される、変更前のソースコードと変更後の前記ソースコードの差分を抽出すると共に、前記ソースコードに対して解析処理を行うことにより、前記抽出した前記差分に関連するキーワードを抽出し、
前記抽出された前記仕様書の前記差分に関連する前記キーワードと、前記抽出された前記ソースコードの前記差分に関連する前記キーワードとの関連度に基づいて、前記仕様書の前記差分と前記ソースコードの前記差分とを対応付けると共に、当該対応付けの結果を提示する
差分対応付け方法。
Extracting a difference between the specification before the change and the specification after the change, and performing an analysis process on the specification, thereby extracting a keyword related to the extracted difference,
Extracting the difference between the source code before the change and the source code after the change, which is created based on the specifications, and performing analysis processing on the source code, thereby relating to the extracted difference Extract keywords,
Based on the degree of association between the keyword related to the difference of the extracted specification and the keyword related to the difference of the extracted source code, the difference of the specification and the source code The difference correlation method of associating the difference and presenting the result of the correlation.
変更前の仕様書と変更後の前記仕様書の差分を抽出すると共に、前記仕様書に対して解析処理を行うことにより、前記抽出した前記差分に関連するキーワードを抽出する処理と、
前記仕様書に基づいて作成される、変更前のソースコードと変更後の前記ソースコードの差分を抽出すると共に、前記ソースコードに対して解析処理を行うことにより、前記抽出した前記差分に関連するキーワードを抽出する処理と、
前記抽出された前記仕様書の前記差分に関連する前記キーワードと、前記抽出された前記ソースコードの前記差分に関連する前記キーワードとの関連度に基づいて、前記仕様書の前記差分と前記ソースコードの前記差分とを対応付けると共に、当該対応付けの結果を提示する処理とを、
コンピュータに実行させる差分対応付けプログラム。
A process for extracting a keyword related to the extracted difference by extracting a difference between the specification before the change and the specification after the change, and performing an analysis process on the specification.
Extracting the difference between the source code before the change and the source code after the change, which is created based on the specifications, and performing analysis processing on the source code, thereby relating to the extracted difference Processing to extract keywords;
Based on the degree of association between the keyword related to the difference of the extracted specification and the keyword related to the difference of the extracted source code, the difference of the specification and the source code And the process of associating the difference and presenting the result of the association,
A difference matching program to be executed by a computer.
JP2015137090A 2015-07-08 2015-07-08 Information processing apparatus, difference association method, and difference association program Active JP6524827B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015137090A JP6524827B2 (en) 2015-07-08 2015-07-08 Information processing apparatus, difference association method, and difference association program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015137090A JP6524827B2 (en) 2015-07-08 2015-07-08 Information processing apparatus, difference association method, and difference association program

Publications (2)

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

Family

ID=57888155

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015137090A Active JP6524827B2 (en) 2015-07-08 2015-07-08 Information processing apparatus, difference association method, and difference association program

Country Status (1)

Country Link
JP (1) JP6524827B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008117066A (en) * 2006-11-01 2008-05-22 Hitachi Ltd Software development support method, software development support device, software development support program, and computer system
JP2013246644A (en) * 2012-05-25 2013-12-09 Mitsubishi Electric Corp Software object correction support device, software object correction support method and program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008117066A (en) * 2006-11-01 2008-05-22 Hitachi Ltd Software development support method, software development support device, software development support program, and computer system
JP2013246644A (en) * 2012-05-25 2013-12-09 Mitsubishi Electric Corp Software object correction support device, software object correction support method and program

Also Published As

Publication number Publication date
JP6524827B2 (en) 2019-06-05

Similar Documents

Publication Publication Date Title
US9389849B2 (en) Test case pattern matching
Arcuri et al. Black-box system testing of real-time embedded systems using random and search-based testing
US10248541B2 (en) Extraction of problem diagnostic knowledge from test cases
JP2017534944A (en) Conditional validation rules
US20100333073A1 (en) Systems and methods for automated generation of software tests based on modeling the software test domain
US9842139B1 (en) Metadata-driven program code generation for clinical data analysis
US11347864B2 (en) Ace: assurance, composed and explained
US8296254B2 (en) Data flow analyzing apparatus, data flow analyzing method and data flow analyzing program
Mahajan et al. Xfix: an automated tool for the repair of layout cross browser issues
Cleland-Huang et al. Achieving lightweight trustworthy traceability
US10372849B2 (en) Performing and communicating sheet metal simulations employing a combination of factors
US20140325490A1 (en) Classifying Source Code Using an Expertise Model
Lavoie et al. A case study of TTCN-3 test scripts clone analysis in an industrial telecommunication setting
JP2017021480A (en) Information processor, difference association method and difference association program
JP2016167180A (en) Debug support apparatus, debug support system, debug support method and debug support program
CN110674491B (en) Method and device for real-time evidence obtaining of android application and electronic equipment
JP6369269B2 (en) Verification support apparatus, verification support method, and computer program
US20220350730A1 (en) Test data generation apparatus, test data generation method and program
JP6369177B2 (en) Development support program, development support method, and development support apparatus
JP2017151594A (en) Supporting device, supporting method, and program
JP2015158769A (en) fault extraction support device
US20210089992A1 (en) Method for automated code reviewer recommendation
CN104793939A (en) Method for developing automatically-updated client software
US20130091423A1 (en) Method and Apparatus for Checking a Structure Conformity for a Piece Of Development Documentation with at Least One Development Document
Oliveira Automated analysis for process compliance

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