JP7370264B2 - Traceability management device, traceability management method, and traceability management program - Google Patents

Traceability management device, traceability management method, and traceability management program Download PDF

Info

Publication number
JP7370264B2
JP7370264B2 JP2020013274A JP2020013274A JP7370264B2 JP 7370264 B2 JP7370264 B2 JP 7370264B2 JP 2020013274 A JP2020013274 A JP 2020013274A JP 2020013274 A JP2020013274 A JP 2020013274A JP 7370264 B2 JP7370264 B2 JP 7370264B2
Authority
JP
Japan
Prior art keywords
traceability
information
mdm
missing
function
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
JP2020013274A
Other languages
Japanese (ja)
Other versions
JP2021119441A (en
Inventor
菜摘子 藤井
克浩 吉岡
智也 白川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2020013274A priority Critical patent/JP7370264B2/en
Publication of JP2021119441A publication Critical patent/JP2021119441A/en
Application granted granted Critical
Publication of JP7370264B2 publication Critical patent/JP7370264B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本開示は、ソフトウェア開発時などにおいてトレーサビリティ欠落候補を検出するトレーサビリティ管理装置、トレーサビリティ管理方法、及び、トレーサビリティ管理プログラムに関する。 The present disclosure relates to a traceability management device, a traceability management method, and a traceability management program that detect traceability missing candidates during software development.

ソフトウェア開発時におけるトレーサビリティ管理のために、仕様書やソースコードに記載した専用のタグ(識別文字列)に基づいてトレーサビリティ情報を取得し、当該トレーサビリティ情報をツリー形式や表形式で表示する技術が提案されている。 For traceability management during software development, a technology has been proposed that acquires traceability information based on special tags (identification character strings) written in specifications and source code, and displays the traceability information in tree or table format. has been done.

また、ソースコードやUML(Unified Modeling Language)を入力として、ソースコードやUMLの要素同士の依存関係を取得し、当該依存関係についてDSM(Design Structure Matrix)と呼ばれる表を作成する技術が提案されている。加えて、複数ドメインのDSMを連結してマトリクスを作成するMDM(Multi Domain Matrix)と呼ばれる概念が提案されている。このMDMでは、マトリクスの対角線上の領域に同一ドメインの要素同士の依存関係を示すDSMが配置され、それ以外の領域に異なるドメインの要素同士の対応関係を示すDMM(Domain Mapping Matrix)が配置される。 In addition, a technology has been proposed that takes source code or UML (Unified Modeling Language) as input, acquires the dependencies between elements of the source code or UML, and creates a table called a DSM (Design Structure Matrix) for the dependencies. There is. In addition, a concept called MDM (Multi Domain Matrix) has been proposed in which a matrix is created by connecting DSMs of multiple domains. In this MDM, a DSM that shows dependencies between elements of the same domain is placed in the diagonal area of the matrix, and a DMM (Domain Mapping Matrix) that shows the correspondence between elements of different domains is placed in other areas. Ru.

また、アーキテクチャの依存関係、ソースコードの依存関係及びトレーサビリティ情報を用いて、ソースコードのアーキテクチャ崩れを検出する技術が提案されている(例えば特許文献1)。それ以外にも、ソースコードの依存関係及びトレーサビリティ情報を用いて、ソフトウェア改造時の変更影響箇所を検出する技術が提案されている(例えば特許文献2)。 Furthermore, a technique has been proposed for detecting architecture collapse in source code using architecture dependencies, source code dependencies, and traceability information (for example, Patent Document 1). In addition to this, a technique has been proposed that uses source code dependencies and traceability information to detect locations affected by changes during software modification (for example, Patent Document 2).

特開2008-102831号公報Japanese Patent Application Publication No. 2008-102831 特開2016-110330号公報Japanese Patent Application Publication No. 2016-110330

従来のトレーサビリティ管理技術では、仕様書やソースコードに変更が発生した際に、手動でトレーサビリティ情報のタグを編集する必要がある。しかしながら、頻繁にソフトウェアの仕様変更が発生する開発では、タグの編集欠落によってトレーサビリティ情報の欠落が発生する可能性がある。トレーサビリティ情報の欠落が発生すると、仕様の理解にかかる時間が増加し、ソフトウェアの開発工数の増加の原因となる。また特許文献1及び特許文献2の技術では、トレーサビリティ情報の欠落を検出しておらず、ソフトウェアの開発者に検出作業が生じているという問題があった。 With conventional traceability management technology, it is necessary to manually edit traceability information tags when changes occur in specifications or source code. However, in development where software specifications frequently change, there is a possibility that traceability information may be missing due to missing tag editing. When traceability information is missing, the time required to understand the specifications increases, causing an increase in the number of software development steps. Furthermore, the techniques disclosed in Patent Document 1 and Patent Document 2 do not detect missing traceability information, and there is a problem in that the software developer has to perform detection work.

そこで、本開示は、上記のような問題点を鑑みてなされたものであり、ソフトウェア開発工数を削減可能な技術を提供することを目的とする。 Therefore, the present disclosure has been made in view of the above problems, and aims to provide a technology that can reduce the number of software development steps.

本開示に係るトレーサビリティ管理装置は、ソフトウェアにおける仕様同士の依存関係と、ソースコードの要素同士の依存関係と、前記仕様と前記要素との対応関係を含むトレーサビリティ情報とに基づいて、MDM情報を作成するMDM作成部と、前記仕様同士の依存関係及び前記トレーサビリティ情報、または、前記MDM情報に基づいて、前記ソースコードの前記要素のうち依存可能な要素を依存可能箇所として抽出する依存可能箇所解析部と、前記MDM情報と、前記MDM情報よりも過去に作成された過去MDM情報との差分情報を抽出するバージョン管理部と、前記MDM情報、前記依存可能箇所、及び、前記差分情報に基づいて、前記トレーサビリティ情報の前記対応関係における欠落候補をトレーサビリティ欠落候補として抽出するトレーサビリティ欠落解析部とを備える。 The traceability management device according to the present disclosure creates MDM information based on dependencies between specifications in software, dependencies between elements of source code, and traceability information including correspondence between the specifications and the elements. an MDM creation unit that extracts dependable elements from among the elements of the source code as dependent locations based on the dependency relationships between the specifications and the traceability information, or the MDM information. and a version management unit that extracts difference information between the MDM information and past MDM information created in the past than the MDM information, and based on the MDM information, the dependent locations, and the difference information, and a traceability missing analysis unit that extracts missing candidates in the correspondence relationship of the traceability information as traceability missing candidates.

本開示によれば、MDM情報と、MDM情報のソースコードの要素のうち依存可能な要素を依存可能箇所と、MDM情報と過去MDM情報との差分情報とに基づいて、トレーサビリティ情報の対応関係における欠落候補をトレーサビリティ欠落候補として抽出する。これにより、ソフトウェア開発工数を削減することができる。 According to the present disclosure, based on the MDM information, the dependable elements of the source code of the MDM information, the dependable locations, and the difference information between the MDM information and past MDM information, the correspondence relationship of traceability information is determined. Extract missing candidates as traceability missing candidates. This makes it possible to reduce the number of software development steps.

実施の形態1に係るトレーサビリティ欠落検出装置の構成を示すブロック図である。1 is a block diagram showing the configuration of a traceability loss detection device according to Embodiment 1. FIG. 実施の形態1に係るトレーサビリティ欠落検出装置の動作を説明するための図である。FIG. 3 is a diagram for explaining the operation of the traceability loss detection device according to the first embodiment. 実施の形態1に係るソフトウェアの構造を示す図である。1 is a diagram showing the structure of software according to Embodiment 1. FIG. 実施の形態1に係る仕様依存関係リストを示す図である。3 is a diagram showing a specification dependency list according to Embodiment 1. FIG. 実施の形態1に係るソースコード依存関係リストを示す図である。FIG. 3 is a diagram showing a source code dependency list according to the first embodiment. 実施の形態1に係るトレーサビリティリストを示す図である。FIG. 3 is a diagram showing a traceability list according to the first embodiment. 実施の形態1に係るMDM情報を示す図である。3 is a diagram showing MDM information according to Embodiment 1. FIG. 実施の形態1に係る依存可能箇所リストを示す図である。3 is a diagram showing a list of possible dependencies according to the first embodiment; FIG. 実施の形態1に係るMDM情報に依存可能箇所の情報を付与した図である。FIG. 3 is a diagram in which information on dependable locations is added to MDM information according to Embodiment 1; 実施の形態1に係るソフトウェアの構造(第1変更後)を示す図である。FIG. 3 is a diagram showing the structure of software (after the first change) according to the first embodiment. 実施の形態1に係るソースコード依存関係リスト(第1変更後)を示す図である。FIG. 3 is a diagram showing a source code dependency list (after first change) according to the first embodiment. 実施の形態1に係るMDM情報(第1変更後)を示す図である。FIG. 3 is a diagram showing MDM information (after first change) according to the first embodiment. 実施の形態1に係るMDM差分リスト(第1変更後)を示す図である。FIG. 3 is a diagram showing an MDM difference list (after first change) according to Embodiment 1; 実施の形態1に係るMDM情報に依存可能箇所の情報を付与した図である。FIG. 3 is a diagram in which information on dependable locations is added to MDM information according to Embodiment 1; 実施の形態1に係るトレーサビリティ欠落リスト(第1変更後)を示す図である。FIG. 3 is a diagram showing a traceability missing list (after first change) according to the first embodiment. 実施の形態1に係るMDM情報にトレーサビリティ欠落リストの情報を付与した図である。FIG. 3 is a diagram in which information on a traceability missing list is added to MDM information according to the first embodiment. 実施の形態1に係る仕様依存関係リスト(第2変更後)を示す図である。FIG. 7 is a diagram showing a specification dependency list (after second change) according to the first embodiment. 実施の形態1に係るMDM情報に依存可能箇所の情報を付与した図である。FIG. 3 is a diagram in which information on dependable locations is added to MDM information according to Embodiment 1; 実施の形態1に係るMDM差分リスト(第2変更後)を示す図である。FIG. 7 is a diagram showing an MDM difference list (after second change) according to the first embodiment. 実施の形態1に係るトレーサビリティ欠落リスト(第2変更後)を示す図である。FIG. 7 is a diagram showing a traceability missing list (after second change) according to the first embodiment. 実施の形態1に係るMDM情報にトレーサビリティ欠落リストの情報を付与した図である。FIG. 3 is a diagram in which information on a traceability missing list is added to MDM information according to the first embodiment. 実施の形態1に係る仕様依存関係リスト(第3変更後)を示す図である。FIG. 7 is a diagram showing a specification dependency list (after third change) according to Embodiment 1; 実施の形態1に係るMDM情報に依存可能箇所の情報を付与した図である。FIG. 3 is a diagram in which information on dependable locations is added to MDM information according to Embodiment 1; 実施の形態1に係るMDM差分リスト(第3変更後)を示す図である。FIG. 7 is a diagram showing an MDM difference list (after third change) according to the first embodiment. 実施の形態1に係るトレーサビリティ欠落リスト(第3変更後)を示す図である。FIG. 7 is a diagram showing a traceability missing list (after third change) according to the first embodiment. 実施の形態1に係るMDM情報にトレーサビリティ欠落リストの情報を付与した図である。FIG. 3 is a diagram in which information on a traceability missing list is added to MDM information according to the first embodiment. 実施の形態1の変形例1に係るトレーサビリティ欠落検出装置の構成を示すブロック図である。FIG. 2 is a block diagram showing the configuration of a traceability loss detection device according to Modification 1 of Embodiment 1. FIG. 実施の形態2に係るトレーサビリティ欠落検出装置の構成を示すブロック図である。FIG. 2 is a block diagram showing the configuration of a lack of traceability detection device according to a second embodiment. 実施の形態2に係るトレーサビリティ欠落検出装置の動作を説明するための図である。FIG. 7 is a diagram for explaining the operation of the traceability loss detection device according to the second embodiment. 実施の形態2に係るソフトウェアの構造(第4変更後)を示す図である。FIG. 7 is a diagram showing the structure of software (after the fourth change) according to the second embodiment. 実施の形態2に係るトレーサビリティリスト(第4変更後)を示す図である。FIG. 7 is a diagram showing a traceability list (after fourth change) according to Embodiment 2; 実施の形態2に係るMDM情報に依存可能箇所の情報を付与した図である。FIG. 12 is a diagram in which information on dependable locations is added to MDM information according to Embodiment 2; 実施の形態2に係るMDM差分リスト(第4変更後)を示す図である。FIG. 7 is a diagram showing an MDM difference list (after fourth change) according to the second embodiment. 実施の形態2に係る依存関係欠落リスト(第4変更後)を示す図である。FIG. 12 is a diagram showing a missing dependency list (after fourth change) according to the second embodiment. 実施の形態2に係るMDM情報に依存関係欠落リストの情報を付与した図である。FIG. 7 is a diagram in which information on a dependency relationship missing list is added to MDM information according to Embodiment 2; 実施の形態2に係る依存関係欠落リスト(第3変更後)を示す図である。FIG. 7 is a diagram showing a missing dependency list (after third change) according to the second embodiment. 実施の形態2に係るMDM情報に依存関係欠落リストの情報を付与した図である。FIG. 7 is a diagram in which information on a dependency relationship missing list is added to MDM information according to Embodiment 2;

<実施の形態1>
<構成>
図1は、本実施の形態1に係るトレーサビリティ管理装置であるトレーサビリティ欠落検出装置10の構成を示すブロック図である。なお、トレーサビリティ管理装置は、トレーサビリティ欠落検出装置10に限ったものではなく、トレーサビリティ欠落検出以外の機能も有していてもよい。
<Embodiment 1>
<Configuration>
FIG. 1 is a block diagram showing the configuration of a traceability missing detection device 10, which is a traceability management device according to the first embodiment. Note that the traceability management device is not limited to the traceability missing detection device 10, and may have functions other than traceability missing detection.

トレーサビリティ欠落検出装置10は、例えばコンピュータである。トレーサビリティ欠落検出装置10は、プロセッサ11と、メモリ12と、ストレージ13と、通信インタフェース14とをハードウェアとして備える。 The traceability missing detection device 10 is, for example, a computer. The traceability loss detection device 10 includes a processor 11, a memory 12, a storage 13, and a communication interface 14 as hardware.

プロセッサ11は、信号線を介してトレーサビリティ欠落検出装置10の他のハードウェアと接続され、他のハードウェアを制御する。プロセッサ11は、プロセッシングを行うIC(Integrated Circuit)である。プロセッサ11は、例えば、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。 The processor 11 is connected to other hardware of the traceability loss detection device 10 via a signal line, and controls the other hardware. The processor 11 is an IC (Integrated Circuit) that performs processing. The processor 11 is, for example, a CPU (Central Processing Unit), a DSP (Digital Signal Processor), or a GPU (Graphics Processing Unit).

メモリ12は、プロセッサ11で処理されるデータを一時的に記憶する記憶装置である。メモリ12は、例えば、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)である。 The memory 12 is a storage device that temporarily stores data processed by the processor 11. The memory 12 is, for example, SRAM (Static Random Access Memory) or DRAM (Dynamic Random Access Memory).

ストレージ13は、メモリ12に随時記憶されるデータを保管する記憶装置である。ストレージ13は、例えば、HDD(Hard Disk Drive)である。また、ストレージ13は、例えば、SD(登録商標,Secure Digital)メモリカード、CF(CompactFlash(登録商標))、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital Versatile Disk)といった可搬記憶媒体であってもよい。 The storage 13 is a storage device that stores data that is stored in the memory 12 from time to time. The storage 13 is, for example, an HDD (Hard Disk Drive). The storage 13 also includes, for example, an SD (registered trademark, Secure Digital) memory card, a CF (CompactFlash (registered trademark)), a NAND flash, a flexible disk, an optical disk, a compact disc, a Blu-ray (registered trademark) disk, a DVD (Digital Versatile). It may also be a portable storage medium such as a disk.

通信インタフェース14は、トレーサビリティ欠落検出装置10外部の装置と通信するためのインタフェースである。通信インタフェース14は、例えば、Ethernet(登録商標)、USB(Universal Serial Bus)、HDMI(登録商標:High-Definition Multimedia Interface)のポートである。 The communication interface 14 is an interface for communicating with a device outside the traceability loss detection device 10. The communication interface 14 is, for example, an Ethernet (registered trademark), USB (Universal Serial Bus), or HDMI (registered trademark: High-Definition Multimedia Interface) port.

トレーサビリティ欠落検出装置10は、機能構成要素として、MDM作成部21と、依存可能箇所解析部22と、バージョン管理部23と、トレーサビリティ欠落解析部24とを備える。MDM作成部21と、依存可能箇所解析部22と、バージョン管理部23と、トレーサビリティ欠落解析部24との機能は、例えばソフトウェアにより実現される。 The traceability missing detection device 10 includes an MDM creation section 21, a dependent location analysis section 22, a version management section 23, and a traceability missing analysis section 24 as functional components. The functions of the MDM creation unit 21, possible dependence analysis unit 22, version management unit 23, and lack of traceability analysis unit 24 are realized by software, for example.

ストレージ13には、MDM作成部21と、依存可能箇所解析部22と、バージョン管理部23と、トレーサビリティ欠落解析部24との機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ11によりメモリ12に読み込まれ、プロセッサ11によって実行される。これにより、MDM作成部21と、依存可能箇所解析部22と、バージョン管理部23と、トレーサビリティ欠落解析部24との機能が実現される。 The storage 13 stores programs that implement the functions of the MDM creation section 21, possible dependence analysis section 22, version management section 23, and lack of traceability analysis section 24. This program is read into the memory 12 by the processor 11 and executed by the processor 11. Thereby, the functions of the MDM creation section 21, possible dependence part analysis section 22, version management section 23, and traceability omission analysis section 24 are realized.

図1では、トレーサビリティ欠落検出装置10は、1つのプロセッサ11を備えているが、1つのプロセッサ11を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、MDM作成部21と、依存可能箇所解析部22と、バージョン管理部23と、トレーサビリティ欠落解析部24との機能を実現するプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ11と同じように、プロセッシングを行うICである。 In FIG. 1, the traceability loss detection device 10 includes one processor 11, but may include a plurality of processors in place of one processor 11. These plurality of processors share the execution of a program that implements the functions of the MDM creation section 21, possible dependence analysis section 22, version management section 23, and traceability omission analysis section 24. Each processor, like the processor 11, is an IC that performs processing.

表示装置19は、トレーサビリティ欠落検出装置10と無線または有線を介して接続されており、トレーサビリティ欠落検出装置10は、表示装置19の表示を制御することが可能となっている。なお、図1では、表示装置19は、トレーサビリティ欠落検出装置10外部に設けられているが、トレーサビリティ欠落検出装置10に備えられてもよい。 The display device 19 is connected to the traceability missing detection device 10 via a wireless or wired connection, and the traceability missing detection device 10 can control the display on the display device 19. Although the display device 19 is provided outside the traceability missing detection device 10 in FIG. 1, the display device 19 may be provided in the traceability missing detection device 10.

<動作>
図2は、本実施の形態1に係るトレーサビリティ欠落検出装置10の動作を説明するための図である。図3は、本実施の形態1に係るトレーサビリティ欠落検出装置10の動作を説明するためのソフトウェアの構造の一例を示す図であり、種々の関係を示す概念図である。この図3では、例えば仕様の機能Aに対応する関数aが、仕様の機能Bに対応する関数bを呼び出していること、機能Bに対応する関数bが、当該機能Bに対応する変数αを使用することなどが示されている。
<Operation>
FIG. 2 is a diagram for explaining the operation of the traceability loss detection device 10 according to the first embodiment. FIG. 3 is a diagram showing an example of the structure of software for explaining the operation of the traceability loss detection device 10 according to the first embodiment, and is a conceptual diagram showing various relationships. In FIG. 3, for example, function a corresponding to function A of the specification calls function b corresponding to function B of the specification, and function b corresponding to function B calls variable α corresponding to function B. It is shown that it can be used.

なお、本実施の形態1に係るトレーサビリティ欠落検出装置10の動作は、本実施の形態1に係るトレーサビリティ欠落検出に相当する。また、本実施の形態1に係るトレーサビリティ欠落検出装置10の動作は、本実施の形態1に係るトレーサビリティ欠落検出プログラムの処理に相当する。 Note that the operation of the traceability loss detection device 10 according to the first embodiment corresponds to the traceability loss detection according to the first embodiment. Further, the operation of the traceability missing detection device 10 according to the first embodiment corresponds to the processing of the traceability missing detection program according to the first embodiment.

<MDM作成部21の処理>
図2に示すように、MDM作成部21は、通信インタフェース14を介して仕様依存関係リスト31と、ソースコード依存関係リスト32と、トレーサビリティリスト33との入力を受け付け、それらリストをメモリ12に書き込む。MDM作成部21は、仕様依存関係リスト31から仕様レベルでの依存関係、つまりソフトウェアにおける仕様同士の依存関係を参照する。MDM作成部21は、ソースコード依存関係リスト32からソースコードレベルでの依存関係、つまりソースコードの要素同士の依存関係を参照する。MDM作成部21は、トレーサビリティリスト33に含まれる仕様とソースコードの要素との対応関係を参照する。
<Processing of MDM creation unit 21>
As shown in FIG. 2, the MDM creation unit 21 receives input of a specification dependency list 31, a source code dependency list 32, and a traceability list 33 via the communication interface 14, and writes these lists into the memory 12. . The MDM creation unit 21 refers to the dependency relationship at the specification level, that is, the dependency relationship between specifications in software, from the specification dependency relationship list 31. The MDM creation unit 21 refers to the dependencies at the source code level, that is, the dependencies between source code elements, from the source code dependency list 32. The MDM creation unit 21 refers to the correspondence between specifications and source code elements included in the traceability list 33.

仕様依存関係リスト31は、仕様レベルでの依存関係をリスト化したものである。例えば、仕様依存関係リスト31は、図4のように依存元の機能と依存先の機能とを紐付けたリスト等である。仕様の依存元及び依存先は、機能ではなく、ソフトウェアを構成するモジュールでも、ファイルやフォルダ等でも良い。依存関係とは、関数の呼び出し関係、及び、変数の参照関係、並びに、それら関係によって生じる機能の関係等を意味する。例えば、一の機能の関数が別の機能の変数を参照する場合、関数に対応する一の機能と、変数に対応する別の機能との間に仕様レベルでの依存関係が存在することを意味する。この場合、関数に対応する一の機能が依存元の機能となり、変数に対応する別の機能が依存先の機能となる。 The specification dependency relationship list 31 is a list of dependency relationships at the specification level. For example, the specification dependency relationship list 31 is a list that links a dependent function and a dependent function as shown in FIG. 4. The dependence sources and dependencies of specifications may be modules that constitute software, files, folders, etc., instead of functions. Dependency relationships refer to function calling relationships, variable reference relationships, and functional relationships caused by these relationships. For example, when a function of one function refers to a variable of another function, it means that there is a dependency relationship at the specification level between the function of one function that corresponds to the function and another function that corresponds to the variable. do. In this case, one function corresponding to the function becomes the dependent function, and another function corresponding to the variable becomes the dependent function.

なお、図4の仕様依存関係リスト31は、図3のソフトウェアの構造に対応しており、図3の矢印のアローヘッドがない側の機能が図4の依存元として記載され、図3の矢印のアローヘッドがある側の機能が図4の依存先として記載されている。仕様依存関係リスト31は、仕様書やアーキテクチャを示すデータ等を参照して手動で作成されても良いし、ツールやスクリプトを使用して自動で作成されても良い。 Note that the specification dependency list 31 in FIG. 4 corresponds to the software structure in FIG. 3, and the function on the side without the arrow head in FIG. The functions on the side where the arrowhead is located are listed as dependencies in FIG. The specification dependency list 31 may be created manually by referring to specifications, data indicating architecture, etc., or may be created automatically using a tool or script.

ソースコード依存関係リスト32は、ソースコードレベルでの依存関係をリスト化したものである。例えば、ソースコード依存関係リスト32は、図5のように依存元の要素と依存先の要素とを紐付けたリスト等である。ここでいう要素は、例えば、ソースコード中の関数や変数などである。変数の参照の場合、依存元は変数を参照する関数であり、依存先は参照される変数である。関数の呼び出しの場合、依存元は呼び出す関数であり、依存先は呼び出される関数である。 The source code dependency list 32 is a list of dependencies at the source code level. For example, the source code dependency relationship list 32 is a list in which dependent elements and dependent elements are linked, as shown in FIG. The elements here include, for example, functions and variables in the source code. In the case of variable references, the dependent source is the function that references the variable, and the dependent destination is the referenced variable. In the case of a function call, the dependent is the calling function, and the dependent is the called function.

なお、図5のソースコード依存関係リスト32は、図3のソフトウェアの構造に対応しており、図3の矢印のアローヘッドがない側の関数が図5の依存元として記載され、図3の矢印のアローヘッドがある側の関数または変数が図5の依存先として記載されている。ソースコード依存関係リスト32は、ソースコードを参照して手動で作成されても良いし、ツールやスクリプトを使用して自動で作成されても良い。ソースコード依存関係リスト32は、ソースコードの各要素の種別及び各要素が所属するファイル等の関連情報や、依存種別等を保持しても良い。 Note that the source code dependency list 32 in FIG. 5 corresponds to the software structure in FIG. 3, and the function on the side without the arrow head in FIG. The function or variable on the side with the arrow head is described as the dependent in FIG. 5. The source code dependency list 32 may be created manually by referring to the source code, or may be created automatically using a tool or script. The source code dependency list 32 may hold related information such as the type of each element of the source code and the file to which each element belongs, the dependency type, and the like.

トレーサビリティ情報であるトレーサビリティリスト33は、仕様とソースコードの要素との対応関係をリスト化したものである。例えば、トレーサビリティリスト33は、図6のように仕様の機能とソースコードの要素とを紐付けたリスト等である。例えば、仕様とソースコードの要素との対応関係とは、仕様で定義された機能がソースコードの要素によって実現されることを示す。 The traceability list 33, which is traceability information, is a list of correspondence between specifications and source code elements. For example, the traceability list 33 is a list that links specifications functions and source code elements as shown in FIG. For example, a correspondence relationship between a specification and a source code element indicates that a function defined in the specification is realized by the source code element.

なお、図6のトレーサビリティリスト33は、図3のソフトウェアの構造に対応しており、図3の機能と、当該機能に付された枠内の関数または変数との間に対応関係が存在することが記載されている。トレーサビリティリスト33は、ソースコードを参照して手動で作成されても良いし、ツールやスクリプトを使用して自動で作成されても良い。トレーサビリティリスト33は、ソースコードの各要素の種別及び各要素が所属するファイル等の関連情報を保持しても良い。 Note that the traceability list 33 in FIG. 6 corresponds to the software structure in FIG. 3, and there is a correspondence relationship between the functions in FIG. 3 and the functions or variables in the frame attached to the functions. is listed. The traceability list 33 may be created manually by referring to the source code, or may be created automatically using a tool or script. The traceability list 33 may hold related information such as the type of each element of the source code and the file to which each element belongs.

さて、図2に示すように、MDM作成部21は、仕様依存関係リスト31、ソースコード依存関係リスト32、及び、トレーサビリティリスト33に基づいて、MDM情報34を作成する。 Now, as shown in FIG. 2, the MDM creation unit 21 creates MDM information 34 based on the specification dependency list 31, the source code dependency list 32, and the traceability list 33.

MDM情報34は、仕様依存関係リスト31の依存関係と、ソースコード依存関係リスト32の依存関係と、トレーサビリティリスト33の対応関係とをまとめた情報である。例えば、MDM情報34は、図7のように1行目の各列を依存関係の依存元またはトレーサビリティの機能とし、1列目の各行を依存関係の依存先またはトレーサビリティの要素として表した表形式等で表される。 The MDM information 34 is information that summarizes the dependencies in the specification dependency list 31, the dependencies in the source code dependency list 32, and the correspondences in the traceability list 33. For example, as shown in FIG. 7, the MDM information 34 is in a tabular format in which each column of the first row is a dependency source of a dependency relationship or a function of traceability, and each row of the first column is a dependency destination of a dependency relationship or an element of traceability. etc.

図7のような表形式の場合、2行目から5行目までかつ2列目から5列目までの左上の領域は、仕様依存関係リスト31に基づく領域であり、仕様レベルでの依存関係を示すDSMとなる。6行目から13行目までかつ6列目から13列目までの右下の領域は、ソースコード依存関係リスト32に基づく領域であり、ソースコードレベルでの依存関係を示すDSMとなる。6行目から13行目までかつ2列目から5列目までの左下の領域は、トレーサビリティリスト33に基づく領域であり、仕様とソースコードの要素との対応関係を示すDMMとなる。2行目から5行目までかつ6列目から13列目までの右上の領域は使用しなくてもよいし、左下の領域のDMMと同じ情報が記載されても良い。MDM情報34は、表形式に限ったものではなく、例えばリスト形式等でも良い。 In the case of a table format as shown in FIG. 7, the upper left area from the second row to the fifth row and from the second column to the fifth column is an area based on the specification dependency list 31, which shows the dependencies at the specification level. This is the DSM that shows. The lower right area from the 6th line to the 13th line and from the 6th column to the 13th column is an area based on the source code dependency relationship list 32, and is a DSM indicating dependency relationships at the source code level. The lower left area from the 6th line to the 13th line and from the 2nd column to the 5th column is an area based on the traceability list 33, and serves as a DMM indicating the correspondence between specifications and source code elements. The upper right area from the 2nd line to the 5th line and the 6th column to the 13th column may not be used, or the same information as the DMM in the lower left area may be written. The MDM information 34 is not limited to a table format, but may be in a list format, for example.

次に、図3から図7を参照して、MDM作成部21の処理の一例を具体的に説明する。 Next, an example of the processing of the MDM creation unit 21 will be specifically described with reference to FIGS. 3 to 7.

MDM作成部21は、図4に示す仕様依存関係リスト31から、仕様レベルでの依存関係を抽出する。例えば、図4の2行目のように、依存元の機能Aから依存先の機能Bへの依存関係が存在する場合には、MDM作成部21は、依存元の機能Aと依存先の機能Bとを抽出する。 The MDM creation unit 21 extracts dependency relationships at the specification level from the specification dependency relationship list 31 shown in FIG. For example, as shown in the second line of FIG. 4, if there is a dependency relationship from the dependent function A to the dependent function B, the MDM creation unit 21 Extract B.

MDM作成部21は、図5に示すソースコード依存関係リスト32から、ソースコードレベルでの依存関係を抽出する。例えば、図5の2行目のように、依存元の関数aから依存先の関数bへの依存関係が存在する場合には、MDM作成部21は、依存元の関数aと依存先の関数bとを抽出する。 The MDM creation unit 21 extracts dependencies at the source code level from the source code dependency list 32 shown in FIG. For example, as shown in the second line of FIG. 5, if there is a dependency relationship from the dependent function a to the dependent function b, the MDM creation unit 21 b.

MDM作成部21は、図6に示すトレーサビリティリスト33から、仕様とソースコードの要素との対応関係を抽出する。例えば、図6の2行目のように、仕様で定義された機能Aがソースコードの関数aと対応している場合には、MDM作成部21は、機能Aと関数aとの対応関係を抽出する。 The MDM creation unit 21 extracts the correspondence between specifications and source code elements from the traceability list 33 shown in FIG. For example, as shown in the second line of FIG. 6, when function A defined in the specification corresponds to function a in the source code, the MDM creation unit 21 determines the correspondence between function A and function a. Extract.

MDM作成部21は、抽出した仕様レベルでの依存元及び依存先と、抽出したソースコードレベルでの依存元及び依存先と、抽出した仕様及びソースコードの要素の対応関係とをマトリクス化し、図7に示すMDM情報34を作成する。例えば、図7の3行2列目の「○」は、図4の2行目の抽出結果に基づいて付されており、依存元の機能Aから依存先の機能Bへの依存関係が存在することを示す。また、図7の7行6列目の「○」は、図5の2行目の抽出結果に基づいて付されており、関数aから関数bへの依存関係が存在することを示す。また、図7の6行2列目の「○」は、図6の2行目の抽出結果に基づいて付されており、機能Aと関数aとが対応することを示す。 The MDM creation unit 21 creates a matrix of the extracted dependence sources and dependencies at the specification level, the extracted dependence sources and dependencies at the source code level, and the correspondence relationships between the extracted specification and source code elements, and creates a matrix. The MDM information 34 shown in 7 is created. For example, the "○" in the 3rd row and 2nd column in Figure 7 is marked based on the extraction result in the 2nd row in Figure 4, and indicates that there is a dependency relationship from the dependent function A to the dependent function B. Show that. Further, the "○" in the 7th row and 6th column of FIG. 7 is attached based on the extraction result of the second row of FIG. 5, and indicates that there is a dependency relationship from function a to function b. Moreover, the "○" in the 6th row and 2nd column of FIG. 7 is attached based on the extraction result of the 2nd row of FIG. 6, and indicates that function A and function a correspond.

MDM作成部21は、作成したMDM情報34をメモリ12に書き込む。 The MDM creation unit 21 writes the created MDM information 34 into the memory 12.

<依存可能箇所解析部22の処理>
図2に示すように、依存可能箇所解析部22は、MDM作成部21で作成されたMDM情報34に基づいて、ソースコードレベルでの依存可能箇所リスト35を作成する。ここでは、依存可能箇所解析部22は、MDM情報34のうちの仕様レベルでの依存関係と、MDM情報34のうちのトレーサビリティの対応関係とに基づいて依存可能箇所リスト35を作成する例について説明する。なお、依存可能箇所解析部22は、MDM情報34に基づいてではなく、仕様依存関係リスト31と、トレーサビリティリスト33とに基づいて依存可能箇所リスト35を作成してもよい。
<Processing of the possible dependence part analysis unit 22>
As shown in FIG. 2, the dependent location analysis unit 22 creates a dependent location list 35 at the source code level based on the MDM information 34 created by the MDM creation unit 21. Here, an example will be described in which the dependent location analysis unit 22 creates the dependent location list 35 based on the dependency relationship at the specification level in the MDM information 34 and the correspondence relationship of traceability in the MDM information 34. do. Note that the dependent location analysis unit 22 may create the dependent location list 35 not based on the MDM information 34 but based on the specification dependency list 31 and the traceability list 33.

依存可能箇所リスト35は、ソースコードの要素のうち依存可能な要素を、依存可能箇所として示すリストである。依存可能とは、仕様レベルでの依存関係をアーキテクチャとみなした際に、対応するソースコードレベルでの依存関係にアーキテクチャ崩れが起きていないことを意味する。例えば、依存可能箇所リスト35は、図8のようにソースコードレベルでの依存可能な依存関係の依存元と依存先を紐付けたリストである。 The dependable location list 35 is a list indicating dependable elements among the elements of the source code as dependable locations. Dependable means that, when dependencies at the specification level are regarded as architecture, the dependencies at the corresponding source code level do not break the architecture. For example, the list of possible dependencies 35 is a list that links the dependencies and dependencies of possible dependencies at the source code level, as shown in FIG.

図3から図8を参照して、依存可能箇所解析部22の処理を説明する。 The processing of the dependable location analysis unit 22 will be described with reference to FIGS. 3 to 8.

依存可能箇所解析部22は、MDM情報34から、仕様レベルでの依存関係と、トレーサビリティの対応関係とを抽出する。 The dependent location analysis unit 22 extracts dependency relationships at the specification level and traceability correspondence relationships from the MDM information 34.

依存可能箇所解析部22は、仕様レベルでの依存関係の依存元及び依存先のそれぞれに、トレーサビリティで対応付けられたソースコードレベルの要素を網羅的に割り振って、要素同士の組合せを網羅的に求める。そして、依存可能箇所解析部22は、図8のように求めた組合せの全てを示す依存可能箇所リスト35を作成する。例えば、図3の構成では、機能Aから機能Bへの依存関係が存在し、機能Aは関数aに対応し、機能Bは関数b及び変数αに対応するため、関数aから関数bへの依存関係と、関数aから変数αへの依存関係とが依存可能箇所リスト35に記載される。 The possible dependence part analysis unit 22 comprehensively allocates source code level elements associated with traceability to each of the dependence source and dependence target of the dependency relationship at the specification level, and comprehensively identifies combinations of elements. demand. Then, the possible dependence part analysis unit 22 creates a possible dependence part list 35 showing all the combinations obtained as shown in FIG. For example, in the configuration of FIG. 3, there is a dependency relationship from function A to function B, where function A corresponds to function a and function B corresponds to function b and variable α. The dependence relationship and the dependence relationship from the function a to the variable α are written in the possible dependence location list 35.

依存可能箇所解析部22は、作成した依存可能箇所リスト35をメモリ12に書き込む。 The dependent location analysis unit 22 writes the created dependent location list 35 into the memory 12.

なお、依存可能箇所解析部22は、図9のようにMDM情報34に依存可能箇所の情報を付与してもよい。図9では、例えば、7行6列目の関数aから関数bへの依存関係を示すセルの背景にハッチングが付されることによって、関数aは関数bへ依存可能であることが示されている。なお、情報の付与方法は、セルの背景の変更に限らない。 Note that the possible dependence location analysis unit 22 may add information on possible dependence locations to the MDM information 34 as shown in FIG. In FIG. 9, for example, hatching is added to the background of the cell in the 7th row and 6th column that indicates the dependency relationship from function a to function b, indicating that function a can depend on function b. There is. Note that the method of adding information is not limited to changing the background of the cell.

<バージョン管理部23の処理>
図2に示すように、バージョン管理部23は、例えば通信インタフェース14を介して前回MDM情報36の入力を受け付け、メモリ12に書き込む。前回MDM情報36は、MDM作成部21で作成されたMDM情報34よりも過去に作成された過去MDM情報であり、例えばMDM情報34と同じ形式の情報である。
<Processing of version management unit 23>
As shown in FIG. 2, the version management unit 23 receives input of the previous MDM information 36 via the communication interface 14, for example, and writes it into the memory 12. The previous MDM information 36 is past MDM information created earlier than the MDM information 34 created by the MDM creation unit 21, and is, for example, information in the same format as the MDM information 34.

バージョン管理部23は、MDM作成部21で作成されたMDM情報34と、前回MDM情報36とに基づいて、MDM差分リスト37を作成する。MDM差分リスト37は、MDM情報34と、前回MDM情報36との差分情報をリスト化したものであり、詳細については後述する。 The version management unit 23 creates an MDM difference list 37 based on the MDM information 34 created by the MDM creation unit 21 and the previous MDM information 36. The MDM difference list 37 is a list of difference information between the MDM information 34 and the previous MDM information 36, and the details will be described later.

図10から図13を参照して、バージョン管理部23の処理を説明する。 The processing of the version management unit 23 will be explained with reference to FIGS. 10 to 13.

図10は、図3のソフトウェアの構造に対して変更を加えた後のソフトウェアの構造の一例を示す図である。この図10では、機能Aの関数aから関数gへの依存関係が追加されており、関数gが対応する機能は不明であることが示されている。以下の説明では、図3のソフトウェアの構造から図10のソフトウェアの構造への変更を「第1変更」と記す。 FIG. 10 is a diagram showing an example of a software structure after changes have been made to the software structure of FIG. In FIG. 10, a dependency relationship from function a of function A to function g has been added, indicating that the function to which function g corresponds is unknown. In the following description, the change from the software structure in FIG. 3 to the software structure in FIG. 10 will be referred to as a "first change."

第1変更が行われた場合、MDM作成部21は、図5のソースコード依存関係リスト32の代わりに、依存元の関数aから依存先の関数gへの依存関係が追加された図11のソースコード依存関係リスト32を用いて、MDM情報34を作成する。 When the first change is made, the MDM creation unit 21 creates the source code dependency list 32 in FIG. 11 in which the dependency relationship from the dependent function a to the dependent function g is added instead of the source code dependency list 32 in FIG. MDM information 34 is created using the source code dependency list 32.

図12は、MDM作成部21が図11のソースコード依存関係リスト32を用いて作成したMDM情報34を示す図である。第1変更に関する説明では、図12のMDM情報34が、第1変更後にMDM作成部21で作成されたMDM情報34であり、図7のMDM情報34が、前回MDM情報36であるものとして説明する。図12のMDM情報34では、図7のMDM情報34の一行目の依存元と一列目の依存先とのそれぞれに関数gの項目が追加され、12行6列目に「〇」が追加されている。 FIG. 12 is a diagram showing MDM information 34 created by the MDM creation unit 21 using the source code dependency list 32 of FIG. 11. In the explanation regarding the first change, the MDM information 34 in FIG. 12 is the MDM information 34 created by the MDM creation unit 21 after the first change, and the MDM information 34 in FIG. 7 is the previous MDM information 36. do. In the MDM information 34 in FIG. 12, an item of function g is added to each of the dependency source in the first row and the dependency destination in the first column of the MDM information 34 in FIG. ing.

バージョン管理部23は、MDM作成部21で作成された図12のMDM情報34と、図7の前回MDM情報36との差分を抽出して、図13に示すようなMDM差分リスト37を作成する。例えば、MDM差分リスト37は、MDM情報の表の行及び列と変更種別とを紐づけたリストである。変更種別は、例えば、トレーサビリティの対応関係の追加や削除等や、仕様レベルまたはソースコードレベルでの依存関係の追加や削除等である。図13の1行目には、ソースコードレベルの変更が行われたことが示されており、図13の2行目には、関数aから関数gへの依存関係が追加されたことが示されている。MDM差分リスト37は、仕様の依存関係の差分情報か、ソースコードの依存関係の差分情報か、トレーサビリティの対応関係の差分情報かを、差分情報ごとに示す情報を含んでも良い。 The version management unit 23 extracts the difference between the MDM information 34 in FIG. 12 created by the MDM creation unit 21 and the previous MDM information 36 in FIG. 7, and creates an MDM difference list 37 as shown in FIG. . For example, the MDM difference list 37 is a list in which rows and columns of the MDM information table are associated with change types. The change types include, for example, addition or deletion of traceability correspondence, addition or deletion of dependency at the specification level or source code level, and the like. The first line in Figure 13 indicates that a change has been made at the source code level, and the second line in Figure 13 indicates that a dependency relationship has been added from function a to function g. has been done. The MDM difference list 37 may include information indicating whether each piece of difference information is specification dependency difference information, source code dependency difference information, or traceability correspondence difference information.

バージョン管理部23は、作成したMDM差分リスト37をメモリ12に書き込む。 The version management unit 23 writes the created MDM difference list 37 into the memory 12.

なお、メモリ12に書き込まれる前回MDM情報36は、通信インタフェース14を介して受け付けた前回MDM情報36に限ったものではない。例えば、バージョン管理部23は、MDM情報34を、古いMDM情報としてメモリ12に書き込んでもよい。そして、次回動作時に、バージョン管理部23は、メモリ12に書き込まれた古いMDM情報を、前回MDM情報36として用いてもよい。 Note that the previous MDM information 36 written in the memory 12 is not limited to the previous MDM information 36 received via the communication interface 14. For example, the version management unit 23 may write the MDM information 34 into the memory 12 as old MDM information. Then, during the next operation, the version management unit 23 may use the old MDM information written in the memory 12 as the previous MDM information 36.

また、バージョン管理部23は、直近の古いMDM情報34のみをメモリ12に保持させてもよいし、複数の古いMDM情報34をメモリ12に保持させても良い。また、バージョン管理部23は、保持された複数の古いMDM情報34のうちの特定のバージョンの古いMDM情報34を前回MDM情報36として用い、前回MDM情報36とMDM情報34との差分情報を抽出しても良い。また、バージョン管理部23は、特定のバージョンの古いMDM情報34を前回MDM情報36として用い、別の特定のバージョンの古いMDM情報34をMDM情報34として用いて、前回MDM情報36とMDM情報34との差分情報を抽出しても良い。 Further, the version management unit 23 may cause the memory 12 to hold only the latest old MDM information 34, or may cause the memory 12 to hold a plurality of pieces of old MDM information 34. Further, the version management unit 23 extracts difference information between the previous MDM information 36 and the MDM information 34 by using the old MDM information 34 of a specific version among the plurality of retained old MDM information 34 as the previous MDM information 36. You may do so. Further, the version management unit 23 uses the old MDM information 34 of a specific version as the previous MDM information 36, uses the old MDM information 34 of another specific version as the MDM information 34, and uses the previous MDM information 36 and the MDM information 34. You may also extract differential information between the two.

<トレーサビリティ欠落解析部24の処理>
図2に示すように、トレーサビリティ欠落解析部24は、MDM情報34と、依存可能箇所リスト35と、MDM差分リスト37とに基づいて、トレーサビリティ情報の対応関係における欠落候補、つまり欠落の可能性のある組合せを、トレーサビリティ欠落候補として抽出(検出)する。例えば、トレーサビリティ欠落解析部24は、MDM差分リスト37に基づいてトレーサビリティ欠落候補の確認方法を決定する。そして、トレーサビリティ欠落解析部24は、決定された確認方法にしたがって、MDM情報34と依存可能箇所リスト35とに基づき、MDM情報34内のトレーサビリティ欠落候補を抽出する。
<Processing of traceability missing analysis unit 24>
As shown in FIG. 2, the traceability missing analysis unit 24 identifies missing candidates in the correspondence relationship of traceability information, that is, the possibility of missing, based on the MDM information 34, the list of possible dependencies 35, and the MDM difference list 37. A certain combination is extracted (detected) as a traceability missing candidate. For example, the traceability missing analysis unit 24 determines a method for checking traceability missing candidates based on the MDM difference list 37. Then, the traceability missing analysis unit 24 extracts traceability missing candidates in the MDM information 34 based on the MDM information 34 and the dependent location list 35 according to the determined confirmation method.

トレーサビリティ欠落解析部24は、抽出結果、つまりトレーサビリティ欠落候補を示すトレーサビリティ欠落リスト38を作成する。トレーサビリティ欠落リスト38は、MDMの変更に伴ってトレーサビリティの対応関係に欠落がある可能性がある場合に、その欠落候補をリスト化したものであり、詳細については後述する。 The traceability missing analysis unit 24 creates a traceability missing list 38 indicating the extraction results, that is, traceability missing candidates. The traceability missing list 38 is a list of missing candidates when there is a possibility that there is a missing traceability correspondence due to a change in MDM, and the details will be described later.

なお本実施の形態1では、トレーサビリティ欠落解析部24は、MDM情報34と、当該MDM情報34のトレーサビリティ欠落リスト38とを、表示装置19(図1)に表示させる制御を行う。 In the first embodiment, the traceability loss analysis unit 24 controls the display device 19 (FIG. 1) to display the MDM information 34 and the traceability loss list 38 of the MDM information 34.

次に、図13から図16を参照して、上記第1変更が行われた場合のトレーサビリティ欠落解析部24の処理を説明する。 Next, with reference to FIGS. 13 to 16, the processing of the traceability loss analysis unit 24 when the first change is performed will be described.

トレーサビリティ欠落解析部24は、バージョン管理部23で作成されたMDM差分リスト37から差分情報の変更種別を取得する。図13の例のように、関数aから関数gの依存関係が追加された場合、トレーサビリティ欠落解析部24は、ソースコードレベルでの依存関係が追加されたことを、変更種別として取得する。 The traceability missing analysis unit 24 acquires the change type of difference information from the MDM difference list 37 created by the version management unit 23. As in the example of FIG. 13, when a dependency relationship from function a to function g is added, the traceability missing analysis unit 24 acquires the addition of a dependency relationship at the source code level as the change type.

変更種別がソースコードレベルの依存関係の追加である場合、トレーサビリティ欠落解析部24は、MDM情報34と、依存可能箇所リスト35とに基づいて、追加されたソースコードレベルでの依存関係が依存可能であるか否かを確認する。 When the change type is addition of source code level dependencies, the traceability missing analysis unit 24 determines whether the added source code level dependencies are dependent based on the MDM information 34 and the list of possible dependencies 35. Check whether it is.

図14は、第1変更が行われた場合の依存可能箇所リスト35の内容が反映されたMDM情報を示す図である。図14では説明の便宜上、依存可能箇所リスト35の依存可能箇所が、図9と同様にハッチングによって反映されている。 FIG. 14 is a diagram showing MDM information in which the contents of the dependent location list 35 are reflected when the first change is made. In FIG. 14, for convenience of explanation, the dependent locations in the dependent location list 35 are reflected by hatching, as in FIG. 9.

追加された依存関係のセル、つまり12行6列目の関数aから関数gへの依存箇所を示すセルには、「〇」が付されているがハッチングが付されていない。このような場合には、トレーサビリティ欠落解析部24は、依存不可、つまりアーキテクチャ違反であると判定する。この時、図14のようにMDM情報34にアーキテクチャ違反であるという情報を付与してもよい。その一例として、図14では、12行6列目の関数aから関数gへの依存箇所を示すセルの枠を太枠にすることで、関数aから関数gへの依存関係はアーキテクチャ違反であることが示されている。ただし、情報の付与方法は、セルの枠線の変更に限らない。 The added dependency cell, that is, the cell in the 12th row and 6th column indicating the dependent location from function a to function g, is marked with "O" but is not hatched. In such a case, the traceability loss analysis unit 24 determines that dependence is not possible, that is, there is an architecture violation. At this time, information indicating that the architecture is violated may be added to the MDM information 34 as shown in FIG. As an example, in FIG. 14, the frame of the cell indicating the dependency from function a to function g in the 12th row and 6th column is made into a thick frame, indicating that the dependency relationship from function a to function g is an architectural violation. It has been shown that However, the method of adding information is not limited to changing the cell border.

追加された依存関係にアーキテクチャ違反が含まれない場合、トレーサビリティ欠落解析部24は、トレーサビリティ欠落は無いと判定し、空のトレーサビリティ欠落リスト38を出力する。 If the added dependency relationship does not include an architecture violation, the traceability loss analysis unit 24 determines that there is no traceability loss, and outputs an empty traceability loss list 38.

追加された依存関係にアーキテクチャ違反が含まれる場合、トレーサビリティ欠落解析部24は、追加することでアーキテクチャ違反が解消されるようなトレーサビリティの対応関係を検出する。図14の例の場合、関数gはどの機能にも対応していないため、トレーサビリティ欠落解析部24は、関数gと依存関係にある関数aをMDM情報から読み出し、関数aが対応する機能AをMDM情報から読み出す。次に、トレーサビリティ欠落解析部24は、関数aが関数gの依存元であることと同様に機能Aが依存元となる機能B及び機能Cを抽出し、関数gは機能B及び機能Cのいずれかに対応するものと判定する。 If the added dependency relationship includes an architecture violation, the traceability loss analysis unit 24 detects a traceability correspondence relationship that can be added to eliminate the architecture violation. In the case of the example in FIG. 14, since function g does not correspond to any function, the traceability missing analysis unit 24 reads function a that has a dependency relationship with function g from the MDM information, and selects function A to which function a corresponds. Read from MDM information. Next, the traceability missing analysis unit 24 extracts functions B and C on which function A is a dependency source, in the same way that function a is a dependency source of function g, and function g is a dependency source of function B and function C. It is determined that it corresponds to

トレーサビリティ欠落解析部24は、関数gと機能Bとの対応関係、及び、関数gと機能Cとの対応関係をリスト化して、図15に示すようなトレーサビリティ欠落リスト38を作成する。例えば、トレーサビリティ欠落リスト38は、図6のトレーサビリティリスト33と同様に、仕様とソースコードの要素との対応関係を示したリストである。トレーサビリティ欠落リスト38は、関連するMDM差分の情報を含んでも良い。 The traceability missing analysis unit 24 lists the correspondence between function g and function B and the correspondence between function g and function C, and creates a traceability missing list 38 as shown in FIG. For example, like the traceability list 33 in FIG. 6, the traceability missing list 38 is a list showing the correspondence between specifications and source code elements. The traceability missing list 38 may include information on related MDM differences.

ここで、関数a及び関数gの両方または片方がいずれの機能にも対応していなかった場合、トレーサビリティ欠落解析部24は、関数a及び関数gのそれぞれについて、全ての機能をトレーサビリティ欠落候補として出力しても良い。 Here, if both or one of function a and function g does not correspond to any of the functions, the traceability missing analysis unit 24 outputs all functions as traceability missing candidates for each of function a and function g. You may do so.

また、トレーサビリティ欠落解析部24は、アーキテクチャ違反を解消するような対応関係を発見できなかった場合には、空のトレーサビリティ欠落リスト38を出力しても良いし、全ての機能をトレーサビリティ欠落候補として出力しても良い。 Furthermore, if the traceability missing analysis unit 24 cannot find a correspondence that eliminates the architecture violation, it may output an empty traceability missing list 38 or output all functions as traceability missing candidates. You may do so.

トレーサビリティ欠落解析部24は、トレーサビリティ欠落リスト38をメモリ12に書き込む。また、トレーサビリティ欠落解析部24は、通信インタフェース14を介してトレーサビリティ欠落リスト38を出力する。出力されたトレーサビリティ欠落リスト38は、表示装置19などによって表示される。 The traceability loss analysis unit 24 writes the traceability loss list 38 into the memory 12. Further, the traceability missing analysis unit 24 outputs a traceability missing list 38 via the communication interface 14. The output traceability missing list 38 is displayed on the display device 19 or the like.

なお、トレーサビリティ欠落解析部24は、図16のように、MDM情報34に対してトレーサビリティ欠落リスト38の情報を付与してもよい。例えば、トレーサビリティ欠落解析部24は、図16の12行目の機能Bと関数gとの対応関係、及び、機能Cと関数gとの対応関係を示すセルの背景を黒色にしてもよい。これにより、機能Bと関数gとの対応関係、または、機能Cと関数gとの対応関係において、トレーサビリティ欠落の可能性があることが示される。情報の付与方法は、セルの背景色の変更に限らない。トレーサビリティ欠落解析部24は、通信インタフェース14を介して、図15のトレーサビリティ欠落リスト38と、図16の情報付与済みのMDM情報34との少なくともいずれか1つを出力してもよい。 Note that the traceability loss analysis unit 24 may add information of the traceability loss list 38 to the MDM information 34 as shown in FIG. 16. For example, the traceability loss analysis unit 24 may make the background of the cell showing the correspondence between function B and function g and the correspondence between function C and function g in the 12th row of FIG. 16 black. This indicates that there is a possibility of lack of traceability in the correspondence between function B and function g or in the correspondence between function C and function g. The method of adding information is not limited to changing the background color of the cell. The traceability loss analysis unit 24 may output at least one of the traceability loss list 38 in FIG. 15 and the information-added MDM information 34 in FIG. 16 via the communication interface 14.

図17から図21を参照して、第1変更と異なる変更が行われた場合のトレーサビリティ欠落解析部24の処理を説明する。以下では、第1変更を経て機能Cと関数gとの対応関係を追加した後に、図4の仕様依存関係リスト31から図17の仕様依存関係リスト31への変更が行われたものとする。以下の説明では、図4の仕様依存関係リスト31から図17の仕様依存関係リスト31への変更を「第2変更」と記す。 With reference to FIGS. 17 to 21, the processing of the traceability loss analysis unit 24 when a change different from the first change is made will be described. In the following, it is assumed that the specification dependency list 31 in FIG. 4 is changed to the specification dependency list 31 in FIG. 17 after adding the correspondence between function C and function g through the first change. In the following description, the change from the specification dependency relationship list 31 in FIG. 4 to the specification dependency relationship list 31 in FIG. 17 will be referred to as a "second change."

第2変更が行われた場合、MDM作成部21は、図4の仕様依存関係リスト31の代わりに図17の仕様依存関係リスト31を用いてMDM情報34を作成する。依存可能箇所解析部22は、MDM情報34に基づいてソースコードレベルでの依存可能箇所リスト35を作成する。 When the second change is made, the MDM creation unit 21 creates the MDM information 34 using the specification dependency list 31 of FIG. 17 instead of the specification dependency list 31 of FIG. 4. The possible dependence part analysis unit 22 creates a list of possible dependence parts 35 at the source code level based on the MDM information 34.

図18は、第2変更が行われた場合の依存可能箇所リスト35の内容が反映されたMDM情報34を示す図である。図18では説明の便宜上、依存可能箇所リスト35の依存可能箇所が、図14と同様にハッチングによって示されている。 FIG. 18 is a diagram showing the MDM information 34 in which the contents of the dependent location list 35 are reflected when the second change is made. In FIG. 18, for convenience of explanation, the dependent locations in the dependent location list 35 are shown by hatching, as in FIG. 14.

バージョン管理部23は、第2変更後のMDM情報34と、第2変更前の前回MDM情報36とに基づいて、機能Cから機能Dの仕様の依存関係が削除されたことを示す図19のMDM差分リスト37を作成する。トレーサビリティ欠落解析部24は、バージョン管理部23で作成されたMDM差分リスト37から差分情報の変更種別を取得する。図19の例のように、機能Cから機能Dへの依存関係が削除された場合、トレーサビリティ欠落解析部24は、仕様レベルでの依存関係が削除されたことを、変更種別として取得する。 Based on the MDM information 34 after the second change and the previous MDM information 36 before the second change, the version management unit 23 generates the information shown in FIG. Create an MDM difference list 37. The traceability missing analysis unit 24 acquires the change type of difference information from the MDM difference list 37 created by the version management unit 23. As in the example of FIG. 19, when the dependency relationship from function C to function D is deleted, the traceability loss analysis unit 24 acquires the deletion of the dependency relationship at the specification level as the change type.

変更種別が仕様レベルでの依存関係の削除である場合、トレーサビリティ欠落解析部24は、MDM情報34と、依存可能箇所リスト35に基づいて、既存のソースコードレベルでの依存関係のそれぞれが依存可能であるか否かを確認する。 When the change type is deletion of dependencies at the specification level, the traceability missing analysis unit 24 determines whether each of the dependencies at the existing source code level can depend, based on the MDM information 34 and the list of possible dependencies 35. Check whether it is.

図18の例の場合、関数cから関数dへの依存関係と、関数cから関数fへの依存関係と、関数eから関数fへの依存関係と、関数eから変数βへの依存関係と、は依存可能箇所リスト35に含まれない。このような場合には、トレーサビリティ欠落解析部24は、依存不可、つまりアーキテクチャ違反であると判定する。 In the example of FIG. 18, there is a dependency relationship from function c to function d, a dependency relationship from function c to function f, a dependency relationship from function e to function f, and a dependency relationship from function e to variable β. , is not included in the dependent location list 35. In such a case, the traceability loss analysis unit 24 determines that dependence is not possible, that is, there is an architecture violation.

既存の依存関係にアーキテクチャ違反が含まれない場合、トレーサビリティ欠落解析部24は、トレーサビリティ欠落は無いと判定し、空のトレーサビリティ欠落リスト38を出力する。 If the existing dependency relationship does not include an architecture violation, the traceability loss analysis unit 24 determines that there is no traceability loss, and outputs an empty traceability loss list 38.

既存の依存関係にアーキテクチャ違反が含まれる場合、トレーサビリティ欠落解析部24は、追加することでアーキテクチャ違反が解消されるようなトレーサビリティの対応関係を検出する。例えば図3において、関数cは機能Cに対応しており、関数dは機能Dに対応している。この場合に、関数cが機能Dにも対応するように変更されると、関数aに対応する機能Aから機能Dへの依存関係が存在しないため、関数aから関数cへの依存関係がアーキテクチャ違反となる。一方、関数dが機能Cにも対応するように変更されると、関数aに対応する機能Aから機能Cへの依存関係が存在するため、新たなアーキテクチャ違反を起こすことなく、関数cから関数dへの依存関係のアーキテクチャ違反を除去することができる。 If an existing dependency relationship includes an architecture violation, the traceability missing analysis unit 24 detects a traceability correspondence relationship that can be added to eliminate the architecture violation. For example, in FIG. 3, function c corresponds to function C, and function d corresponds to function D. In this case, if function c is changed to also correspond to function D, there is no dependency relationship from function A to function D that corresponds to function a, so the dependency relationship from function a to function c is It is a violation. On the other hand, if function d is changed to also support function C, there is a dependency relationship from function A to function C that corresponds to function a, so function C can be changed to function C without causing a new architectural violation. The architectural violation of the dependency on d can be removed.

したがって、トレーサビリティ欠落解析部24は、関数dと機能Cとの対応関係を抽出する。同様に、トレーサビリティ欠落解析部24は、関数fと機能Cとの対応関係、及び、変数βと機能Cとの対応関係も抽出する。そして、トレーサビリティ欠落解析部24は、抽出した対応関係をリスト化して、図20のようなトレーサビリティ欠落リスト38を作成する。 Therefore, the traceability missing analysis unit 24 extracts the correspondence between the function d and the function C. Similarly, the traceability missing analysis unit 24 also extracts the correspondence between the function f and the function C, and the correspondence between the variable β and the function C. Then, the traceability missing analysis unit 24 lists the extracted correspondence relationships and creates a traceability missing list 38 as shown in FIG. 20.

ここで、トレーサビリティ欠落解析部24は、アーキテクチャ違反を解消するような対応関係を発見できなかった場合には、空のトレーサビリティ欠落リスト38を出力しても良いし、全ての機能をトレーサビリティ欠落候補として出力しても良い。 Here, if the traceability missing analysis unit 24 cannot find a correspondence that eliminates the architecture violation, it may output an empty traceability missing list 38, or it may select all functions as traceability missing candidates. You can also output it.

なお、トレーサビリティ欠落解析部24は、図21のように、MDM情報34に対してトレーサビリティ欠落リスト38の情報を付与してもよい。例えば、トレーサビリティ欠落解析部24は、図21の9行4列目の機能Cと関数dとの対応関係を示すセルの背景を黒色にしてもよい。これにより、機能Cと関数dとの対応関係において、トレーサビリティ欠落の可能性があることが示される。情報の付与方法は、セルの背景色の変更に限らない。 Note that the traceability loss analysis unit 24 may add information of the traceability loss list 38 to the MDM information 34 as shown in FIG. 21. For example, the traceability loss analysis unit 24 may make the background of the cell in the 9th row and 4th column of FIG. 21, which indicates the correspondence between the function C and the function d, black. This indicates that there is a possibility of lack of traceability in the correspondence between function C and function d. The method of adding information is not limited to changing the background color of the cell.

図22から図26を参照して、第1変更及び第2変更と異なる変更が行われた場合のトレーサビリティ欠落解析部24の処理を説明する。以下では、第1変更を経て機能Cと関数gとの対応関係を追加した後に、図4の仕様依存関係リスト31から図22の仕様依存関係リスト31への変更が行われたものとする。以下の説明では、図4の仕様依存関係リスト31から図22の仕様依存関係リスト31への変更を「第3変更」と記す。 With reference to FIGS. 22 to 26, the processing of the traceability loss analysis unit 24 when a change different from the first change and the second change is made will be described. In the following, it is assumed that the specification dependency list 31 in FIG. 4 is changed to the specification dependency list 31 in FIG. 22 after adding the correspondence between function C and function g through the first change. In the following description, the change from the specification dependency relationship list 31 in FIG. 4 to the specification dependency relationship list 31 in FIG. 22 will be referred to as a "third change."

第3変更が行われた場合、MDM作成部21は、図4の仕様依存関係リスト31の代わりに図22の仕様依存関係リスト31を用いてMDM情報34を作成する。依存可能箇所解析部22は、MDM情報34に基づいてソースコードレベルでの依存可能箇所リスト35を作成する。 When the third change is made, the MDM creation unit 21 creates the MDM information 34 using the specification dependency list 31 of FIG. 22 instead of the specification dependency list 31 of FIG. 4. The possible dependence part analysis unit 22 creates a list of possible dependence parts 35 at the source code level based on the MDM information 34.

図23は、第3変更が行われた場合の依存可能箇所リスト35の内容が反映されたMDM情報34を示す図である。図23では説明の便宜上、依存可能箇所リスト35の依存可能箇所が、図14と同様にハッチングによって示されている。 FIG. 23 is a diagram showing the MDM information 34 in which the contents of the dependent location list 35 are reflected when the third change is made. In FIG. 23, for convenience of explanation, the dependent locations in the dependent location list 35 are shown by hatching, as in FIG. 14.

バージョン管理部23は、第3変更後のMDM情報34と、第3変更前の前回MDM情報36とに基づいて、機能Bから機能Dの仕様の依存関係が追加されたことを示す図24のMDM差分リスト37を作成する。トレーサビリティ欠落解析部24は、バージョン管理部23で作成されたMDM差分リスト37から差分情報の変更種別を取得する。図24の例のように、機能Bから機能Dへの依存関係が追加された場合、トレーサビリティ欠落解析部24は、仕様レベルでの依存関係が追加されたことを、変更種別として取得する。 Based on the MDM information 34 after the third change and the previous MDM information 36 before the third change, the version management unit 23 generates a diagram in FIG. Create an MDM difference list 37. The traceability missing analysis unit 24 acquires the change type of difference information from the MDM difference list 37 created by the version management unit 23. As in the example of FIG. 24, when a dependency relationship from function B to function D is added, the traceability missing analysis unit 24 acquires the addition of a dependency relationship at the specification level as the change type.

変更種別が仕様レベルでの依存関係の追加である場合、トレーサビリティ欠落解析部24は、MDM情報34と、依存可能箇所リスト35に基づいて、ソースコードレベルでの依存関係において依存元の機能と依存先の機能との間にアーキテクチャ違反とならないような、トレーサビリティ情報の対応関係の組合せを確認する。 When the change type is the addition of a dependency relationship at the specification level, the traceability missing analysis unit 24 determines the dependence source function and dependence in the dependency relationship at the source code level based on the MDM information 34 and the list of possible dependencies 35. Check the combination of traceability information correspondences that will not cause an architecture violation with the previous function.

例えば図3において、機能Bに対応する変数αが機能Dに対応付けられると、関数bから変数αへの依存関係が維持されつつ、機能Bから機能Dへの依存関係が追加される。このため、トレーサビリティ欠落解析部24は、アーキテクチャ違反とならずに機能Bから機能Dへの依存関係を追加可能な、機能Dと変数αとの対応関係を抽出する。同様に、機能Cに対応する関数cが機能Bに対応付けられると、関数cから関数d及び関数fへの依存関係が維持されつつ、機能Bから機能Dへの依存関係が追加される。このため、トレーサビリティ欠落解析部24は、アーキテクチャ違反とならずに機能Bから機能Dへの依存関係を追加可能な、機能Bと関数cとの対応関係を抽出する。同様に、トレーサビリティ欠落解析部24は、機能Bと関数eとの対応関係も抽出する。そして、トレーサビリティ欠落解析部24は、抽出した対応関係をリスト化して、図25のようなトレーサビリティ欠落リスト38を作成する。 For example, in FIG. 3, when variable α corresponding to function B is associated with function D, a dependency relationship from function B to function D is added while the dependency relationship from function b to variable α is maintained. Therefore, the traceability loss analysis unit 24 extracts a correspondence relationship between function D and variable α that allows adding a dependency relationship from function B to function D without causing an architecture violation. Similarly, when function c corresponding to function C is associated with function B, the dependency relationship from function B to function D is added while the dependency relationship from function c to function d and function f is maintained. Therefore, the traceability loss analysis unit 24 extracts a correspondence relationship between function B and function c that allows adding a dependency relationship from function B to function D without causing an architecture violation. Similarly, the traceability loss analysis unit 24 also extracts the correspondence between function B and function e. Then, the traceability missing analysis unit 24 lists the extracted correspondence relationships and creates a traceability missing list 38 as shown in FIG. 25.

ここで、アーキテクチャ違反とならないような新たな対応関係を発見できなかった場合には、トレーサビリティ欠落解析部24は、空のトレーサビリティ欠落リスト38を出力しても良い。 Here, if a new correspondence that does not result in an architecture violation cannot be found, the traceability missing analysis unit 24 may output an empty traceability missing list 38.

なお、トレーサビリティ欠落解析部24は、図26のように、MDM情報34に対してトレーサビリティ欠落リスト38の情報を付与してもよい。例えば、トレーサビリティ欠落解析部24は、図26の8行3列目の機能Bと関数cとの対応関係を示すセルの枠線を破線太枠にしてもよい。これにより、機能Bと関数cとの対応関係において、トレーサビリティ欠落の可能性があることが示される。ここで、図21の黒色の背景と区別しているのは、図21のMDM情報34では現状のままではアーキテクチャ違反となり、変更が必須であるのに対し、図26のMDM情報34では現状のままでもアーキテクチャ違反とならず、変更が必須ではないからである。情報の付与方法は、セルの背景色や枠線の変更に限らず、例えば、図21の表示と区別できるのであれば、図21と同様に背景色の変更としても良い。 Note that the traceability loss analysis unit 24 may add information of a traceability loss list 38 to the MDM information 34 as shown in FIG. 26. For example, the traceability loss analysis unit 24 may change the frame line of the cell in the 8th row and 3rd column of FIG. 26, which indicates the correspondence between function B and function c, to a thick dashed frame. This indicates that there is a possibility of lack of traceability in the correspondence between function B and function c. Here, what distinguishes it from the black background in Figure 21 is that the MDM information 34 in Figure 21 will violate the architecture if it remains as it is, and changes are required, whereas the MDM information 34 in Figure 26 will remain as it is. However, it does not violate the architecture and the change is not required. The method of adding information is not limited to changing the background color or frame line of the cell. For example, as long as it can be distinguished from the display in FIG. 21, the background color may be changed in the same manner as in FIG. 21.

変更種別がソースコードの依存関係の削除である場合、または、変更種別がトレーサビリティの対応関係の追加または削除である場合には、本実施の形態1に係るトレーサビリティ欠落解析部24は、空のトレーサビリティ欠落リスト38を作成してもよい。 When the change type is deletion of source code dependencies, or when the change type is addition or deletion of traceability correspondence, the traceability missing analysis unit 24 according to the first embodiment deletes an empty traceability relationship. A missing list 38 may also be created.

差分情報の変更種別が複数の組合せの場合、トレーサビリティ欠落解析部24は、それぞれの変更種別に対して、上記と同様の処理を実施する。例えば、機能Bから機能Dへの仕様の依存関係の追加と、関数bから関数hへのソースコードの依存関係の追加とが同時に行われた場合について説明する。この場合、まず、トレーサビリティ欠落解析部24は、機能Bから機能Dへの仕様の依存関係の追加に関して、機能Bと関数cとの対応関係、機能Bと関数eとの対応関係、及び、機能Dと変数αとの対応関係をトレーサビリティ欠落リスト38に記載する。次に、トレーサビリティ欠落解析部24は、関数bから関数hへのソースコードの依存関係の追加に関して、機能Bと関数hとの対応関係、及び、機能Dと関数hとの対応関係をトレーサビリティ欠落リスト38に記載する。 If there are a plurality of combinations of change types in the difference information, the traceability loss analysis unit 24 performs the same process as described above for each change type. For example, a case will be described in which a specification dependency relationship from function B to function D is added and a source code dependency relationship is added from function b to function h at the same time. In this case, the traceability missing analysis unit 24 first determines the correspondence between function B and function c, the correspondence between function B and function e, and the function The correspondence between D and the variable α is recorded in the traceability missing list 38. Next, regarding the addition of the source code dependency from function b to function h, the traceability missing analysis unit 24 analyzes the correspondence between function B and function h and the correspondence between function D and function h due to traceability loss. It is described in List 38.

<実施の形態1のまとめ>
以上のような本実施の形態1に係るトレーサビリティ欠落検出装置10は、仕様またはソースコードの変更時に、トレーサビリティ欠落候補を検出することができる。このように、トレーサビリティ欠落が自動的に発見されることにより、ソフトウェアの開発者による目視でのトレーサビリティ欠落の検出時間、及び、トレーサビリティ欠落による仕様の理解にかかる時間を削減することができる。これにより、ソフトウェア開発工数を削減することができる。
<Summary of Embodiment 1>
The traceability missing detection device 10 according to the first embodiment as described above can detect traceability missing candidates when the specification or source code is changed. In this way, by automatically discovering traceability defects, it is possible to reduce the time taken by software developers to visually detect traceability defects and the time required to understand specifications due to traceability defects. This makes it possible to reduce the number of software development steps.

<変形例1>
実施の形態1では、トレーサビリティ欠落検出装置10のMDM作成部21と、依存可能箇所解析部22と、バージョン管理部23と、トレーサビリティ欠落解析部24との機能がソフトウェアで実現された。しかしながら、変形例1として、MDM作成部21と、依存可能箇所解析部22と、バージョン管理部23と、トレーサビリティ欠落解析部24との機能はハードウェアで実現されてもよい。この変形例1について、実施の形態1と異なる点を説明する。
<Modification 1>
In the first embodiment, the functions of the MDM creation section 21, possible dependence part analysis section 22, version management section 23, and traceability omission analysis section 24 of the traceability omission detection device 10 are realized by software. However, as a first modification, the functions of the MDM creation unit 21, possible dependence analysis unit 22, version management unit 23, and traceability loss analysis unit 24 may be realized by hardware. Regarding this first modification, differences from the first embodiment will be explained.

図27は、変形例1に係るトレーサビリティ欠落検出装置10の構成を示すブロック図である。 FIG. 27 is a block diagram showing the configuration of the traceability loss detection device 10 according to the first modification.

MDM作成部21と、依存可能箇所解析部22と、バージョン管理部23と、トレーサビリティ欠落解析部24との機能がハードウェアで実現される場合、トレーサビリティ欠落検出装置10は、プロセッサ11とメモリ12とストレージ13との代わりに、処理回路15を備える。処理回路15は、MDM作成部21と、依存可能箇所解析部22と、バージョン管理部23と、トレーサビリティ欠落解析部24と、メモリ12と、ストレージ13との機能とを実現する専用の電子回路である。 When the functions of the MDM creation section 21, possible dependence analysis section 22, version management section 23, and traceability omission analysis section 24 are realized by hardware, the traceability omission detection device 10 includes the processor 11, the memory 12, and the A processing circuit 15 is provided in place of the storage 13. The processing circuit 15 is a dedicated electronic circuit that realizes the functions of an MDM creation section 21, a dependent location analysis section 22, a version management section 23, a traceability omission analysis section 24, a memory 12, and a storage 13. be.

処理回路15には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)が想定される。 The processing circuit 15 includes a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a logic IC, a GA (Gate Array), an ASIC (Application Specific Integrated Circuit), and an FPGA (Field-Programmable Gate Array). y) is is assumed.

MDM作成部21と、依存可能箇所解析部22と、バージョン管理部23と、トレーサビリティ欠落解析部24との機能は1つの処理回路15で実現されてもよいし、MDM作成部21と、依存可能箇所解析部22と、バージョン管理部23と、トレーサビリティ欠落解析部24との機能は複数の処理回路15に分散させて実現されてもよい。 The functions of the MDM creation section 21, the dependent part analysis section 22, the version management section 23, and the traceability missing analysis section 24 may be realized by one processing circuit 15, or the functions of the MDM creation section 21 and the dependence part analysis section 24 may be realized by one processing circuit 15. The functions of the location analysis section 22, version management section 23, and traceability loss analysis section 24 may be realized by being distributed among a plurality of processing circuits 15.

<変形例2>
変形例2として、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。つまり、MDM作成部21と、依存可能箇所解析部22と、バージョン管理部23と、トレーサビリティ欠落解析部24とのうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
<Modification 2>
As a second modification, some functions may be realized by hardware, and other functions may be realized by software. In other words, some of the functions of the MDM creation section 21, possible dependence analysis section 22, version management section 23, and traceability missing analysis section 24 are realized by hardware, and other functions are realized by software. It's okay.

プロセッサ11とメモリ12とストレージ13と処理回路15とを、総称して「プロセッシングサーキットリー」と呼ぶことができる。つまり、トレーサビリティ欠落検出装置10の各機能構成要素の機能は、プロセッシングサーキットリーにより実現される。 The processor 11, memory 12, storage 13, and processing circuit 15 can be collectively referred to as a "processing circuitry." That is, the functions of each functional component of the traceability missing detection device 10 are realized by processing circuitry.

<実施の形態2>
<構成>
図28は、本実施の形態2に係るトレーサビリティ欠落検出装置10の構成を示すブロック図である。本実施の形態2は、実施の形態1と異なり、トレーサビリティ欠落だけではなく、依存関係欠落も検出する。以下では、本実施の形態2に係る構成要素のうち、実施の形態1と異なるこの点を主に説明し、同一及び類似する点については説明を省略する。
<Embodiment 2>
<Configuration>
FIG. 28 is a block diagram showing the configuration of the traceability loss detection device 10 according to the second embodiment. The second embodiment, unlike the first embodiment, detects not only traceability missing but also dependency missing. Hereinafter, among the constituent elements according to the second embodiment, the points that are different from the first embodiment will be mainly explained, and the explanation of the same and similar points will be omitted.

トレーサビリティ欠落検出装置10は、図1に示すトレーサビリティ欠落検出装置10と異なり、依存関係欠落解析部25を備える。依存関係欠落解析部25は、他の機能構成要素と同様にソフトウェアによって実現されてもよいし、依存関係欠落解析部25の一部または全部が、他の機能構成要素と同様にハードウェアによって実現されてもよい。 The traceability loss detection device 10 is different from the traceability loss detection device 10 shown in FIG. 1 and includes a dependency relationship loss analysis section 25. The missing dependency analysis unit 25 may be realized by software like other functional components, or part or all of the missing dependency analysis unit 25 may be realized by hardware like other functional components. may be done.

<動作>
図29は、本実施の形態2に係るトレーサビリティ欠落検出装置10の動作を説明するための図である。
<Operation>
FIG. 29 is a diagram for explaining the operation of the traceability loss detection device 10 according to the second embodiment.

本実施の形態2に係るトレーサビリティ欠落検出装置10の動作は、本実施の形態2に係るトレーサビリティ欠落検出方法に相当する。また、本実施の形態2に係るトレーサビリティ欠落検出装置10の動作は、本実施の形態2に係るトレーサビリティ欠落検出プログラムの処理に相当する。 The operation of the traceability loss detection device 10 according to the second embodiment corresponds to the traceability loss detection method according to the second embodiment. Further, the operation of the traceability missing detection device 10 according to the second embodiment corresponds to the processing of the traceability missing detection program according to the second embodiment.

<依存関係欠落解析部25の処理>
図29に示すように、依存関係欠落解析部25は、MDM情報34と、MDM差分リスト37と、依存可能箇所リスト35とに基づいて、ソースコードの要素同士の依存関係における欠落候補、つまり欠落の可能性のある組合せを、依存関係欠落候補として抽出(検出)する。例えば、依存関係欠落解析部25は、MDM差分リスト37に基づいて依存関係欠落候補の確認方法を決定する。そして、依存関係欠落解析部25は、決定された確認方法にしたがって、MDM情報34と依存可能箇所リスト35とに基づき、MDM情報34内の依存関係欠落候補を抽出する。
<Processing of missing dependency analysis unit 25>
As shown in FIG. 29, the dependency relationship missing analysis unit 25 uses the MDM information 34, the MDM difference list 37, and the possible dependence location list 35 to determine the missing candidates in the dependency relationships between the elements of the source code, that is, the missing The possible combinations are extracted (detected) as dependency missing candidates. For example, the missing dependency analysis unit 25 determines a method for checking missing dependency candidates based on the MDM difference list 37. Then, the missing dependency analysis unit 25 extracts candidates for missing dependencies in the MDM information 34 based on the MDM information 34 and the list of possible dependencies 35 in accordance with the determined confirmation method.

依存関係欠落解析部25は、抽出結果、つまり依存関係欠落候補を示す依存関係欠落リスト39を作成する。依存関係欠落リスト39は、MDMの変更に伴ってソースコードレベルでの依存関係に欠落がある可能性がある場合に、その欠落候補をリスト化したものであり、詳細については後述する。 The missing dependency analysis unit 25 creates a missing dependency list 39 indicating the extraction results, that is, missing dependency candidates. The missing dependency list 39 is a list of candidates for missing dependencies at the source code level due to changes in MDM, and the details will be described later.

なお本実施の形態2では、依存関係欠落解析部25は、MDM情報34と、当該MDM情報34の依存関係欠落リスト39とを、表示装置19(図1)に表示させる制御を行う。 In the second embodiment, the missing dependency analysis unit 25 controls the display device 19 (FIG. 1) to display the MDM information 34 and the missing dependency list 39 of the MDM information 34.

図30から図35を参照して、依存関係欠落解析部25の処理を説明する。 The processing of the missing dependency analysis unit 25 will be described with reference to FIGS. 30 to 35.

図30は、図3のソフトウェアの構造に対して変更を加えた後のソフトウェアの構造の一例を示す図である。この図30では、機能Cに関数gが追加されていることが示されている。以下の説明では、図3のソフトウェアの構造から図30のソフトウェアの構造への変更、つまり機能Cと関数gとのトレーサビリティの対応関係の追加を「第4変更」と記す。 FIG. 30 is a diagram showing an example of a software structure after changes are made to the software structure of FIG. 3. FIG. 30 shows that function g is added to function C. In the following description, the change from the software structure in FIG. 3 to the software structure in FIG. 30, that is, the addition of the traceability correspondence between function C and function g, will be referred to as a "fourth change."

第4変更が行われた場合、MDM作成部21は、図6のトレーサビリティリスト33の代わりに図31のトレーサビリティリスト33を用いてMDM情報34を作成する。依存可能箇所解析部22は、MDM情報34に基づいてソースコードレベルでの依存可能箇所リスト35を作成する。 When the fourth change is made, the MDM creation unit 21 creates the MDM information 34 using the traceability list 33 of FIG. 31 instead of the traceability list 33 of FIG. 6. The possible dependence part analysis unit 22 creates a list of possible dependence parts 35 at the source code level based on the MDM information 34.

図32は、第4変更が行われた場合の依存可能箇所リスト35の内容が反映されたMDM情報34を示す図である。図32では説明の便宜上、依存可能箇所リスト35の依存可能箇所が、図14と同様にハッチングによって示されている。 FIG. 32 is a diagram showing the MDM information 34 in which the contents of the list of possible dependencies 35 are reflected when the fourth change is made. In FIG. 32, for convenience of explanation, the dependent locations in the dependent location list 35 are shown by hatching, as in FIG. 14.

バージョン管理部23は、第4変更後のMDM情報34と、第4変更前の前回MDM情報36とに基づいて、機能Cと関数gとのトレーサビリティの対応関係が追加されたことを示す図33のMDM差分リスト37を作成する。依存関係欠落解析部25は、バージョン管理部23で作成されたMDM差分リスト37から差分情報の変更種別を取得する。図33の例のように、機能Cと関数gとの対応関係が追加された場合、依存関係欠落解析部25は、トレーサビリティの対応関係が追加されたことを、変更種別として取得する。 33 showing that the traceability correspondence relationship between function C and function g has been added, based on the MDM information 34 after the fourth change and the previous MDM information 36 before the fourth change. An MDM difference list 37 is created. The missing dependency analysis unit 25 acquires the change type of difference information from the MDM difference list 37 created by the version management unit 23. As in the example of FIG. 33, when the correspondence between function C and function g is added, the missing dependency analysis unit 25 acquires the addition of the traceability correspondence as the change type.

変更種別がトレーサビリティの対応関係の追加の場合、依存関係欠落解析部25は、追加されたトレーサビリティに関係するソースコードレベルでの依存関係を確認する。例えば、依存関係欠落解析部25は、機能Cに対応する関数c及び関数eを抽出し、関数c及び関数eから関数gへの依存関係と、関数gから関数c及び関数eへの依存関係とを、依存関係欠落候補として抽出する。また、機能Aから機能Cへの依存関係が存在するため、依存関係欠落解析部25は、機能Aに対応する関数aから機能Cに対応する関数gへの依存関係を依存関係欠落候補として抽出する。また、機能Cから機能Dへの依存関係が存在するため、依存関係欠落解析部25は、機能Cに対応する関数gから機能Dに対応する関数d、関数f、及び、変数βへの依存関係を依存関係欠落候補として抽出する。 When the change type is addition of traceability correspondence, the missing dependency analysis unit 25 checks dependencies at the source code level related to the added traceability. For example, the missing dependency analysis unit 25 extracts the function c and the function e corresponding to the function C, and determines the dependence relationship from the function c and the function e to the function g, and the dependence relationship from the function g to the function c and the function e. are extracted as candidates for missing dependencies. Furthermore, since there is a dependency relationship from function A to function C, the dependency relationship missing analysis unit 25 extracts the dependency relationship from function a corresponding to function A to function g corresponding to function C as a dependency relationship missing candidate. do. In addition, since there is a dependency relationship from function C to function D, the dependency relationship missing analysis unit 25 determines the dependence relationship from function g corresponding to function C to function d, function f, and variable β corresponding to function D. Extract the relationship as a candidate for missing dependency.

依存関係欠落解析部25は、抽出した依存関係をリスト化して、図34のような依存関係欠落リスト39を作成する。 The missing dependency analysis unit 25 lists the extracted dependencies and creates a missing dependency list 39 as shown in FIG. 34.

例えば、依存関係欠落リスト39は、図5のソースコード依存関係リスト32と同様に、ソースコードの要素同士の対応関係を示したリストである。なお、依存関係欠落リスト39は、ソースコードの各要素の種別や所属するファイル等の関連情報や、依存種別等を含んでも良いし、関連するMDM差分の情報を含んでも良い。 For example, the missing dependency list 39 is a list showing the correspondence between elements of the source code, similar to the source code dependency list 32 of FIG. Note that the dependency relationship missing list 39 may include related information such as the type of each element of the source code and the file to which it belongs, dependency type, etc., and may also include information on related MDM differences.

依存関係欠落解析部25は、依存関係欠落リスト39をメモリ12に書き込む。また、依存関係欠落解析部25は、通信インタフェース14を介して依存関係欠落リスト39を出力する。出力された依存関係欠落リスト39は、表示装置19などによって表示される。 The missing dependency analysis unit 25 writes the missing dependency list 39 into the memory 12. Furthermore, the missing dependency analysis unit 25 outputs a missing dependency list 39 via the communication interface 14 . The output dependency relationship missing list 39 is displayed on the display device 19 or the like.

なお、依存関係欠落解析部25は、図35のように、MDM情報34に対して依存関係欠落リスト39の情報を付与してもよい。例えば、依存関係欠落解析部25は、図35の8行12列目の関数gから関数cへの依存関係を示すセルの枠線を破線太枠にしてもよい。これにより、関数gから関数cへの依存関係において、依存関係欠落の可能性があることが示される。情報の付与方法は、セルの枠線の変更に限らない。依存関係欠落解析部25は、通信インタフェース14を介して、図34の依存関係欠落リスト39、図35の情報付与済みのMDM情報34との少なくともいずれか1つを出力しても良い。 Note that the missing dependency analysis unit 25 may add information of a missing dependency list 39 to the MDM information 34, as shown in FIG. For example, the missing dependency analysis unit 25 may change the frame line of the cell in the 8th row and 12th column of FIG. 35, which indicates the dependency relationship from function g to function c, to a thick dashed frame. This indicates that there is a possibility that a dependency relationship is missing in the dependency relationship from function g to function c. The method of adding information is not limited to changing the cell border. The missing dependency analysis unit 25 may output at least one of the missing dependency list 39 in FIG. 34 and the information-added MDM information 34 in FIG. 35 via the communication interface 14.

図22から図26並びに図36及び図37を参照して、上記第3変更が行われた場合の依存関係欠落解析部25の処理を説明する。 With reference to FIGS. 22 to 26, as well as FIGS. 36 and 37, the processing of the missing dependency analysis unit 25 when the third change is performed will be described.

図24の例のように、機能Bから機能Dへの依存関係が追加された場合、依存関係欠落解析部25は、仕様レベルでの依存関係が追加されたことを、変更種別として取得する。 As in the example of FIG. 24, when a dependency relationship from function B to function D is added, the missing dependency analysis unit 25 acquires, as a change type, that a dependency relationship at the specification level has been added.

変更種別が仕様レベルでの依存関係の追加の場合、依存関係欠落解析部25は、追加された依存関係の依存元の機能に対応するソースコードの要素から、依存先の機能に対応するソースコードの要素への依存関係を、依存関係欠落候補として抽出して依存関係欠落リスト39を作成する。図24の例のように、機能Bから機能Dへの依存関係が追加された場合、依存関係欠落解析部25は、機能Bに対応する関数bから、機能Dに対応する関数d、関数f、及び、変数βへの依存関係をリスト化して、図36の依存関係欠落リスト39を作成する。 When the change type is the addition of a dependency relationship at the specification level, the missing dependency analysis unit 25 extracts the source code corresponding to the dependent function from the source code element corresponding to the dependent function of the added dependency relationship. A dependency relationship list 39 is created by extracting dependency relationships to elements as dependency relationship missing candidates. As in the example of FIG. 24, when a dependency relationship is added from function B to function D, the dependency relationship missing analysis unit 25 analyzes function b corresponding to function B, function d corresponding to function D, function f , and the dependencies on the variable β to create a list of missing dependencies 39 in FIG.

なお、依存関係欠落解析部25は、図37のように、MDM情報34に対して依存関係欠落リスト39の情報を付与してもよい。例えば、依存関係欠落解析部25は、図37の9行7列目の関数bから関数dへの依存関係を示すセルの枠線を破線太枠にしてもよい。これにより、関数bから関数dへの依存関係について、依存関係欠落の可能性があることが示される。情報の付与方法は、セルの枠線の変更に限らない。依存関係欠落解析部25は、通信インタフェース14を介して、図36の依存関係欠落リスト39、図37の情報付与済みのMDM情報34との少なくともいずれか1つを出力しても良い。 Note that the missing dependency analysis unit 25 may add information of the missing dependency list 39 to the MDM information 34, as shown in FIG. For example, the missing dependency analysis unit 25 may change the frame line of the cell in the 9th row and 7th column of FIG. 37, which indicates the dependency relationship from function b to function d, to a thick dashed frame. This indicates that there is a possibility that the dependency relationship from function b to function d is missing. The method of adding information is not limited to changing the cell border. The missing dependency analysis unit 25 may output at least one of the missing dependency list 39 in FIG. 36 and the information-added MDM information 34 in FIG. 37 via the communication interface 14.

変更種別が、仕様レベルでの依存関係の削除、または、トレーサビリティの対応関係の削除の場合、依存関係欠落解析部25は、アーキテクチャ違反となる依存関係を、依存関係欠落候補として依存関係欠落リスト39を作成しても良い。 When the change type is deletion of a dependency relationship at the specification level or deletion of a traceability correspondence relationship, the missing dependency analysis unit 25 stores the dependency relationship that violates the architecture in the missing dependency list 39 as a candidate for missing dependency relationships. You may also create

変更種別が、ソースコードレベルでの依存関係の追加、または、ソースコードレベルでの依存関係の削除の場合、依存関係欠落解析部25は、空の依存関係欠落リスト39を作成してもよい。 If the change type is addition of dependency at the source code level or deletion of dependency at the source code level, the missing dependency analysis unit 25 may create an empty dependency missing list 39.

差分情報の変更種別が複数の組合せの場合、依存関係欠落解析部25は、それぞれの変更種別に対して、上記と同様の処理を実施する。例えば、機能Cと関数gとのトレーサビリティの対応関係の追加と、機能Bから機能Dへの仕様の依存関係の追加とが同時に行われた場合について説明する。この場合、まず、依存関係欠落解析部25は、機能Cと関数gとのトレーサビリティの対応関係の追加に関して、関数a、関数c、及び、関数eから関数gへの依存関係と、関数gから関数c、関数d、関数e、関数f、及び、変数βへの依存関係とを依存関係欠落リスト39に記載する。次に、依存関係欠落解析部25は、機能Bから機能Dへの仕様の依存関係の追加に関して、関数bから関数d、関数f、及び、変数βへの依存関係を依存関係欠落リスト39に記載する。 If there are a plurality of combinations of change types in the difference information, the missing dependency analysis unit 25 performs the same process as described above for each change type. For example, a case will be described in which the traceability correspondence between function C and function g is added and the specification dependency relationship from function B to function D is added at the same time. In this case, the missing dependency analysis unit 25 first determines the dependency relationships from function a, function c, and function e to function g, and from function g to add traceability correspondence between function C and function g. Function c, function d, function e, function f, and dependencies on variable β are written in dependency relationship missing list 39. Next, regarding the addition of specification dependencies from function B to function D, the missing dependency analysis unit 25 adds the dependencies from function b to function d, function f, and variable β to the missing dependency list 39. Describe it.

<実施の形態2のまとめ>
以上のような本実施の形態2に係るトレーサビリティ欠落検出装置10は、仕様またはソースコードの変更時に、トレーサビリティ欠落候補だけではなく、ソースコードレベルでの依存関係欠落候補を検出することができる。このように、ソースコードレベルでの依存関係欠落が自動的に発見されることにより、ソフトウェア開発者は、ソースコードレベルでの依存関係欠落を事前に予防することができる。これにより、ソースコードの実装時間やバグの作りこみを抑制することができ、ソフトウェア開発工数を削減することができる。
<Summary of Embodiment 2>
The traceability missing detection device 10 according to the second embodiment as described above can detect not only traceability missing candidates but also dependency missing candidates at the source code level when changing specifications or source code. In this way, by automatically discovering missing dependencies at the source code level, software developers can prevent missing dependencies at the source code level. This can reduce source code implementation time and bug creation, and reduce software development man-hours.

なお、各実施の形態及び各変形例を自由に組み合わせたり、各実施の形態及び各変形例を適宜、変形、省略したりすることが可能である。 Note that it is possible to freely combine each embodiment and each modification, or to modify or omit each embodiment and each modification as appropriate.

10 トレーサビリティ欠落検出装置、19 表示装置、21 MDM作成部、22 依存可能箇所解析部、23 バージョン管理部、24 トレーサビリティ欠落解析部、25 依存関係欠落解析部。 10 Traceability missing detection device, 19 Display device, 21 MDM creation section, 22 Possible dependence location analysis section, 23 Version management section, 24 Traceability missing analysis section, 25 Dependency relationship missing analysis section.

Claims (7)

ソフトウェアにおける仕様同士の依存関係と、ソースコードの要素同士の依存関係と、前記仕様と前記要素との対応関係を含むトレーサビリティ情報とに基づいて、MDM情報を作成するMDM作成部と、
前記仕様同士の依存関係及び前記トレーサビリティ情報、または、前記MDM情報に基づいて、前記ソースコードの前記要素のうち依存可能な要素を依存可能箇所として抽出する依存可能箇所解析部と、
前記MDM情報と、前記MDM情報よりも過去に作成された過去MDM情報との差分情報を抽出するバージョン管理部と、
前記MDM情報、前記依存可能箇所、及び、前記差分情報に基づいて、前記トレーサビリティ情報の前記対応関係における欠落候補をトレーサビリティ欠落候補として抽出するトレーサビリティ欠落解析部と
を備える、トレーサビリティ管理装置。
an MDM creation unit that creates MDM information based on dependencies between specifications in software, dependencies between elements of source code, and traceability information including correspondence between the specifications and the elements;
a dependent location analysis unit that extracts dependent elements from among the elements of the source code as dependent locations based on the dependency relationship between the specifications and the traceability information or the MDM information;
a version management unit that extracts difference information between the MDM information and past MDM information created in the past than the MDM information;
A traceability management device comprising: a traceability missing analysis unit that extracts missing traceability candidates in the correspondence of the traceability information as traceability missing candidates based on the MDM information, the dependable locations, and the difference information.
請求項1に記載のトレーサビリティ管理装置であって、
前記バージョン管理部は、
保持された複数のMDM情報のうちの特定のMDM情報を前記過去MDM情報として用いる、トレーサビリティ管理装置。
The traceability management device according to claim 1,
The version control unit is
A traceability management device that uses specific MDM information among a plurality of held MDM information as the past MDM information.
請求項1または請求項2に記載のトレーサビリティ管理装置であって、
前記トレーサビリティ欠落解析部は、
前記MDM情報と、当該MDM情報の前記トレーサビリティ欠落候補とを表示装置に表示させる制御を行う、トレーサビリティ管理装置。
The traceability management device according to claim 1 or 2,
The traceability missing analysis section
A traceability management device that performs control to display the MDM information and the traceability missing candidates of the MDM information on a display device.
請求項1から請求項3のうちのいずれか1項に記載のトレーサビリティ管理装置であって、
前記MDM情報、前記依存可能箇所、及び、前記差分情報に基づいて、前記ソースコードの前記要素同士の依存関係における欠落候補を依存関係欠落候補として抽出する依存関係欠落解析部をさらに備える、トレーサビリティ管理装置。
The traceability management device according to any one of claims 1 to 3,
Traceability management further comprising: a dependency missing analysis unit that extracts missing dependency candidates in dependency relationships between the elements of the source code as dependency missing candidates based on the MDM information, the possible dependence locations, and the difference information. Device.
請求項4に記載のトレーサビリティ管理装置であって、
前記依存関係欠落解析部は、
前記MDM情報と、当該MDM情報の前記依存関係欠落候補とを表示装置に表示させる制御を行う、トレーサビリティ管理装置。
The traceability management device according to claim 4,
The dependency missing analysis unit includes:
A traceability management device that performs control to display the MDM information and the dependency relationship missing candidates of the MDM information on a display device.
MDM作成部が、ソフトウェアにおける仕様同士の依存関係と、ソースコードの要素同士の依存関係と、前記仕様と前記要素との対応関係を含むトレーサビリティ情報とに基づいて、MDM情報を作成し、
依存可能箇所解析部が、前記仕様同士の依存関係及び前記トレーサビリティ情報、または、前記MDM情報に基づいて、前記ソースコードの前記要素のうち依存可能な要素を依存可能箇所として抽出し、
バージョン管理部が、前記MDM情報と、前記MDM情報よりも過去に作成された過去MDM情報との差分情報を抽出し、
トレーサビリティ欠落解析部が、前記MDM情報、前記依存可能箇所、及び、前記差分情報に基づいて、前記トレーサビリティ情報の前記対応関係における欠落候補をトレーサビリティ欠落候補として抽出する、トレーサビリティ管理方法。
An MDM creation unit creates MDM information based on dependencies between specifications in the software, dependencies between elements of source code, and traceability information including correspondence between the specifications and the elements,
a dependent location analysis unit extracts dependent elements from among the elements of the source code as dependent locations based on the dependency relationship between the specifications and the traceability information or the MDM information;
a version management unit extracts difference information between the MDM information and past MDM information created in the past than the MDM information;
A traceability management method, wherein a traceability missing analysis unit extracts missing candidates in the correspondence of the traceability information as traceability missing candidates based on the MDM information, the dependable locations, and the difference information.
ソフトウェアにおける仕様同士の依存関係と、ソースコードの要素同士の依存関係と、前記仕様と前記要素との対応関係を含むトレーサビリティ情報とに基づいて、MDM情報を作成することと、
前記仕様同士の依存関係及び前記トレーサビリティ情報、または、前記MDM情報に基づいて、前記ソースコードの前記要素のうち依存可能な要素を依存可能箇所として抽出することと、
前記MDM情報と、前記MDM情報よりも過去に作成された過去MDM情報との差分情報を抽出することと、
前記MDM情報、前記依存可能箇所、及び、前記差分情報に基づいて、前記トレーサビリティ情報の前記対応関係における欠落候補をトレーサビリティ欠落候補として抽出することと、をコンピュータに実行させる、トレーサビリティ管理プログラム。
Creating MDM information based on dependencies between specifications in software, dependencies between elements of source code, and traceability information including correspondence between the specifications and the elements;
Extracting dependable elements from among the elements of the source code as dependable locations based on the dependency relationship between the specifications and the traceability information or the MDM information;
Extracting difference information between the MDM information and past MDM information created in the past than the MDM information;
A traceability management program that causes a computer to extract missing candidates in the correspondence of the traceability information as traceability missing candidates based on the MDM information, the dependable locations, and the difference information.
JP2020013274A 2020-01-30 2020-01-30 Traceability management device, traceability management method, and traceability management program Active JP7370264B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020013274A JP7370264B2 (en) 2020-01-30 2020-01-30 Traceability management device, traceability management method, and traceability management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020013274A JP7370264B2 (en) 2020-01-30 2020-01-30 Traceability management device, traceability management method, and traceability management program

Publications (2)

Publication Number Publication Date
JP2021119441A JP2021119441A (en) 2021-08-12
JP7370264B2 true JP7370264B2 (en) 2023-10-27

Family

ID=77195466

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020013274A Active JP7370264B2 (en) 2020-01-30 2020-01-30 Traceability management device, traceability management method, and traceability management program

Country Status (1)

Country Link
JP (1) JP7370264B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008102831A (en) 2006-10-20 2008-05-01 Hitachi Ltd Information providing device, program and information providing method
JP2016110330A (en) 2014-12-04 2016-06-20 三菱電機株式会社 Change influence analysis device and change influence analysis method and program
WO2019171445A1 (en) 2018-03-06 2019-09-12 三菱電機株式会社 Traceability management device, traceability management method, and traceability management program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008102831A (en) 2006-10-20 2008-05-01 Hitachi Ltd Information providing device, program and information providing method
JP2016110330A (en) 2014-12-04 2016-06-20 三菱電機株式会社 Change influence analysis device and change influence analysis method and program
WO2019171445A1 (en) 2018-03-06 2019-09-12 三菱電機株式会社 Traceability management device, traceability management method, and traceability management program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PAVKOVIC, Neven et al.,Traceability - A factor of integration and a method to deal with complexity,Proceedings of the 10th International Workshop on Integrated Design Engineering [online],2014年,pp. 93-105,[検索日 2023.09.12], インターネット:<URL:http://www.designsociety.org/publication/38090/>

Also Published As

Publication number Publication date
JP2021119441A (en) 2021-08-12

Similar Documents

Publication Publication Date Title
US9632771B2 (en) Association of metadata with source code and applications and services premised thereon
CN100442293C (en) Method for combination of original files of hardware design language and checking data files
US9471286B2 (en) System and method for providing code completion features for code modules
US7908588B2 (en) Program presentation with reviewer feedback maintenance
US8255424B2 (en) System and method for structuring data in a storage device
US7904856B2 (en) Arrangement handling commands as control system behaviors and data system behaviors
CN116501415B (en) Command execution method and device, electronic equipment and computer readable storage medium
JP7370264B2 (en) Traceability management device, traceability management method, and traceability management program
CN117648257A (en) Web automatic test method and system under Linux operating system
CN102254155B (en) accurate font activation
JP6667387B2 (en) Rule conversion support device and rule conversion support program
JP7116313B2 (en) Correction candidate identification program
JP2007316875A (en) Apparatus and method for automatic regression test
US9015658B2 (en) Automatic program generation device and automatic program generation method
US20090273605A1 (en) Operation Checking Method in Information System, Operation Checking Program Therefor, Recording Medium, and Operation Checking System
JP6482362B2 (en) Source code generation system, source code generation device, source code generation method and program
JP6559984B2 (en) Digital evidence creation device, digital evidence creation system, and digital evidence creation program
JP7008780B2 (en) State transition editing device and state transition editing program
CN113703985B (en) Memory management method, medium and electronic equipment
CN116881035B (en) File repair method, storage medium and electronic device
JP6888336B2 (en) Stub generators, methods, and programs
CN107479899B (en) File processing method and device, storage medium and processor
JP6807721B2 (en) State transition editing device and state transition editing program
KR101064650B1 (en) Method for kernel hardening of USB device driver in Linux operating system and apparatus thereof
JP2022098366A (en) Test support device, test support method and test support program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220926

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230908

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231017

R150 Certificate of patent or registration of utility model

Ref document number: 7370264

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150