Information processing device and program

The information processing apparatus automates traceability checks by converting source code into explanatory sentences and identifying corresponding design document sections, simplifying the process and enhancing efficiency.

JP2026114927APending Publication Date: 2026-07-08SHIMANE PREFECTURAL GOVERNMENT MATSUE +2

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
SHIMANE PREFECTURAL GOVERNMENT MATSUE
Filing Date
2025-10-08
Publication Date
2026-07-08

AI Technical Summary

Technical Problem

The existing information processing apparatus requires users to manually create program specifications to ensure traceability between design documents and source code, which is cumbersome and time-consuming.

Method used

An information processing apparatus that converts source code into explanatory sentences and identifies correspondence with design documents, automating the traceability check by comparing and evaluating similarity between the two.

Benefits of technology

Facilitates easier and more efficient traceability checks between design documents and source code, reducing the workload and improving work efficiency by automating the process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026114927000001_ABST
    Figure 2026114927000001_ABST
Patent Text Reader

Abstract

This technology provides support to make it easier to ensure the traceability of design documents and source code. [Solution] The created design document D1 and the created source code P1 are input to the information processing device 1. The source code P1 is converted into a text-based explanatory document P2 by the explanatory document conversion unit 2. Through this, the correspondence between the descriptions in the design document D1 and the source code P1 is identified in text form via the design document D1 and explanatory document P2, and it is confirmed whether or not there is a description in the source code P1 to implement the execution content described in the design document D1. Such identification and confirmation are performed by the comparison unit 3 and the matching determination unit 4.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing apparatus and a program.

Background Art

[0002] In software development, in many cases, ensuring the consistency (traceability) between design documents and source code is carried out. By ensuring this traceability, more reliable software can be developed. To support the ensuring of this traceability, based on the information input according to the items showing detailed information regarding various design information for creating a program, specification analysis information showing the details of the various design information is generated, and by analyzing the source code, source code analysis information showing the details of the various design information described in the source code is generated, and based on the specification analysis information and the source code analysis information, the various design information described in the program specification and the source code is collated, and there is an information processing apparatus that outputs the collation result (see, for example, Patent Document 1).

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] In the above information processing apparatus, in order to generate the specification analysis information, the user is made to create a program specification. As a result, the collation between the specification analysis information and the source code analysis information is performed based on the content of the program specification. In this type of matching, the content that can be matched is limited to the content of the program specification. Therefore, in order to ensure traceability, a program specification must be prepared that matches the functions to be implemented in the program being developed. However, preparing such a program specification is troublesome. Furthermore, the effort required of the user creating the program specification cannot be ignored.

[0005] The present invention aims to provide a technology that facilitates the assurance of traceability between design documents and source code. [Means for solving the problem]

[0006] An information processing apparatus according to one aspect of the present invention includes a document generation unit that converts source code of software created in accordance with the contents of a design document and generates one or more documents containing one or more explanatory sentences that describe the contents of the processing performed by the source code, and a correspondence relationship identification unit that identifies the correspondence between the documents and the descriptions in the design document. [Effects of the Invention]

[0007] This invention makes it easier to ensure traceability between design documents and source code. [Brief explanation of the drawing]

[0008] [Figure 1] This figure illustrates an information processing device according to a first embodiment of the present invention, and an overview of the traceability assurance support service provided by the information processing device. [Figure 2] This figure shows an example of the hardware configuration of an AP server, which is an information processing device according to a second embodiment of the present invention. [Figure 3] This figure shows an example of a functional configuration implemented on an AP server, which is an information processing device according to a second embodiment of the present invention. [Figure 4] This is a flowchart showing an example of the traceability check process. [Figure 5]This flowchart shows an example of the description text conversion process. [Figure 6] This flowchart shows an example of the first mapping process. [Figure 7] This flowchart shows an example of the second mapping process. [Figure 8] This flowchart shows an example of the process for calculating similarity between texts. [Figure 9] This is a flowchart showing an example of similarity correction processing. [Figure 10] This is a flowchart showing an example of a matching detection process. [Figure 11] This flowchart shows an example of the allocation process. [Figure 12] This flowchart shows an example of the process for determining how to link the data. [Figure 13] The flowchart shows an example of the first contextual context check process. [Figure 14] This flowchart shows an example of the second contextual context verification process. [Figure 15] This flowchart shows an example of the process for determining potential linking candidates. [Modes for carrying out the invention]

[0009] Embodiments of the present invention will be described below with reference to the drawings. Figure 1 is a diagram illustrating an overview of an information processing device according to a first embodiment of the present invention and a traceability assurance support service provided by the information processing device.

[0010] Information processing device 1 is installed, for example, by a software development organization to provide services to improve work efficiency to its members or those to whom the organization's work is outsourced (hereinafter collectively referred to as "employees"). One of the services provided is a traceability assurance support service (hereinafter referred to as "this service") that assists in ensuring the traceability of design documents and source code.

[0011] An organization that conducts software development, such as a development company that undertakes software development, usually starts program development by receiving an order (S1) as shown in Figure 1. After receiving the order, through the analysis of the product requirements specification (S2), determination of the software execution content (S3), implementation of the software execution content in source code (S4), operation test for each developed function (S5), and operation test for the entire developed system (S6), the developed software is shipped (S7). It is often necessary to return to the previous process and perform the subsequent work again.

[0012] The design document D1 is design data (file) created by determining the software execution content (S3). The implementation in source code P1 (S4) needs to be carried out in accordance with the content of the design document. Therefore, a traceability check is performed to ensure that the content of the design document D1 is incorporated into the source code P1 without omission and that there is consistency between the two. Ensuring traceability means ensuring a state of consistency between the two. This service enables employees to easily confirm whether there is consistency between the two, making the work for ensuring traceability easier and improving work efficiency.

[0013] For this purpose, the design document D1 and the source code P1 are input into the information processing device 1. Both of these are data (e.g., files). The input source code P1 is converted by the description text conversion unit 2 into a description document P2 of the execution content in English expression. This is because the programming language of the source code P1 is based on English. The description text conversion unit 2 corresponds to the text generation unit in this embodiment.

[0014] In this embodiment, by generating such an explanatory document P2, a comparison is made between the design document D1 and the source code P1 based on text. Therefore, employees do not need to input data for traceability checks according to the content of the design document D1 and the like. That is, employees do not need to prepare or create something like the above program specification document (Patent Document 1) with a small amount of information compared to the design document D1. From this, in this embodiment, employees can more easily ensure the traceability between the design document D1 and the source code P1. As a result, the work efficiency of employees is also improved.

[0015] Both the design document D1 and the explanatory document P2 contain a plurality of sentences. To avoid confusion, hereinafter, the sentences in the design document D1 will be referred to as "design sentences" and the sentences in the explanatory document P2 will be referred to as "explanatory sentences" respectively for distinction. Similar to other documents, the source code P1 also contains a plurality of sentences. Those sentences will be collectively referred to as "program sentences" hereinafter for distinction. Note that the programming language used to create the source code P1 is not particularly limited. The programming language can be any of C language, C# language, JAVA (registered trademark) language, C++ language, Python, Pascal, or FORTRAN, etc.

[0016] The source code P1 usually has a different sentence structure from ordinary documents. Therefore, the explanatory text conversion unit 2 converts the source code P1 into the explanatory document P2 and also establishes the association between the program sentences and the explanatory sentences. Through such an association, even in a text-based comparison using the explanatory document P2, the program sentences corresponding to the design sentences can be identified.

[0017] The comparison unit 3 compares the design document D1 and the explanatory document P2 and evaluates the degree of similarity between them. In this embodiment, the design document D1 and the explanatory document P2 are vectorized sentence by sentence or paragraph by paragraph, and the similarity (e.g., cosine similarity) calculated using the vectors obtained from the vectorization is used for evaluation. The similarity is expressed as a numerical value in the range of -1 to 1, for example. The evaluation method is not particularly limited. The degree of similarity may be evaluated using indicators other than similarity.

[0018] The matching determination unit 4 focuses on consistency and determines the correspondence between the descriptions in design document D1 and the descriptions in explanatory document P2, thereby making it possible to confirm the consistency between them. In other words, it makes it possible to confirm whether or not the description for implementing the execution content described in design document D1 exists in source code P1. Through this confirmation, employees can more easily perform traceability checks and ensure traceability through such checks.

[0019] To this end, the matching determination unit 4 generates a determination result R that allows for confirmation of, for example, the corresponding description ranges of the design document D1 and the source code P1, or whether the source code P1 has implementations of execution content corresponding to the execution content described in the design document D1. The generated result R can be output to the terminal used by the employee, or saved in a location accessible by that terminal. This allows the employee to confirm the generated result R. The comparison unit 3 and the matching determination unit 4 correspond to the correspondence relationship identification unit in this embodiment.

[0020] Thus, in this embodiment, traceability checks can be performed automatically simply by providing design document D1 and source code P1. Therefore, employees can perform traceability checks and verify the results without having to perform any work related to the contents of design document D1. As a result, the amount of work required to ensure traceability is reduced and made easier. This improves the work efficiency for employees.

[0021] Hereafter, embodiments of the present invention will be described in detail with further reference to the drawings. Figure 2 shows an example of the hardware configuration of an AP server, which is an information processing device according to a second embodiment of the present invention. This hardware configuration example is just one example and is not particularly limited. For example, only one CPU (Central Processing Unit) 21 and one GPU (Graphics Processing Unit) 24 are shown, but multiple units of each may be installed.

[0022] Information processing device 1 is implemented, for example, as an AP server installed within the facilities of a software development company for the purpose of providing this service, or installed using a cloud service. Therefore, the AP server is assigned the code "1". For this reason, "information processing device" will also be referred to as "AP server" from now on. It can communicate with employee terminals 31 used by employees via network 30. Network 30 is, for example, a LAN (Local Area Network) or a composite network including the Internet.

[0023] As shown in Figure 2, AP Server 1 has a configuration in which a CPU 21, ROM (Read Only Memory) 22, RAM (Random Access Memory) 23, GPU 24, NIC (Network Interface Card) 25, auxiliary storage device 26, media drive 27, and I / FC (Interface Controller) group 28 are connected to bus 29. VRAM (video RAM) 24A is connected to GPU 24.

[0024] The auxiliary storage device 26 is a device capable of permanently storing data, such as a hard disk drive or an SSD (Solid State Drive). The media drive 27 is a device on which the recording medium 27A can be attached and detached. The media 27A is such as a CD (Compact Disc)-ROM, DVD-ROM, DVD-RAM, etc.

[0025] The I / FC group 28 includes various I / FCs that enable communication with various peripheral devices, including the input device 28A and the display device 28B, or with external devices. The input device 28A and the display device 28B are temporarily connected to the I / FC group 28 as needed. The auxiliary storage device 26 stores the OS (Operating System) and various application programs that run on that OS as programs. Among these various application programs is an application program that enables the provision of this service. Hereafter, this application will be referred to as the "Traceability Assurance Support Application".

[0026] ROM22 is also a device capable of permanently storing data, such as firmware and various other data. The CPU21 reads the firmware stored in ROM22 into RAM23 and executes it. Subsequently, the firmware reads the OS stored in auxiliary storage device 26 into RAM23 and executes it. Various application programs, including some traceability support applications, are read into RAM23 by the OS and executed. The GPU24 can execute various application programs, including some traceability support applications, that are stored in auxiliary storage device 26 and read into VRAM24A.

[0027] The traceability support application may be stored on media 27A and distributed. If network 30 is a composite network, it may be distributed via network 30. When distributed via network 30, the traceability support application should be stored on a recording medium that can be directly or indirectly accessed by the information processing device distributing it. In other words, the storage medium may be directly or indirectly accessible by another information processing device that can communicate with the information processing device distributing it.

[0028] Figure 3 shows an example of a functional configuration implemented on an AP server, which is an information processing device according to a second embodiment of the present invention. This example of a functional configuration is mainly implemented by having the CPU 21 and GPU 24 execute different parts of the traceability support application, respectively. The functional configuration is not particularly limited and various modifications are possible. For example, one or more functional components implemented on the GPU 24 may be moved to the CPU 21. Alternatively, the entire traceability support application may be executed on the CPU 21, and all functional components may be implemented on the CPU 21.

[0029] Many programming languages ​​are based on English. Design documents D1 are usually written in the native language. In Japan, design documents D1 are usually written in Japanese. For this reason, in this embodiment, emphasis is placed on the source code P1, and an English-language explanatory document P2 is generated by converting the source code P1. In addition, an English-language explanatory document is generated for the design document D1 written in Japanese using machine translation. To distinguish the design document generated by machine translation from the design document D1, it will be referred to as "design document D2" from now on.

[0030] As shown in Figure 3, the CPU 21 of AP Server 1 is functionally configured to include a transmission / reception processing unit 211, a screen generation unit 212, a translation instruction unit 213, an explanation text generation instruction unit 214, a source code generation instruction unit 215, a generation result confirmation unit 216, a replacement unit 217, an explanation text correspondence identification unit 218, a vectorization instruction unit 219, a translation learning instruction unit 220, an explanation text learning instruction unit 221, a vectorization learning instruction unit 222, a similarity calculation unit 223, a matching unit 224, a linking method determination unit 225, a context confirmation unit 226, and a linking candidate determination unit 227.

[0031] On GPU24, the following functional configurations are implemented: a first translation unit 241, a second translation unit 242, an explanatory text generation unit 243, a vectorization unit 244, a source code generation unit 245, a translation learning unit 246, an explanatory text learning unit 247, and a vectorization learning unit 248. Artificial Intelligence (AI) is used in all of these. While this functional configuration is realized on the CPU 21 and GPU 24, the auxiliary storage device 26 has a description information storage unit 261, a design document storage unit 262, a source code storage unit 263, a description document storage unit 264, a vector storage unit 265, and a similarity storage unit 266 reserved as data storage areas.

[0032] The program statements in source code P1 often contain identifiers. These identifiers are names that uniquely identify variables, functions, classes, etc. In this embodiment, explanatory text is provided as explanatory information for each identifier in order to more appropriately convert program statements containing these identifiers into explanatory text. The explanatory information storage unit 261 is a storage area reserved for this purpose. The explanatory information consists of at least the corresponding identifier and its explanatory text. This explanatory information enables the conversion from source code P1 to explanatory document P2 using RAG (Retrieval Augmented Generation).

[0033] The design document storage unit 262 is a storage area reserved for storing various design documents. These design documents include, in addition to the above-mentioned design documents D1 and D2, a Japanese-language design document generated by machine translation of design document D2. This design document will henceforth be referred to as "design document D3" to distinguish it from the others. The source code storage unit 263 is a memory area reserved for storing source code P1. This source code storage unit 263 also stores the source code generated by the conversion of the explanatory document P2. This source code will henceforth be referred to as "source code P3" to distinguish it from source code P1.

[0034] The explanatory document storage unit 264 is a storage area for storing explanatory document P2. The vector storage unit 265 is a storage area for storing vectors of each sentence or text in the design document D2 and explanatory document P2. Here, a text is a group of sentences consisting of one or more consecutive sentences that express some meaning. The similarity storage unit 266 is a storage area reserved for storing the calculated similarity. Although not specifically shown in the diagram, a storage area for saving the judgment result R is also allocated on the auxiliary storage device 26.

[0035] The various data stored in each memory unit 261-266 are actually read out and processed in RAM 23 or VRAM 24A. Furthermore, data transfer between the CPU 21 and GPU 24 is actually performed via RAM 23. Communication with the employee terminal 31 is performed via NIC 25. These are conveniently ignored in Figure 3. This will also be the case in subsequent explanations.

[0036] The parts 241-248 implemented on GPU24 have the following functions. The first translation unit 241 performs machine translation, for example, to translate a Japanese design document D1 into English, and generates an English design document D2. The second translation unit 242 performs machine translation, for example, to translate the English design document D2 into Japanese, and generates the Japanese design document D3. The generated design documents D2 and D3 are both stored in the design document storage unit 262.

[0037] The explanation document generation unit 243 converts the source code P1 into an explanation document P2. In this conversion, the explanation information (identifier) ​​stored in the explanation information storage unit 261 is used as needed. As a result, the explanation document P2 is generated in accordance with the contents of the design document D2. The generated explanation document P2 is stored in the explanation document storage unit 264.

[0038] The vectorization unit 244 performs vectorization on a sentence or document basis, which constitutes the design document D2 and the explanatory document P2, respectively. The vectors obtained through vectorization are stored in the vector storage unit 265, along with identification information that indicates, for example, the sentence or document to which the vector corresponds. Here, a vector refers to an array containing multiple real numbers, where the meaning of a word, sentence, or text is represented by the combination of these real numbers. Therefore, by using vectors, it is possible to determine whether or not there is semantic consistency even if the representations are different.

[0039] The source code generation unit 245 converts the explanatory document P2 and generates source code P3. The generated source code P3 is stored in the source code storage unit 263. The translation learning unit 246 is for training the first translation unit 241 and the second translation unit 242. Training is performed using a large amount of training data. This training optimizes the weights of the neural network.

[0040] The explanatory text learning unit 247 is for training the explanatory text generation unit 243. This training is also carried out by preparing a large amount of training data. This training data is created, for example, for each group of program statements, which are one or more program statements that constitute a processing unit. The loss value used as the criterion for deciding to stop training is set to a value larger than usual, for example, 0.8, in order to suppress the content of the explanatory text from becoming unnatural.

[0041] The vectorization learning unit 248 is for training the vectorization unit 244. This training is also carried out by preparing a large amount of training data. All of the above parts 241 to 248 function according to instructions from the CPU 21. Therefore, to realize the example functional configuration shown in Figure 3, the explanatory text conversion unit 2 and comparison unit 3 shown in Figure 1 may be implemented through the cooperation of the CPU 21 and the GPU 24.

[0042] The parts 211 to 227 implemented on the CPU 21 have the following functions. The transmission / reception processing unit 211 performs processing for sending and receiving various data, including requests, with the employee terminal 31. The screen generation unit 212 generates a screen to be displayed on the employee terminal 31. The transmission / reception processing unit 211 transmits the screen generated by the screen generation unit 212 to the employee terminal 31, thereby enabling the employee terminal 31 to send various requests and display responses on the employee terminal 31.

[0043] The translation instruction unit 213 controls the first translation unit 241 and the second translation unit 242. Through this control, design documents D2 and D3 are generated. The explanation document generation instruction unit 214 controls the explanation document generation unit 243 to generate an explanation document P2 from the source code P1. The generated explanation document P2 is stored in the explanation document storage unit 264. The source code generation instruction unit 215 controls the source code generation unit 245 to generate source code P3 from the explanatory document P2. The generated source code P3 is written in the same type of programming language as source code P1 and is stored in the source code storage unit 263.

[0044] Not all of the source code P1 can be converted into an explanatory text. Due to the structure of the source code P1, or its identifiers, it may not be possible to properly convert at least a portion of the source code P1 into an explanatory text. For this reason, the generation result confirmation unit 216 calculates the percentage of the source code P1 that has been converted into an explanatory text and checks whether that percentage is above a predetermined threshold. If the percentage is above the threshold, the process proceeds. If the percentage is below the threshold, the explanatory text generation instruction unit 214 is notified, and the explanatory document P2 is regenerated.

[0045] In this embodiment, the explanatory text generation instruction unit 214 and the explanatory text generation unit 243 correspond to the text generation unit. The generation result confirmation unit 216, replacement unit 217, explanatory text correspondence relationship identification unit 218, vectorization instruction unit 219, similarity calculation unit 223, matching unit 224, linking method determination unit 225, contextual relationship confirmation unit 226, linking candidate determination unit 227, and vectorization unit 244 correspond to the correspondence relationship identification unit. The generation result confirmation unit 216 includes a ratio calculation unit. The explanatory text generation instruction unit 214 corresponds to the re-creation instruction unit. The matching unit 224 corresponds to the matching unit. The linking method determination unit 225 and the contextual relationship confirmation unit 226 correspond to the matching correction unit.

[0046] As described above, RAG is used to generate the explanatory document P2. Even with RAG, it may not be possible to replace all identifiers, and some identifiers may remain in the explanatory text. Therefore, the replacement unit 217 performs a replacement, replacing the remaining identifiers in the explanatory text with the explanatory text corresponding to those identifiers. The explanatory document P2 after this replacement process, including verification by the replacement unit 217, is finally stored in the explanatory document storage unit 264.

[0047] The description correspondence identification unit 218 identifies the corresponding location in the source code P1 for the generated description. In this embodiment, the identification of this location is performed using two methods. Therefore, the description correspondence identification unit 218 has a first correspondence identification unit 218A and a second correspondence identification unit 218B.

[0048] The first correspondence identification unit 218A identifies the correspondence between the explanatory text and the description in the source code P1 by performing an outlier test that focuses on the degree of relevance (e.g., attention weight). Relevance is an index calculated word by word when generating the explanatory text. It represents the degree to which each word in the source code (input text) is given attention each time an explanatory text (output text) is generated. Outlier testing is used to identify outliers. In this embodiment, all consecutive descriptions in source code P1 that have become outliers are mapped to explanatory texts. This is an operation to map what is essentially a single program statement, such as one written over multiple lines in source code P1, to a single explanatory text.

[0049] The second correspondence identification unit 218B focuses on the distance (e.g., Levenshtein distance) between the explanatory text and the corresponding location in the source code P1, and identifies the correspondence between them. The second correspondence identification unit 218B converts the program statements (source code) corresponding to the explanatory text into regular expressions and extracts the range in the source code P1 that is thought to be potentially mapped to that regular expression. Next, it calculates the Levenshtein distance between each program statement and the regular expression within the extracted range. After this calculation, the second correspondence identification unit 218B maps the program statement with the smallest Levenshtein distance to the explanatory text. The Levenshtein distance is calculated as the minimum number of editing operations from one sequence to the other between two sequences. The index used to identify the correspondence between the explanatory text and the description in the source code P1 is not particularly limited. The index may be the Jaccard coefficient or similarity (e.g., cosine similarity).

[0050] Even for program statements that instruct the same processing, there may be multiple options for how they are written. Therefore, in this embodiment, multiple different indicators are used to identify the corresponding location in source code P1 that corresponds to the explanatory statement, thereby enabling the correspondence between the explanatory statement and the location in source code P1 to be identified more reliably and with higher accuracy.

[0051] The vectorization instruction unit 219 controls the vectorization unit 244 to vectorize the sentences or texts that make up the design document D2 and the explanatory document P2, respectively. The vectors obtained through this vectorization are stored in the vector storage unit 265. The translation learning instruction unit 220 instructs the translation learning unit 246 to perform learning for the first translation unit 241 or the second translation unit 242. For example, the learning data is specified in that instruction. The explanatory text learning instruction unit 221 instructs the explanatory text learning unit 247 to perform learning for the explanatory text generation unit 243. For example, the learning data is specified in that instruction. The vectorization learning instruction unit 222 instructs the vectorization learning unit 248 to perform learning on the vectorization unit 244. For example, the learning data is specified in that instruction.

[0052] The similarity calculation unit 223 includes a target similarity calculation unit 223A and a similarity correction unit 223B. The target similarity calculation unit 223A calculates various similarities using vectors. The similarity correction unit 223B applies necessary corrections to the similarity calculated between the design document D2 and the explanatory document P2. This correction is performed by focusing on the numerical values ​​present in the text. Note that the similarity may also be obtained by the GPU 24, i.e., by AI.

[0053] The allocation unit 224 divides the design document D2 into multiple parts (division units) and, for each divided part, performs an allocation to identify the corresponding part in the explanatory document P2. The linking method determination unit 225 determines the linking method at the sentence level between the design document D2 and the explanatory document P2. This linking method is performed assuming the matching result by the matching unit 224.

[0054] The context verification unit 226 is for making fine adjustments to the allocation results. It identifies the design statements or documents that should be combined into the division units, and the combination is performed for each division unit. By performing such combinations, the linking of descriptions in the design document D2 and the descriptions in the explanatory document P2, with an emphasis on consistency, is completed, i.e., the traceability check is finished.

[0055] As a result of the traceability check described above, there is a possibility that unlinked portions may be found in design document D2 or source code P2. The linking candidate determination unit 227 targets such unlinked portions and identifies candidates (linking candidates) that are considered possible to link those portions. Employees can review these identification results.

[0056] As described above, in this embodiment, a text-based comparison using design document D2 and explanatory document P2 is performed to identify the corresponding section in explanatory document P2 for each division unit in design document D2, and the identified correspondence is fine-tuned to determine the final correspondence. Through this fine-tuning, even if a division unit is created by focusing on formal aspects and considering a range of sentences as semantically cohesive, it is possible to change that division unit to one in which a semantically cohesive sentence actually exists. Therefore, workers can perform traceability checks for each design item more reliably and easily.

[0057] The traceability check results are stored, for example, on the auxiliary storage device 26. The employee can then verify the traceability check results, for example, by having the screen generation unit 212 generate a screen containing the results from the auxiliary storage device 26, or by having the transmission / reception processing unit 211 send the screen to the employee terminal 31. The transmission of the results may be automated or performed upon request.

[0058] Furthermore, in this embodiment, design document D3 and source code P3 are generated and made available for employees to view. By making them available, workers can verify or infer the actual processing content and accuracy performed in the traceability check through design document D3 and source code P3. If both design document D3 and source code P3 closely match design document D1 and source code P1 in terms of content, it can be expected that the traceability check was also performed with high accuracy. Note that the method of presenting design document D3 and source code P3 is not particularly limited. However, it is desirable to present design document D3 and source code P3 in a way that makes it clear which parts of the document correspond to which.

[0059] The following section will explain in detail the processes involved in implementing the functional components on CPU21. Figure 4 is a flowchart showing an example of the traceability check process. This process is executed, for example, when an employee operating employee terminal 31 specifies design document D1 and source code P1 and instructs a traceability check. This process itself is implemented by the traceability assurance support application described above. Next, please refer to Figure 4 and we will explain this process in detail.

[0060] As described above, part of the traceability support application is executed by GPU24, and the rest is executed by CPU21. The flowchart shown in Figure 4 is an example of the processing to be executed by CPU21. Therefore, CPU21 is the main entity that executes the processing.

[0061] First, in step S11, the CPU 21 instructs the first translation unit 241 to translate the specified design document D1 into English. In the following step S12, the CPU 21 executes an explanation document conversion process in which the explanation document generation unit 243 converts the source code P1 into an explanation document P2. As a result, when the system moves to step S13, both the design document D2 and the explanation document P2 will exist.

[0062] In step S13, the CPU 21 performs a comparison process to compare the design document D2 and the explanatory document P2 and calculate the similarity. In the next step, S14, the CPU 21 identifies the correspondence between the texts in the design document D2 and the explanatory document P2 and performs a matching determination process to confirm the consistency between the texts. After that, this traceability check process is completed.

[0063] From here on, the subroutine processes executed within the traceability check process will be explained in detail with reference to the flowcharts shown in Figures 5 to 14. Figure 5 is a flowchart showing an example of the explanatory text conversion process performed as step S12 above. Next, we will refer to Figure 5 and explain this conversion process in detail. As described above, RAG is used for the conversion from source code P1 to explanatory document P2.

[0064] First, in step S21, the CPU 21 extracts identifiers from the source code P1. In the next step, S22, the CPU 21 creates a prompt input by adding a pair of identifiers and explanatory text for each program statement, for example. The explanatory text here is obtained by performing a search using the identifier as a key and extracting the necessary explanatory information from the explanatory information storage unit 261. In addition to the explanatory text, the prompt input outputs the source code corresponding to that explanatory text.

[0065] In the following step S23, the CPU 21 instructs the explanation generation unit 243 to generate an explanation text based on the created prompt input. This instruction to generate the explanation text is performed sequentially for the entire source code P1. As a result, step S24 is performed after the conversion of source code P1 to explanation document P2 is completed.

[0066] The generated descriptions may contain identifiers. Therefore, in step S24, the CPU 21 targets the descriptions that contain identifiers and replaces the identifiers with the corresponding descriptions. Through such replacements, the descriptions that make up the description document P2 can be made more natural.

[0067] In the following step S25, the CPU 21 performs a first mapping process that identifies the correspondence between the explanatory text and the corresponding section in the source code P1, focusing on relevance. In the next step, S26, the CPU 21 performs a second mapping process that identifies the correspondence between the explanatory text and the corresponding section in the source code P1, focusing on distance.

[0068] In the following step S27, the CPU 21 calculates the percentage of the entire source code P1 that is associated with the explanatory text. In the next step S28, the CPU 21 determines whether the calculated percentage is greater than or equal to a predetermined threshold. If the calculated percentage is greater than or equal to the threshold, the determination in step S28 is YES, and the explanatory text conversion process ends here. If the calculated percentage is less than the threshold, the determination in step S28 is NO, and the process returns to step S23. As a result, the conversion from source code P1 to explanatory document P2 is performed again. The calculation of the ratio in step S27 realizes the ratio calculation unit in this embodiment. Furthermore, if the determination in step S28 is NO and the process proceeds to step S23, the re-creation instruction unit in this embodiment is realized.

[0069] In step S23, it is necessary to generate an explanatory text using a different prompt input than before. In this embodiment, multiple types of prompts are prepared in advance, and by using an unselected type of prompt from among those prepared, different outputs (source code and explanatory text) can be obtained. Therefore, in the transitioning step S23, the selection of the prompt type and the creation of input for the selected prompt type will be performed further. By generating such explanatory texts, it becomes possible to perform more appropriate traceability checks.

[0070] Figure 6 is a flowchart showing an example of the first mapping process performed as step S25 described above. Next, we will refer to Figure 6 and explain this process in detail. The prompt input to the description generation unit 243 is created in units of one program statement. The output of the description generation unit based on the prompt input is the description and the source code (one or more program statements) corresponding to that description. The relevance (attention weight) is an index calculated to select the words that make up the description. Note that the prompt input may be created in units of multiple statements, rather than one program statement. Multiple statements here refer to a group of one or more statements.

[0071] First, in step S31, the CPU 21 obtains the relevance score for each word in each output. In the next step, S32, the CPU 21 extracts the maximum value for each word from the values ​​of layers 2 to 32. In the following step, S33, the CPU 21 sums the maximum values ​​for each word in each output, that is, for each explanatory sentence. In the subsequent step, S34, the CPU 21 sums the maximum values ​​for each word in each line of source code P1, that is, for each program statement.

[0072] In the subsequent step S35, the CPU 21 performs an outlier check on the sum of the values ​​of each line (program statement) in the source code P1 for each explanatory sentence, and identifies the outlier lines. In the next step S36, the CPU 21 associates all the outlier lines with the explanatory sentences in each output. After that, the first matching process is completed.

[0073] When a program statement that can be written on a single line is written on multiple lines, the description on each line is usually significantly different from the explanatory text of the program statement written on a single line. As a result, each line is likely to become an outlier. For this reason, in this embodiment, multiple lines that are outliers in source code P1 are treated as partial descriptions corresponding to the explanatory text and are associated with the explanatory text as a whole.

[0074] Figure 7 is a flowchart showing an example of the second mapping process performed as step S26 above. Next, we will refer to Figure 7 and explain this process in detail. First, in step S41, the CPU 21 selects the target output from the output of the explanation generation unit 243. In the next step S42, the CPU 21 extracts the source code portion from the selected output using a regular expression. In the following step S43, the CPU 21 calculates the distance to each line (program statement) of source code P1 using the source code portion of the regular expression. In the subsequent step S44, the CPU 21 identifies the line (program statement) with the smallest distance in source code P1 and associates the identified line with the output explanation.

[0075] In step S45, following step S44, the CPU 21 determines whether or not there are any unselected outputs. If all outputs have been matched, the determination in step S45 is YES, and the second matching process ends here. If there are unselected outputs, the determination in step S45 is NO, and the process returns to step S41. As a result, one of the unselected outputs is selected.

[0076] In the traceability check process shown in the flowchart example in Figure 4, the comparison process, which is executed as step S13, includes the calculation of inter-document similarity and the similarity correction process, which are executed as subroutines. These subroutine processes will now be explained.

[0077] Figure 8 is a flowchart illustrating an example of the process for calculating inter-document similarity. In the subroutine processes executed within the comparison process, Figure 8 is first referred to, and the process for calculating inter-document similarity is explained in detail.

[0078] First, in step S51, the CPU 21 controls the vectorization unit 244 to vectorize the entire design document D2 and explanatory document P2 sentence by sentence. In the following step S52, the CPU 21 uses the vectors obtained through vectorization to calculate the similarity for all sentence combinations in the design document D2 and explanatory document P2, and calculates the sum of the calculated similarity scores. This sum will hereafter be referred to as the "first sum".

[0079] In the next step, S53, the CPU21 calculates the similarity for all combinations of sentences in the design document D2 and then calculates the sum of the calculated similarities. This sum will hereafter be referred to as the "second sum". In the subsequent step S54, the CPU 21 calculates the similarity for all combinations of sentences in the explanatory document P2 and then calculates the sum of the calculated similarity scores. This sum will hereafter be referred to as the "third sum."

[0080] In step S55, following step S54, the CPU 21 calculates the overall similarity using the sum of the first to third values. After calculating this similarity, the document-to-document similarity calculation process ends. The overall similarity score can be calculated using, for example, the following formula. Overall similarity = 1st sum / (2nd sum + 3rd sum) The first total value represents the overall similarity between combinable sentences in design document D2 and explanatory document P2. The second and third total values ​​represent the overall similarity between combinable sentences within the same document. The overall similarity calculated using these first to third total values ​​by the above formula indicates the degree to which the descriptions in design document D2 and explanatory document P2 match, including their flow.

[0081] Figure 9 is a flowchart showing an example of the similarity correction process. This correction process adjusts the similarity calculated between sentences in design document D2 and explanatory document P2 by focusing on the numerical values ​​present in the sentences. Next, please refer to Figure 9 and we will explain the correction process in detail.

[0082] First, in step S61, the CPU 21 selects one statement (design statement) from the design document D2. In the following step S62, the CPU 21 selects one statement (explanatory statement) from the explanatory document P2. In the next step S63, the CPU 21 determines whether or not there is a numerical value in at least one of the two selected statements. If there is a numerical value in at least one of them, the determination in step S63 is YES and the process proceeds to step S64. If there is no numerical value in either of them, the determination in step S63 is NO and the process proceeds to step S67.

[0083] In step S64, the CPU 21 extracts numerical values ​​from each sentence. In the next step, S65, the CPU 21 determines the number of extracted numerical values ​​and whether all of them match. In the subsequent step, S66, the CPU 21 applies a similarity correction based on the result of that determination.

[0084] Similarity correction is performed only if, for example, the number of extracted values ​​is found to be different, or if it is determined that all the values ​​do not match. The similarity correction itself can also be performed by multiplying the original similarity by a predetermined constant less than 1, such as 0.6. By performing such similarity correction, a more appropriate similarity score that gives more weight to the differences in the values ​​can be obtained.

[0085] In step S67, following step S66, the CPU 21 determines whether there are any unselected sentences (explanatory texts) that can be combined with the explanatory document P2. If such explanatory texts exist, the determination in step S67 is YES and the process returns to step S62. If no such explanatory texts exist, the determination in step S67 is NO and the process proceeds to step S68.

[0086] In step S68, the CPU 21 determines whether or not there are any unselected sentences (design statements) in design document D2. If such design statements exist, the determination in step S68 is YES and the process returns to step S61. If no such design statements exist, the determination in step S68 is NO, and the similarity correction process ends here.

[0087] Figure 10 is a flowchart showing an example of the matching determination process executed as step S14 within the traceability check process described above. Next, we will refer to Figure 10 and explain the determination process in detail.

[0088] First, in step S71, the CPU 21 performs a matching process to identify the general correspondence between the design document D2 and the explanatory document P2. In this matching process, the design document D2 is divided into segments that are considered to be semantically cohesive, and for each segment, the degree of agreement is considered, and the segment in the explanatory document P1 that corresponds to that segment is extracted.

[0089] In the following step S72, the CPU 21 executes a linking method determination process to determine how to identify (link) the program statements in source code P1 that correspond to (link) each division unit of the design document D2. By executing this linking method determination process, the program statements in source code P1 are linked to the design statements in each division unit, taking consistency into consideration.

[0090] In the subsequent step S73, the CPU 21 performs a first context confirmation process to check how to handle design statements located before and after the division unit. In the following step S74, a second context confirmation process is performed to check how to handle multiple explanatory statements (texts) located before and after the division unit. The reason for focusing on multiple explanatory statements in the second context confirmation process is that there is a possibility that the correspondence between the texts in design document D2 and explanatory document P2 is one-to-many or multiple-to-one.

[0091] In step S75, following step S74, the CPU 21 performs a linking candidate determination process, which determines potential candidates for linking unlinked portions of the design statement or explanatory document. In the subsequent step S76, the CPU 21 performs a reverse transformation process for the design document D2 and explanatory document P2, that is, for generating design document D3 by translating design document D2 into Japanese, and for generating source code P3 from explanatory document P2. After the execution of this reverse transformation process, the matching determination process ends.

[0092] The following sections will provide a detailed explanation of the subroutine processes executed within the matching determination process. Figure 11 is a flowchart showing an example of the allocation process executed as step S71 above. In the subroutine processing executed within the matching determination process, Figure 11 is first referred to, and the allocation process is explained in detail.

[0093] First, in step S81, the CPU 21 divides the design document D2 into units. In the following step S82, the CPU 21 selects one of the units. In the next step, S83, the CPU 21 selects one of the functions (subroutine processes) described in the explanatory document P2. After that selection, the process proceeds to step S84.

[0094] In step S84, the CPU 21 calculates the degree of similarity, for example, between the division unit and the text in the explanatory document P2 that describes one function in the source code P1. When calculating similarity as the degree of similarity, the target text is vectorized by the vectorization unit 244. The degree of similarity calculated here will be referred to as "original degree of similarity" from now on to distinguish it from the degree of similarity described later.

[0095] In step S85, following step S84, the CPU 21 checks the call relationships between the selected function and other functions. In the next step, S86, it is determined whether the selected function calls other functions. If other functions are called, the determination in step S86 is YES and the process proceeds to step S87. If other functions are not called, the determination in step S86 is NO and the process proceeds to step S90.

[0096] In step S87, the CPU 21 expands the description of the selected function with the description of the called function and calculates the degree of agreement between the expanded description and the division unit. In the following step S88, the CPU 21 determines whether the calculated degree of agreement is higher than the original degree of agreement. If the consistency between the expanded description and the division unit is better, the degree of agreement calculated this time will be higher than the original degree of agreement. Therefore, the determination in step S88 is YES and the process moves to step S89. If the degree of agreement calculated this time is lower than or equal to the original degree of agreement, the determination in step S88 is NO and the process returns to step S85. This allows the system to check whether other functions have been called.

[0097] In step S89, the CPU 21 adopts the expanded text as the base text. Therefore, when expanding a text describing another function, the text to be expanded will be the one obtained in step S87. After updating this base text, the process returns to step S85.

[0098] If the judgment in step S86 is NO, the CPU 21 proceeds to step S90, where it determines whether there are any unselected functions. If there are unselected functions, the judgment in step S90 is YES, and the process returns to step S83. As a result, one of the unselected functions is selected. On the other hand, if there are no unselected functions, the judgment in step S90 is NO, and the process proceeds to step S91.

[0099] In step S91, the CPU 21 determines whether there are any other unselected division units. If there are unselected division units, the determination in step S91 is YES and the process returns to step 82. As a result, one of the unselected division units is selected. On the other hand, if there are no unselected division units, that is, if the association of explanatory texts to each division unit is completed, the determination in step S91 is NO and the allocation process ends here.

[0100] Figure 12 is a flowchart showing an example of the linking method determination process executed as step S72 within the matching determination process described above. Next, we will refer to Figure 12 and explain this determination process in detail.

[0101] During the linking method determination process, as described above, text from explanatory document P2 is linked to each division unit of design document D2 on a function-by-function basis. In the linking method determination process, the relevant parts are extracted from the linked text in explanatory document P2 on an explanatory sentence basis. In this embodiment, more consistent explanatory sentences are linked to the division units with higher accuracy.

[0102] First, in step S101, the CPU 21 selects one of the division units in the design document D2. In the following step S102, the CPU 21 determines the combinations of each design statement that constitutes the selected division unit and each explanatory statement that constitutes the corresponding description in the explanatory document P2, and extracts those combinations whose similarity exceeds a predetermined threshold. In the next step, S103, the CPU 21 determines the combinations of statements for the division unit located after the selected division unit, and extracts those combinations whose similarity exceeds a predetermined threshold.

[0103] Furthermore, the reason for including subsequent division units in addition to the selected division unit is that it is possible that design statements for the same processing content exist across multiple division units. For this reason, there may be three or more division units to target. Also, there is no particular restriction on their relative positions. The similarity is corrected as needed using the similarity correction process, for which an example flowchart is shown in Figure 9.

[0104] In step S104, following step S103, the CPU 21 counts the number of combinations that exceed the threshold. In the next step, S105, the CPU 21 determines whether there are other combinations, i.e., other ways of linking. If other unselected combinations exist, the determination in step S105 is YES, and the process returns to step S102. This allows for verification of design statement and explanatory statement combinations that exceed the threshold using unselected combinations. If no unselected combinations exist, the determination in step S105 is NO, and the process proceeds to step S106.

[0105] In step S106, the CPU 21 determines the combination with the maximum number of elements as the linking method and links the design statement and the explanatory statement. In the following step S107, the CPU 21 determines whether there are any other unselected division units. If there are unselected division units, the determination in step S106 is YES and the process returns to step S101. If there are no unselected division units, the determination in step S106 is NO and the linking method determination process ends here.

[0106] Figure 13 is a flowchart showing an example of the first contextual relationship confirmation process, which is executed as step S73 within the matching determination process described above. Next, we will refer to Figure 13 and explain this confirmation process in detail.

[0107] First, in step S151, the CPU 21 selects one division unit from the design document D2. In the next step, S152, the CPU 21 retrieves design statements located before and after the selected division unit, as well as explanatory statements located before and after the range of explanatory statements associated with that division unit, and which have a high degree of similarity to the retrieved design statements. In the subsequent step S153, the CPU 21 calculates the similarity for each combination of adding at least one of the retrieved pre- and post-sentence statements, and extracts the combinations with the highest calculated similarity.

[0108] The extracted combinations include, for example, a division unit plus the design statement preceding it, and the range of the explanatory text associated with that division unit plus the explanatory text following it. The calculated similarity is compared to the similarity without the preceding and succeeding sentences (the original similarity). If a higher similarity is calculated than the original similarity, meaning that there is a design statement that should be combined with the division unit, the link between the description in design document D2 and the description in explanatory document P2 is updated according to the combination with the highest similarity. Step S153 also executes the processing up to this point.

[0109] In step S154, following step S153, the CPU 21 determines whether there are any other unselected division units. If there are unselected division units, the determination in step S154 is YES, and the process returns to step S151. As a result, one of the unselected division units is selected. On the other hand, if there are no unselected division units, the determination in step S154 is NO, and the first context confirmation process ends here.

[0110] Figure 14 is a flowchart showing an example of the second contextual relationship confirmation process, which is executed as step S74 within the above-mentioned matching determination process. Next, we will refer to Figure 14 and explain this confirmation process in detail.

[0111] First, in step S201, CPU21 selects one of the division units in design document D2. In the next step, S202, CPU21 retrieves the sentences (multiple consecutive design sentences) located before and after the selected division unit. In the following step, S203, CPU21 combines the preceding sentence with the division unit and calculates the BLEU score, which is the similarity between the range of explanatory text associated with the division unit before combining and the division unit after combining. It also calculates the BLEU score for the uncombined division unit and the range of explanatory text associated with it. In the subsequent step, S204, CPU21 combines the following sentence with the division unit and calculates the BLEU score, which is the similarity between the range of explanatory text associated with the division unit before combining and the division unit after combining.

[0112] BLEU (score) is an index that evaluates the similarity to a reference text, and the higher the similarity, the larger the value. However, its calculation method differs from the similarity calculated using vectors. In this embodiment, by using two indices with different calculation methods, the validity of combining preceding and succeeding sentences at the division unit is evaluated with higher accuracy. Note that an index other than BLEU may be used to evaluate similarity. The index may be ROUGE (Recall-Oriented Understudy for Gisting Evaluation), METEOR (Metric for Evaluation of Translation with Explicit Ordering), or TER (Translation Edit Rate), etc.

[0113] In step S205, following step S204, the CPU 21 updates the association to the combination that yielded the higher similarity and BLEU score, if both the similarity and BLEU score for the unassociated combination are calculated. In the next step, S206, the CPU 21 determines whether or not the association has been updated. If the association has been updated, the determination in step S206 is YES, and the system returns to step S202. As a result, the sentences positioned before and after the updated association, i.e., the updated division unit, are retrieved. On the other hand, if the association has not been updated, the determination in step S206 is YES, and the system proceeds to step S207.

[0114] In step S207, the CPU 21 determines whether there are any other unselected division units. If there are unselected division units, the determination in step S207 is YES, and the process returns to step S201. As a result, one of the unselected division units is newly selected. On the other hand, if there are no unselected division units, the determination in step S207 is NO, and the second context confirmation process ends here.

[0115] Thus, in this embodiment, if there is a design statement or document to be combined at at least one position before or after a division unit, that design statement or document is combined with the division unit. Such a combination makes it possible to more appropriately link the document units between the design document D2 and the explanatory document P2.

[0116] The results of the document-level linking are stored, for example, on an auxiliary storage device 26, and can be checked at the employee's discretion. This makes it easy for employees to verify whether the execution content of the processes described in each document is implemented in the source code P1. Furthermore, by performing this verification in conjunction with checking the corresponding descriptions in the design document D3 and the source code P3, employees can more easily verify whether the linking is appropriate and whether the execution content is properly implemented in the source code P3.

[0117] Figure 15 is a flowchart showing an example of the linking candidate determination process executed as step S75 within the matching determination process described above. Finally, we will refer to Figure 15 and explain this linking candidate determination process in detail. As described above, this linking candidate determination process identifies and determines a candidate (linking candidate) to which a part (a sentence or text) that could not be linked can be linked.

[0118] First, in step S301, the CPU 21 extracts the unassigned portions of the design document D2 and the explanatory document P2. In the following step S302, the CPU 21 determines whether or not there are any unassigned portions. If unassigned portions are extracted, the determination in step S302 is YES and the process proceeds to step S303. If unassigned portions are not extracted, the determination in step S302 is NO, and the process of determining the candidate for assignment ends here.

[0119] In step S303, the CPU 21 performs a search to extract potential linking candidates from among the unlinked portions of the explanatory document P2 that can be linked, by referring to the linking results of the text before and after the unlinked portion extracted from, for example, the design document D2. This search is performed by determining the search range in the explanatory document P2 from the linking results of the text before and after the unlinked portion, and evaluating the validity of the linking for each unlinked portion within the determined search range. In this embodiment, a search for linking candidates is performed considering the positional relationship between the text in the explanatory document P2 that is linked to the text before and after the unlinked portion, and if an unlinked portion with high validity for linking can be extracted, the extracted unlinked portion is determined to be a linking candidate. As a result of this decision, the linking results are saved, for example, on the auxiliary storage device 26. For the evaluation of validity, that is, the determination of whether or not it is acceptable to link, a similarity score calculated using a vector may be used, for example.

[0120] The extracted unlinked portions are referred to as "linking candidates" because their reliability as linked portions is lower compared to those for which a link has been identified. For this reason, employees are instructed to distinguish between linking candidates and the unlinked portions linked to those candidates from other results. Instead of automatically linking these elements, it may be possible to have a worker perform the task. In that case, all unlinked elements may be made available to the worker, or only the unlinked elements for which no linking candidates could be extracted may be selectively made available to the worker.

[0121] As described above, in this embodiment, the entire design document D1 is linked to the source code P1, but the scope of the design document D1 to be targeted may be arbitrarily specified by the employee. The scope may be specified by, for example, inserting a page, item name, or identifier for scope specification into the design document D1. To make it easier and more appropriate for employees to specify the scope, interactive support may be provided, for example. In this case, for example, candidate scopes may be identified and the identified candidate scopes may be presented to the employee for selection. When candidate scopes are presented in this way, employees will be able to specify the necessary scope more reliably and easily. Candidate scopes can be identified by the process described above.

[0122] If such range specification is enabled, employees can view results limited to the scope for which traceability checks are required. This makes it easier to verify the necessary results. Such range specification may also be possible for source code P1. Therefore, only one document may be generated by the transformation of source code P1.

[0123] Furthermore, in this embodiment, source code P1 is converted into an English explanatory document P2, and the Japanese design document D1 is either left as is or converted into an English design document D2. However, the type of natural language used to express them is not particularly limited. The type of natural language may be arbitrarily selected considering conversion accuracy or machine translation accuracy, etc. [Explanation of Symbols]

[0124] 1. Information processing device (AP server), 2. Description conversion unit, 3. Comparison unit, 4. Match determination unit, 211 Transmission / reception processing unit, 213 Translation instruction unit, 214 Description text generation instruction unit, 215 Source code generation instruction unit, 216 Generation result confirmation unit, 217 Replacement unit, 218 Description text correspondence identification unit, 219 Vectorization instruction unit, 223 Similarity calculation unit, 224 Matching unit, 225 Linking method determination unit, 226 Context confirmation unit, 227 Linking candidate determination unit, 241 First translation unit, 242 Second translation unit, 243 Description text generation unit, 244 Vectorization unit, 245 Source code generation unit, D1 Design document (design data), P1 Source code, P2 Description document.

Claims

1. A text generation unit that converts the source code of software created in accordance with the design document and generates one or more documents containing one or more explanatory sentences describing the content of the processes executed by the source code, A correspondence identification unit that identifies the correspondence between the aforementioned text and the description in the design document, An information processing device equipped with the following features.

2. The aforementioned correspondence relationship identification unit is, A ratio calculation unit that calculates the proportion of the location in the source code that corresponds to the text generated by the text generation unit, Includes a re-creation instruction unit that causes the text generation unit to regenerate the text according to the ratio calculated by the ratio calculation unit, The information processing apparatus according to claim 1.

3. The aforementioned correspondence relationship identification unit is, The design document is divided into multiple division units, and for each division unit, a matching unit is provided to assign a document to that division unit. Includes a matching correction unit that, based on the change in the degree of agreement with the text, combines one or more sentences located before and after the matching unit, with respect to the matching unit linked by the matching unit, The information processing apparatus according to claim 1.

4. In an information processing device, The source code of the software created in accordance with the design document is converted, and one or more documents containing one or more explanatory sentences describing the content of the processes executed by the source code are generated. To identify the correspondence between the aforementioned text and the corresponding section in the design document, A program that executes a process.