Information processing device

The information processing device uses generative AI to convert source code between frameworks, addressing the inefficiencies of manual methods and tool-specific conversions, thereby reducing man-hours and improving conversion efficiency.

JP2026091385APending Publication Date: 2026-06-04HITACHI LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024204378
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-11-25
Publication Date
2026-06-04

AI Technical Summary

Technical Problem

Converting application source code to be compatible with new firmware (FW) requires significant manual effort or the creation of specific tools for each FW, leading to increased man-hours and inefficiency.

Method used

An information processing device utilizing generative artificial intelligence to convert source code between different frameworks by incorporating prompt templates and existing source code, reducing the need for manual effort and tool creation for each FW conversion.

Benefits of technology

The solution effectively suppresses the increase in man-hours required for converting application source code, even when multiple FWs need to be converted, enhancing efficiency and reducing the workload.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026091385000001_ABST
    Figure 2026091385000001_ABST
Patent Text Reader

Abstract

This information processing device suppresses the increase in man-hours required for converting application source code, even when the number of frameworks to be converted increases. [Solution] The program conversion device 10, which is an information processing device 10, includes a first source code acquisition unit 101 that acquires a first source code corresponding to a first framework, and a second source code acquisition unit 106 that creates a prompt by incorporating the first source code acquired by the first source code acquisition unit into a prompt template for converting the first source code into a second source code corresponding to a second framework different from the first framework, and acquires a second source code created by executing a generative artificial intelligence using the prompt.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

Background Art

[0002] Conventionally, in the development of Web site applications, for example, a framework using Java (registered trademark) or the like (hereinafter referred to as "FW") is essential. However, with the EoL (End of Life) of FW, in order to use a new FW without changing the functions of an application, it is necessary to convert the source code of the application into source code compatible with the new FW. Therefore, conventionally, various techniques for converting the source code of an application into source code compatible with a new FW have been proposed (see, for example, Patent Document 1).

[0003] In the technique disclosed in Patent Document 1, first, based on a first source file in which processing accompanied by screen display is described in a first programming language, an information processing apparatus extracts item values of items related to the display mode of elements constituting a screen form from a first code that defines the display mode of the elements in the first programming language. Then, the information processing apparatus generates a second code that defines the display mode of the elements in a second programming language by converting the variable name of the conversion code into the item value extracted from the first source file, and writes the converted second code to a second source file. Thereby, the program is converted without destroying the screen form.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] Incidentally, one possible method for converting application source code to source code compatible with a new firmware (FW) is manual conversion. However, with this method, the amount of manual work required becomes enormous when the application is large, making it impractical. Another conversion method is to use a rule-based tool that enables conversion between old and new FWs. However, with this method, a tool needs to be created for each FW to be converted, so the amount of work required to create the tool increases with each additional FW to be converted. Furthermore, the technology disclosed in Patent Document 1 essentially requires the creation of a tool for each FW to be converted, so it cannot resolve this problem.

[0006] The present invention was made to solve the above problems, and the object of the present invention is to provide an information processing device that can suppress the increase in man-hours required for the conversion of application source code, even if the number of firmwares to be converted increases. [Means for solving the problem]

[0007] To solve the above problems, the information processing device of the present invention comprises a first source code acquisition unit and a second source code acquisition unit. The first source code acquisition unit acquires a first source code corresponding to a first framework. The second source code acquisition unit creates a prompt by incorporating the first source code acquired by the first source code acquisition unit into a prompt template for converting the first source code into a second source code corresponding to a second framework different from the first framework. The second source code acquisition unit then acquires a second source code created by executing a generative artificial intelligence using the prompt. [Effects of the Invention]

[0008] According to the information processing apparatus of the present invention with the above configuration, for example, even if the number of firmwares to be converted increases, it is possible to suppress the increase in man-hours required for the conversion of the application source code. [Brief explanation of the drawing]

[0009] [Figure 1] This is a hardware configuration diagram of a program conversion device (information processing device) according to the first embodiment of the present invention. [Figure 2] This is a functional block diagram of a program conversion device according to the first embodiment of the present invention. [Figure 3] This diagram shows the operation flow of the first application source code conversion function of the program conversion device according to the first embodiment of the present invention. [Figure 4] This flowchart shows the procedure for the application source code conversion process (program conversion process) performed by the program conversion device according to the first embodiment of the present invention when the first application source code conversion function is activated. [Figure 5] This figure shows the display configuration of the input screen when specifying the class to be modified during the application source code conversion process when the first application source code conversion function of the program conversion device according to the first embodiment of the present invention is activated. [Figure 6] This figure shows an example of a prompt template used in the first application source code conversion function of the program conversion device according to the first embodiment of the present invention. [Figure 7] This figure shows an example of a prompt input to the generating AI during the application source code conversion process when the first application source code conversion function of the program conversion device according to the first embodiment of the present invention is activated. [Figure 8] This figure shows an example of the source code of a converted (destined) application obtained when the application source code conversion process is executed by the first application source code conversion function of the program conversion device according to the first embodiment of the present invention. [Figure 9] This diagram shows the operation flow of the second application source code conversion function of the program conversion device according to the first embodiment of the present invention. [Figure 10]This flowchart shows the procedure for the application source code conversion process when the second application source code conversion function is activated, as performed by the program conversion device according to the first embodiment of the present invention. [Figure 11] This flowchart shows the procedure for call graph analysis processing of the source firmware when the second application source code conversion function is activated, as performed by the program conversion device according to the first embodiment of the present invention. [Figure 12] This figure shows an example of the source code of the application before conversion (source) that is read during the call graph analysis process of the source firmware when the second application source code conversion function of the program conversion device according to the first embodiment of the present invention is activated. [Figure 13] This figure shows an example of the source code of the source firmware that is read during the call graph analysis process of the source firmware when the second application source code conversion function of the program conversion device according to the first embodiment of the present invention is activated. [Figure 14] This figure shows an example of the analysis results obtained in the call graph analysis process of the source firmware when the second application source code conversion function of the program conversion device according to the first embodiment of the present invention is activated. [Figure 15] This flowchart shows the procedure for analyzing the source firmware specification when the second application source code conversion function is activated, as performed by the program conversion device according to the first embodiment of the present invention. [Figure 16] This figure shows an example of a source FW specification that is read during the analysis process of the source FW specification when the second application source code conversion function of the program conversion device according to the first embodiment of the present invention is activated. [Figure 17] This figure shows an example of the analysis results obtained in the analysis process of the source FW specification when the second application source code conversion function of the program conversion device according to the first embodiment of the present invention is activated. [Figure 18] This flowchart shows the procedure for creating information related to the source firmware provision function when the second application source code conversion function is activated, as performed by the program conversion device according to the first embodiment of the present invention. [Figure 19]FIG. is an example of the source FW provision function related information created in the creation process of the source FW provision function related information when the second application source code conversion function of the program conversion device according to the first embodiment of the present invention operates. [Figure 20] FIG. is a flowchart showing the procedure of the prompt creation process when the second application source code conversion function of the program conversion device according to the first embodiment of the present invention operates. [Figure 21] FIG. is an example of the prompt template used in the second application source code conversion function of the program conversion device according to the first embodiment of the present invention. [Figure 22] FIG. is an example of the prompt input to the generation AI in the application source code conversion process when the second application source code conversion function of the program conversion device according to the first embodiment of the present invention operates. [Figure 23] FIG. is an example of the source code of the converted (destination) application obtained when the application source code conversion process is executed by the second application source code conversion function of the program conversion device according to the first embodiment of the present invention. [Figure 24] FIG. shows the operation flow of the third application source code conversion function of the program conversion device according to the first embodiment of the present invention. [Figure 25] FIG. is a flowchart showing the procedure of the application source code conversion process when the third application source code conversion function of the program conversion device according to the first embodiment of the present invention operates. [Figure 26] FIG. is a flowchart showing the procedure of the destination FW provision function related information creation process when the third application source code conversion function of the program conversion device according to the first embodiment of the present invention operates. [Figure 27] FIG. is an example of the destination FW specification document read in the creation process of the destination FW provision function related information when the third application source code conversion function of the program conversion device according to the first embodiment of the present invention operates. [Figure 28]This figure shows an example of information related to the conversion destination firmware provision function, which is created in the process of creating information related to the conversion destination firmware provision function when the third application source code conversion function of the program conversion device according to the first embodiment of the present invention is activated. [Figure 29] This flowchart shows the procedure for creating a prompt and converting the application source code when the third application source code conversion function is activated, as performed by the program conversion device according to the first embodiment of the present invention. [Figure 30] This figure shows an example of a prompt template used in the third application source code conversion function of the program conversion device according to the first embodiment of the present invention. [Figure 31] This figure shows an example of a prompt input to the generating AI during the application source code conversion process when the third application source code conversion function of the program conversion device according to the first embodiment of the present invention is activated. [Figure 32] This figure shows an example of the source code of a converted (destined) application obtained when the application source code conversion process is executed by the third application source code conversion function of the program conversion device according to the first embodiment of the present invention. [Figure 33] This is a functional block diagram of a program conversion device according to a second embodiment of the present invention. [Figure 34] This figure shows an example of past FW conversion results using a program conversion device according to a second embodiment of the present invention. [Figure 35] This is a flowchart showing the procedure for analyzing the conversion results of application source code, as performed by a program conversion device according to a second embodiment of the present invention. [Figure 36] This figure shows an example of the analysis results obtained in the application source code conversion performance analysis process by the program conversion device according to the second embodiment of the present invention. [Figure 37] This is a functional block diagram of a program conversion device according to a third embodiment of the present invention. [Figure 38]This figure shows an example of the source code of an application to be analyzed in the determination process of the application source code conversion function (prompt template) performed by the program conversion device according to the third embodiment of the present invention. [Figure 39] This is a flowchart showing the procedure for determining the application source code conversion function (prompt template) in a program conversion device according to the third embodiment of the present invention. [Modes for carrying out the invention]

[0010] The following will specifically describe the application program conversion device (information processing device) according to various embodiments of the present invention, with reference to the drawings. In the following description, "application source code" will be abbreviated as "app source code".

[0011] 1. First Embodiment [Hardware configuration of the program converter] Figure 1 shows the hardware configuration of a program conversion device 10 according to the first embodiment of the present invention. The program conversion device 10 of this embodiment is an information processing device for converting application source code (hereinafter referred to as "source application source code") created using a predetermined FW (first framework: hereinafter referred to as "source FW") into application source code (hereinafter referred to as "destination application source code") that can be handled by a different FW (second framework: hereinafter referred to as "destination FW").

[0012] The program conversion device 10 is composed of a computer device equipped with, for example, arithmetic processing functions, information storage functions, etc. Specifically, as shown in Figure 1, the program conversion device 10 comprises a processor 11, a main memory 12, an auxiliary memory 13, an input device 14, an output device 15, a communication device 160, and a bus line 17 that connects these devices to each other so that data can be transferred between them.

[0013] The processor 11 reads and executes the software program (source code) for realizing the various processing functions provided by the program conversion device 10 from the main memory 12 or auxiliary memory 13. The processor 11 may be composed of, for example, one or more semiconductor chips, or it may be composed of another computer device connected by a network, such as a computing server.

[0014] The main memory 12 is composed of, for example, RAM (Random Access Memory) and ROM (Read Only Member). The ROM stores, for example, programs (source code) executed by the processor 11, while the RAM temporarily stores, for example, calculation result data, image data, and processing programs necessary for each process.

[0015] The auxiliary storage device 13 is composed of a large-capacity storage device such as an HDD (Hard Disk Drive) or SSD (Solid State Drive). The auxiliary storage device 13 stores various data and programs (source code) necessary for arithmetic processing in the main memory 12. Therefore, the auxiliary storage device 13 also stores various data used during the application source code conversion process by the program conversion device 10. However, the present invention is not limited to this, and the various data used during the application source code conversion process by the program conversion device 10 may be stored on an external server or the like, and the various data may be acquired via a network when needed.

[0016] The input device 14 consists of, for example, an input device operated by an operator, such as a keyboard or mouse, and generates an operation signal corresponding to the operation content entered by the operator and supplies the operation signal to the processor 11. The output device 15 consists of, for example, a display device or a printer. The output device 15 may also transmit the processing results to another terminal. The display device may be configured as a touch panel, in which case the display device included in the output device 15 and the input device 14 are configured as an integrated unit. The communication device 16 communicates with an external server or terminal.

[0017] [Functional Configuration and Operation Overview of the Program Converter] Figure 2 is a functional block diagram of the program conversion device 10. Functionally, the program conversion device 10 comprises a conversion processing unit 100 and an information storage unit 200. In the program conversion device 10, the conversion processing unit 100 performs conversion processing of application source code (program) using various information stored in the information storage unit 200. Therefore, the conversion processing unit 100 is included in the processor 11 in Figure 1, and the information storage unit 200 is included in the main memory 12 and / or auxiliary memory 13 in Figure 1.

[0018] As shown in Figure 1, the conversion processing unit 100 functionally comprises a conversion target class input unit 101, a source FW source code analysis unit 102, a source FW specification analysis unit 103, a source application source code analysis unit 104, a destination FW specification analysis unit 105, and a source code creation unit 106. The specific operation of each functional unit constituting the conversion processing unit 100 will be explained later with reference to the drawings, but the general operation of each functional unit is as follows.

[0019] The class input unit 101 (first source code acquisition unit) acquires an input signal corresponding to the class specification operation of the application to be converted by the user of the program conversion device 10. Then, based on the input signal, the class input unit 101 extracts (acquires) the source application source code (first source code) of the specified class from the source application source code storage unit 201 described later.

[0020] The source FW source code analysis unit 102 retrieves the source code of the source FW from the source FW source code storage unit 202 (described later) and analyzes the contents of the retrieved source code of the source FW. The source FW specification analysis unit 103 retrieves the specification of the source FW (hereinafter referred to as the "source FW specification") from the source FW specification storage unit 203 (described later) and analyzes the contents of the retrieved source FW specification.

[0021] The source application source code analysis unit 104 analyzes the contents of the source application source code of the specified class extracted by the class input unit 101. The destination FW specification analysis unit 105 obtains the destination FW specification (hereinafter referred to as "destination FW specification") from the destination FW specification storage unit 204, described later, and analyzes the contents of the obtained destination FW specification.

[0022] The source code creation unit 106 (second source code acquisition unit) uses a generation AI (Artificial Intelligence) to convert the source application source code of the specified class extracted by the conversion target class input unit 101 into the conversion target application source code (second source code), based on the analysis results from the source FW source code analysis unit 102, source FW specification analysis unit 103, source application source code analysis unit 104, and destination FW specification analysis unit 105. The generation AI (generative artificial intelligence) used in the source code creation unit 106 can be an existing generation AI (a code generation type generation AI).

[0023] As shown in Figure 1, the information storage unit 200 functionally includes a source application source code storage unit 201, a source firmware source code storage unit 202, a source firmware specification storage unit 203, a target firmware specification storage unit 204, and a prompt template storage unit 205.

[0024] The source application source code storage unit 201 stores various source application source codes created by the source firmware to be converted. The source firmware source code storage unit 202 stores various source codes of the source firmware to be converted (hereinafter referred to as "source firmware source code"). The source firmware specification storage unit 203 stores the source firmware specification. The destination firmware specification storage unit 204 stores the destination firmware specification. In addition, the prompt template storage unit 205 stores multiple prompt templates corresponding to the multiple application source code conversion functions provided by the program conversion device 10, which will be described later.

[0025] [Application source code conversion function included in the program conversion device] The program conversion device 10 of this embodiment is provided with three types of application source code conversion functions.

[0026] The first application source code conversion function operates when both the source and target firmware are publicly available firmware (hereinafter referred to as "open firmware"). In other words, the first application source code conversion function operates when sufficient data, such as the specifications of the source and target firmware (e.g., provided functions, etc.) and various source codes, which can serve as training data for the generating AI, already exists.

[0027] The second application source code conversion function operates when the target firmware is an open firmware, but the source firmware is a proprietary firmware developed by a company or other organization and not publicly released (hereinafter referred to as "proprietary firmware"). In this case, for example, data such as the specifications of the source firmware (e.g., provided functions, etc.) and various source code (training data) does not exist. Therefore, when the second application source code conversion function is activated, various related information such as the specifications of the source firmware (e.g., provided functions, etc.) (hereinafter referred to as "source firmware provided function related information") is created in advance as one of the input data for the generating AI.

[0028] The third application source code conversion function operates when both the source and target firmwares are proprietary firmwares. In this case, for example, data such as specifications (e.g., provided functions, etc.) and various source codes (training data) for both the source and target firmwares do not exist. Therefore, when the third application source code conversion function is activated, information related to the provided functions of the source firmware is created in advance as one of the input data for the generating AI, similar to when the second application source code conversion function is activated. Furthermore, when this conversion function is activated, various related information such as the specifications (e.g., provided functions, etc.) of the target firmware (hereinafter referred to as "target firmware provided function related information") is also created in advance as one of the input data for the generating AI.

[0029] [Operation of the first application source code conversion function] (1) Operation overview First, the operation of the first application source code conversion function provided by the program conversion device 10 will be explained in detail with reference to the diagram. Figure 3 is a diagram showing the operation flow of the first application source code conversion function.

[0030] In the first application source code conversion function, when user A of the program conversion device 10 performs an operation to specify the class of the application to be converted, the specified class information C corresponding to that operation is input to the conversion target class input unit 101.

[0031] Next, when the target class input unit 101 receives the specified class information C, it extracts (acquires) the source application source code D2 for the specified class from the various source application source codes D1 stored in the source application source code storage unit 201 (operation P1 in Figure 3). Then, the target class input unit 101 outputs the extracted source application source code D2 for the specified class to the source code creation unit 106.

[0032] Next, the source code creation unit 106 incorporates the source application source code D2 of the specified class input from the class to be converted 101 as input data for the generating AI into the prompt template for the first application source code conversion function (first prompt template), and creates a prompt. Note that in the first application source code conversion function, since the generating AI used has already been sufficiently trained on the source FW and destination FW, it does not require any related information other than the source application source code D2 of the specified class input from the class to be converted 101 to the source code creation unit 106. Then, the source code creation unit 106 executes the prompt to perform the application source code conversion process and creates and outputs the destination application source code D3 as the conversion result (operation P2 in Figure 3).

[0033] (2) Processing flow of application source code conversion process Next, we will specifically explain the contents of the application source code conversion process (program conversion process) performed by the program conversion device 10 when the first application source code conversion function is activated. Figure 4 is a flowchart showing the procedure of the application source code conversion process performed by the program conversion device 10 when the first application source code conversion function is activated. Note that the control of the application source code conversion process shown in Figure 4 is executed in software by the CPU (not shown) included in the processor 11 of the program conversion device 10.

[0034] First, when user A of the program conversion device 10 performs an operation to specify the class to be converted, the class to be converted input unit 101 performs a class to be converted specification and extraction process based on the specified class information C corresponding to the operation (S1). Specifically, the class to be converted input unit 101 extracts (acquires) the source application source code D2 of the specified class from the various source application source codes D1 stored in the source application source code storage unit 201, based on the input specified class information C.

[0035] Here, with reference to Figure 5, an example of user A's operation to specify the class to be converted will be explained. Figure 5 is a diagram showing an example of the configuration of input boxes for various specification information displayed on the display screen 15a of the display device (not shown) included in the output device 15 of the program conversion device 10 when user A performs the operation to specify the class to be converted. As shown in Figure 5, the display screen 15a when user A performs the operation to specify the class to be converted displays the input box 151 for the class to be converted, the input box 152 for the function to be converted, the input box 153 for the destination FW, the input box 154 for the source FW specification, the input box 155 for the destination FW specification, and the execute button 156. Note that user A's operation to input information into each input box and the operation to press the execute button 156 are performed by a predetermined operation on user A's input device 14.

[0036] The input box 151 for the class to be converted contains the class specification information of the source application source code to be converted. In the example shown in Figure 5, information indicating the storage location of the source application source code of the class to be converted within the source application source code storage unit 201 (project / src / AAA.FW_A) is entered. The input box 152 for the function to be converted contains information about the processing function of the source application source code to be converted (in the example shown in Figure 5, the exception handling function). The input box 153 for the destination FW contains information specifying the type of destination FW (in the example shown in Figure 5, FW_B).

[0037] The input box 154 for the source FW specification is where the specification information for the source FW specification is entered. In the example shown in Figure 5, information indicating the storage location (source / specification) of the source FW specification within the source FW specification storage unit 203 is entered. Similarly, the input box 155 for the target FW specification is where the specification information for the target FW specification is entered. In the example shown in Figure 5, information indicating the storage location (target / specification) of the target FW specification within the target FW specification storage unit 204 is entered. Note that in the first application source code conversion function, since the generating AI used has already been sufficiently trained on the source and target FWs, it is not necessary to input the specification information for the source and target FW specifications. After the user A has entered the various specification information on the display screen 15a, when the execute button 156 is pressed, the process S1 described above is executed.

[0038] Now, returning to the explanation of the flowchart shown in Figure 4, after the processing in S1, the source code creation unit 106 reads the prompt template for the first application source code conversion function from the prompt template storage unit 205 (S2).

[0039] Figure 6 shows an example of a prompt template for the first application source code conversion function read during processing S2. The prompt for the first application source code conversion function is a prompt template for the first application source code conversion function to convert the source application source code D2 to the target application source code D3. As shown in Figure 6, the prompt for the first application source code conversion function consists of an instruction statement cd and input data Sc1. In the example prompt template shown in Figure 6, the instruction statement cd is defined as "Please rewrite the following source code so that it can be used in FW_B," and the input data Sc1 is defined as the source application source code {SourceCode}.

[0040] Next, the source code creation unit 106 creates a prompt (S3). In this process, the source code creation unit 106 incorporates the source code D2 of the source application extracted in the S1 process as input data for the generating AI into the prompt template read in the S2 process, and creates a prompt to be input to the generating AI.

[0041] Figure 7 shows an example of a prompt created by the S3 process. The input data Sc1 in the prompt incorporates (is inputted) the source application code D2, as shown in Figure 7. In the example shown in Figure 7, the source application code D2 is the application source code for the exception handling function, which is "public void sampleMethod(Request request)(newline)...(omitted)...(newline)System.out.printIn("Document generation failed:"+e.getMessage())(newline)}(newline)}".

[0042] Next, the source code generation unit 106 converts the application source code (S4). Specifically, the source code generation unit 106 inputs the prompt created in the S3 process into the generation AI and executes it. This performs the conversion process of the application source code.

[0043] Figure 8 shows an example of the target application source code D3 obtained through the conversion process of the application source code in S4. In the example shown in Figure 8, the source application source code D2 shown in Figure 7 is converted into the target application source code D3, which is an exception handling function, and is " / / omitted (newline)@ExceptionHandler(Exception.class)(newline)...(omitted)...(newline)System.out.printIn("Document generation failed:"+e.getMessage())(newline)return"error";(newline)}".

[0044] Next, the source code creation unit 106 outputs the target application source code D3 (the conversion result of S4) (S5). In this process, the source code creation unit 106 may store the target application source code D3 as file data in the information storage unit 200 within the program conversion device 10, or it may output it to an external device of the program conversion device 10. At this time, the target application source code D3 may be displayed on the display screen 15a of a display device (not shown) included in the output device 15 of the program conversion device 10, for example, or it may be printed on paper or the like. After the processing in S5, the conversion processing unit 100 terminates the application source code conversion process when the first application source code conversion function is activated.

[0045] [Operation of the second application source code conversion function] (1) Operation overview Next, the operation of the second application source code conversion function provided by the program conversion device 10 will be explained in detail with reference to the drawings. Figure 9 is a diagram showing the operation flow of the second application source code conversion function.

[0046] In the second application source code conversion function, first, when user A of the program conversion device 10 performs an operation to specify the class of the application to be converted, the specified class information C corresponding to that operation is input to the conversion target class input unit 101.

[0047] Next, when the target class input unit 101 receives the specified class information C, it extracts (acquires) the source application source code D2 for the specified class from the various source application source codes D1 stored in the source application source code storage unit 201 (operation P1 in Figure 9).

[0048] The class input unit 101 then outputs the source application source code D2 of the extracted specified class to the source code creation unit 106. At the same time, the class input unit 101 also outputs the source application source code D2 of the extracted specified class to the source FW source code analysis unit 102 (analysis operation P3 in Figure 9).

[0049] Next, in the analysis operation P3 shown in Figure 9, the source FW source code analysis unit 102 obtains the source FW source code D5 from the source FW source code storage unit 202. Then, the source FW source code analysis unit 102 performs call graph analysis using the source application source code D2 and the source FW source code D5 to identify the call relationships between the two source codes.

[0050] Furthermore, in the analysis operation P3 in Figure 9, the source FW specification analysis unit 103 obtains the source FW specification D4 from the source FW specification storage unit 203. Next, the source FW specification analysis unit 103 analyzes the content of the functions provided by the source FW based on the source FW specification D4, the source FW source code D5, and the results of the call graph analysis by the source FW source code analysis unit 102. Then, the source application source code analysis unit 104 creates source FW provided function-related information D6 (information regarding the functions provided by the first framework) that defines information regarding the content of the functions provided by the source FW based on these analysis results, and outputs the source FW provided function-related information D6 to the source code creation unit 106.

[0051] Next, the source code creation unit 106 incorporates the source application source code D2 of the specified class input from the class input unit 101 and the source FW provision function related information D6 input from the source application source code analysis unit 104 as input data for the generated AI into the prompt template for the second application source code conversion function (second prompt template), and creates a prompt. Then, the source code creation unit 106 executes the prompt to perform the application source code conversion process and creates and outputs the target application source code D3 as the conversion result (operation P2 in Figure 9).

[0052] (2) Processing flow of application source code conversion process Next, we will specifically explain the content of the application source code conversion process (program conversion process) performed by the program conversion device 10 when the second application source code conversion function is activated. Figure 10 is a flowchart showing the procedure of the application source code conversion process performed by the program conversion device 10 when the second application source code conversion function is activated. Note that the control of the application source code conversion process shown in Figure 10 is executed in software by the CPU (not shown) included in the processor 11 of the program conversion device 10.

[0053] First, when user A of the program conversion device 10 performs an operation to specify the class to be converted, the class to be converted input unit 101 performs a class to be converted specification and extraction process based on the specified class information C corresponding to the operation (S11). Specifically, the class to be converted input unit 101 extracts (acquires) the source application source code D2 of the specified class from the various source application source codes D1 stored in the source application source code storage unit 201 based on the input specified class information C. Note that user A performs the operation to specify the class to be converted in the same manner as the operation described in Figure 5.

[0054] Next, the source FW source code analysis unit 102 performs call graph analysis of the source FW (S12). In this process, the source FW source code analysis unit 102 performs call graph analysis using the source application source code D2 and the source FW source code D5 to identify the call relationships between the two source codes. Details of the call graph analysis process of the source FW by the source FW source code analysis unit 102 will be explained later with reference to Figure 11.

[0055] Next, the source FW specification analysis unit 103 performs analysis processing on the source FW specification D4 (S13). In this process, the source FW specification analysis unit 103 identifies the functions provided by the source FW used in the source application source code D2, based on the source application source code D2 and the source FW specification D4. Details of the analysis processing of the source FW specification D4 by the source FW specification analysis unit 103 will be explained later with reference to Figure 15.

[0056] Next, the source application source code analysis unit 104 performs the process of creating source FW-provided function-related information D6 (S14). In this process, the source application source code analysis unit 104 creates source FW-provided function-related information D6 based on the analysis results of S12 and S13. Details of the process by which the source application source code analysis unit 104 creates source FW-provided function-related information D6 will be explained later with reference to Figure 18.

[0057] Next, the source code creation unit 106 performs prompt creation processing and application source code conversion processing (S15). In this process, the source code creation unit 106 first incorporates predetermined input data (source application source code D2 and source FW provision function related information D6) into a prompt template for the second application source code conversion function to create a prompt to be input to the generation AI. Next, the source code creation unit 106 inputs the created prompt to the generation AI and executes it to convert the source application source code D2 to the target application source code D3. Details of the prompt creation processing and application source code conversion processing in the source code creation unit 106 when the second application source code conversion function is activated will be explained later with reference to Figure 20.

[0058] Next, the source code creation unit 106 outputs the target application source code D3 (the conversion result of S15) (S16). The output manner of the target application source code D3 in this process is the same as the output manner of the target application source code D3 when the first application source code conversion function is activated, as explained in the process of S5 in Figure 4. After the process of S16, the conversion processing unit 100 terminates the application source code conversion process when the second application source code conversion function is activated.

[0059] (2-1) Processing flow of the call graph analysis process of the source FW Next, referring to Figure 11, we will describe the call graph analysis process of the source FW that is called and executed in process S12 during the application source code conversion process (see Figure 10) when the second application source code conversion function is activated. Figure 11 is a flowchart showing the procedure for the call graph analysis process of the source FW.

[0060] First, the source FW source code analysis unit 102 reads the source application source code D2 extracted by the target class input unit 101 (S21).

[0061] Figure 12 shows an example of the source application source code D2 that is read in the S21 process. In the example shown in Figure 12, the source application source code D2 to be converted is the application source code of an exception handling function created with a proprietary FW developed by XXX company, which is "import jp.co.XXX.ApplicationException;(newline) / / omitted(newline)throw new ApplicationException("code001","Input / output error.");(newline) / / omitted".

[0062] Next, the source FW source code analysis unit 102 reads the source FW source code D5 (S22). In this process, the source FW source code analysis unit 102 reads the source FW source code D5 from the source FW source code storage unit 202.

[0063] Figure 13 shows an example of the source FW source code D5 that is read in the S22 process. In the example shown in Figure 13, the source FW source code D5 is the FW source code for the exception handling function, which is "public ApplicationException(){(newline)super();(newline)}(newline)public ApplicationException(String message){(newline)super(message);(newline)}(newline) / / omitted".

[0064] Next, the source FW source code analysis unit 102 performs call graph analysis using the source application source code D2 and the source FW source code D5 to analyze the call relationships between the methods (constructors) of both source codes (S23). Then, the source FW source code analysis unit 102 extracts the methods (constructors) of the source FW source code D5 that are in a call relationship with the source application source code D2 (S24).

[0065] Next, the source FW source code analysis unit 102 extracts the name of the method (method (constructor) name), the data type of the method's arguments, the meaning of the arguments, the data type of the return value, and the meaning of the return value, which were extracted in the processing of S24 (S25).

[0066] Figure 14 summarizes the method (constructor) name, method arguments, return value data type, and meaning of the return value extracted for each method in the S25 process as table data. Note that Figure 14 only includes information on the exception handling method "ApplicationException," and descriptions of other methods are omitted.

[0067] In the example shown in Figure 14, for example, in method number "01", the method (constructor) name "ApplicationException", the data type of the method argument "blank (none)", the meaning of the argument "blank (none)", the data type of the return value "- (unspecified)", and the meaning of the return value "- (unspecified)" are defined in association. For example, in method number "02", the method (constructor) name "ApplicationException", the data type of the method argument "boolean (boolean value)", the meaning of the argument "outputFlag (output flag)", the data type of the return value "- (unspecified)", and the meaning of the return value "- (unspecified)" are defined in association. For example, in method number "03", the method (constructor) name "ApplicationException", the data type of the method argument "int (integer)", the meaning of the argument "statusNumber", the data type of the return value "- (unspecified)", and the meaning of the return value "- (unspecified)" are defined in association. For example, in method number "04", the method (constructor) name "ApplicationException", the data type of the method argument "string", the meaning of the argument "message", the data type of the return value "- (unspecified)", and the meaning of the return value "- (unspecified)" are all defined in association with each other.

[0068] Furthermore, in the example shown in Figure 14, for example, in method number "05", the method (constructor) name "ApplicationException", the data type of the method argument "string, string", the meaning of the argument "errorCode, message", the data type of the return value "- (unspecified)", and the meaning of the return value "- (unspecified)" are defined in association. For example, in method number "06", the method (constructor) name "ApplicationException", the data type of the method argument "boolean, string", the meaning of the argument "outputFlag, message", the data type of the return value "- (unspecified)", and the meaning of the return value "- (unspecified)" are defined in association. For example, in method number "07", the method (constructor) name "ApplicationException", the data type of the method argument "boolean, int", the meaning of the argument "outputFlag, statusNumber", the data type of the return value "- (unspecified)", and the meaning of the return value "- (unspecified)" are defined in association.

[0069] Furthermore, while the exception handling method "ApplicationException" does not have a return value, for other methods that do have return values, the corresponding data type and meaning of the return value are defined in the call graph analysis result table data shown in Figure 14. In addition, the call graph analysis result (table data) shown in Figure 14 may be temporarily stored in RAM or the like in the main memory 12 of the program conversion device 10, or it may be stored in ROM or auxiliary storage device 13 in the main memory 12.

[0070] Then, after processing in S25, the conversion processing unit 100 terminates the call graph analysis process of the source FW and returns to processing in S13 during the application source code conversion process (see Figure 10) when the second application source code conversion function is activated.

[0071] (2-2) Processing flow for analyzing the source FW specification Next, referring to Figure 15, we will explain the analysis process of the source FW specification D4, which is called and executed in process S13 during the application source code conversion process (see Figure 10) when the second application source code conversion function is activated. Figure 15 is a flowchart showing the procedure for the analysis process of the source FW specification D4.

[0072] First, the source FW specification analysis unit 103 reads the source FW specification D4 from the source FW specification storage unit 203 (S31). Figure 16 shows an example of the source FW specification D4 read in the S31 process. The source FW specification D4 shown in Figure 16 is an example of a specification document concerning the exception handling function in the source FW, and the source FW specification contains information such as the classpath (jp.co.XXX.ApplicationException), class name (ApplicationException), class overview (class that handles business exceptions), and related functions (exception handling function).

[0073] Next, the source FW specification analysis unit 103 extracts import statements from the source application source code D2 of the specified class that has been input from the class input unit 101 (S32). For example, if the source application source code D2 that has been input from the class input unit 101 is the source application source code shown in Figure 12, the import statement "import jp.co.XXX.ApplicationException;" is extracted in the process of S32.

[0074] Next, the source FW specification analysis unit 103 extracts the classpath of the source FW source code D5 that has a call relationship with the source application source code D2, based on the import statements extracted in the S32 process (S33). For example, if the source application source code D2 entered from the class input unit 101 is the source application source code shown in Figure 12, the classpath "jp.co.XXX.ApplicationException" is extracted in the S33 process.

[0075] Next, the source FW specification analysis unit 103 identifies the functions provided by the source FW used in the source application source code D2 from the classpath extracted in the S33 process and the classpath information described in the source FW specification D4 (S34). For example, if the source application source code D2 input from the class input unit 101 is the source application source code shown in Figure 12, and the source FW specification D4 is the specification shown in Figure 16, then in the S34 process, the exception handling function is identified as a function provided by the source FW.

[0076] Figure 17 summarizes the relationship (analysis result) between the classpath identified by the analysis of the source FW specification D4 by the source FW specification analysis unit 103 and the functions provided by the source FW, as table data. In the example shown in Figure 17, for example, analysis result number "01" specifies the correspondence between the classpath "jp.co.XXX.ApplicationException" and its provided function "Exception Handling Function". Also, for example, analysis result number "02" specifies the correspondence between the classpath "jp.co.XXX.MessageGet" and its provided function "Message Acquisition Function". The analysis results (table data) of the source FW specification D4 shown in Figure 17 may be temporarily stored in the RAM or the like in the main memory 12 of the program conversion device 10, or they may be stored in the ROM or auxiliary storage device 13 in the main memory 12.

[0077] Then, after processing in S34, the conversion processing unit 100 finishes the analysis of the source FW specification D4 and returns to processing in S14 during the application source code conversion process (see Figure 10) when the second application source code conversion function is activated.

[0078] (2-3) Processing flow for creating information related to the functions provided by the source firmware Next, referring to Figure 18, we will explain the process of creating the source FW provided function-related information D6, which is called and executed in process S14 during the application source code conversion process (see Figure 10) when the second application source code conversion function is activated. Figure 18 is a flowchart showing the procedure for creating the source FW provided function-related information D6.

[0079] First, the source application source code analysis unit 104 reads the call graph analysis results of the source firmware (see Figure 14) performed by the source firmware source code analysis unit 102 (S41). Next, the source application source code analysis unit 104 reads the analysis results of the source firmware specification D4 (see Figure 17) performed by the source firmware specification analysis unit 103 (S42).

[0080] Next, the source application source code analysis unit 104 performs a call graph analysis using the loaded source application source code D2 and source FW source code D5 to analyze the call relationships between methods in both source codes (S43). Then, the source application source code analysis unit 104 extracts the code of the call location of source FW source code D5 from source application source code D2 (S44). This process is performed based on the analysis results read in S41 and the analysis results in S43.

[0081] Next, the source code analysis unit 104 extracts the argument values ​​and data types from the code extracted in the S44 process (S45). This process is performed based on the analysis results read in the S42 process. Then, the source code analysis unit 104 extracts the meaning of each argument extracted in the S45 process from the analysis results of each analysis unit described above (S46).

[0082] Next, the source application source code analysis unit 104 performs the process of creating source FW-provided function-related information D6 based on the analysis results of the source application source code D2 and the extraction results of information regarding arguments (S47). In this process, the source application source code analysis unit 104 creates source FW-provided function-related information D6, which is information that summarizes the functions, class names, and argument values, data types, and meanings of the source application source code D2 in a predetermined format.

[0083] Figure 19 shows an example of the source FW provided function-related information D6 created in the S47 process. In the source FW provided function-related information D6 shown in Figure 19, the function name "Exception Handling Function", source code location "100", and class name "ApplicationException" are first defined within a predetermined format starting with "fw_functions:". Subsequently, within the predetermined format of the source FW provided function-related information D6, the value, data type, and meaning of each argument are defined as a set of information. In the example shown in Figure 19, the argument value "code001", data type "string", and meaning "errorCode" are defined as a set of information, and the argument value "Input / output error.", data type "string", and meaning "message" are defined as a set of information.

[0084] Then, after processing in S47, the conversion processing unit 100 finishes the process of creating the source FW provided function-related information D6 and returns to the process in S15 during the application source code conversion process (see Figure 10) when the second application source code conversion function is activated.

[0085] (2-4) Processing flow for creating prompts and converting application source code Next, referring to Figure 20, we will explain the prompt creation process and the application source code conversion process that are called and executed in process S15 during the application source code conversion process (see Figure 10) when the second application source code conversion function is activated. Figure 20 is a flowchart showing the procedure for the prompt creation process and the application source code conversion process when the second application source code conversion function is activated.

[0086] First, the source code creation unit 106 reads the source FW provision function-related information D6 (see Figure 19) created by the source application source code analysis unit 104 (S51). Next, the source code creation unit 106 reads the prompt template for the second application source code conversion function from the prompt template storage unit 205 (S52).

[0087] Figure 21 shows an example of a prompt template for the second application source code conversion function that is read in the S52 process. The prompt for the second application source code conversion function is a prompt template for the second application source code conversion function to convert the source application source code D2 to the target application source code D3. As shown in Figure 21, the prompt template for the second application source code conversion function consists of an instruction statement cd, and the first input data Sc1 and the second input data Sc2. In the example prompt template shown in Figure 21, the instruction statement cd specifies two instructions: "Please rewrite the following source code to become the source code of FW_C." and "Please refer to the following source FW function-related information for the FW-provided functions used in the source application source code." In addition, in the example prompt template shown in Figure 21, the first input data Sc1 specifies the source application source code {SourceCode}, and the second input data Sc2 specifies source FW function-related information {SourceFWFunctionInformation}.

[0088] Next, the source code creation unit 106 creates a prompt (S53). In this process, the source code creation unit 106 incorporates the loaded source application source code D2 and source FW provided function-related information D6 as input data for the generation AI into the prompt template read in the S52 process, and creates a prompt to be input to the generation AI.

[0089] Figure 22 shows an example of a prompt created in the S53 process. In the prompt shown in Figure 22, the first input data Sc1 incorporates (is input) the source application source code D2 shown in Figure 12, and the second input data Sc2 incorporates the source FW provided function related information D6 shown in Figure 19.

[0090] Next, the source code generation unit 106 converts the application source code (S54). Specifically, the source code generation unit 106 inputs the prompt created in the S53 process to the generation AI and executes it. This performs the conversion process of the application source code.

[0091] Figure 23 shows an example of the target application source code D3 obtained when the prompt shown in Figure 22 is input to the generating AI and executed. In the example shown in Figure 23, the source application source code D2 shown in Figure 12 is converted to the target application source code D3, which is "throw new Exception("Input / output error.")(newline) / / omitted".

[0092] Then, after processing in S54, the conversion processing unit 100 finishes the prompt creation process and the application source code conversion process, and returns to processing in S16 during the application source code conversion process (see Figure 10) when the second application source code conversion function is activated.

[0093] [Operation of the third application source code conversion function] (1) Operation overview Next, the operation of the third application source code conversion function provided by the program conversion device 10 will be explained in detail with reference to the diagrams. Figure 24 is a diagram showing the operation flow of the third application source code conversion function.

[0094] In the third application source code conversion function, first, when user A of the program conversion device 10 performs an operation to specify the class of the application to be converted, the specified class information C corresponding to that operation is input to the conversion target class input unit 101.

[0095] Next, when the target class input unit 101 receives the specified class information C, it extracts (acquires) the source application source code D2 for the specified class from the various source application source codes D1 stored in the source application source code storage unit 201 (operation P1 in Figure 24).

[0096] The class to be converted input unit 101 then outputs the source application source code D2 of the extracted specified class to the source code creation unit 106. At the same time, the class to be converted input unit 101 also outputs the source application source code D2 of the extracted specified class to the source FW source code analysis unit 102 (analysis operation P3 in Figure 24). Furthermore, at the same time, the class to be converted input unit 101 also outputs the source application source code D2 of the extracted specified class to the destination FW specification analysis unit 105 (analysis operation P4 in Figure 24).

[0097] Next, in the analysis operation P3 shown in Figure 24, the source FW source code analysis unit 102 obtains the source FW source code D5 from the source FW source code storage unit 202. Then, the source FW source code analysis unit 102 performs call graph analysis using the source application source code D2 and the source FW source code D5 to identify the call relationships between the two source codes.

[0098] Furthermore, in the analysis operation P3 in Figure 24, the source FW specification analysis unit 103 obtains the source FW specification D4 from the source FW specification storage unit 203. Next, the source FW specification analysis unit 103 analyzes the content of the functions provided by the source FW based on the source FW specification D4, the source FW source code D5, and the results of the call graph analysis by the source FW source code analysis unit 102. Then, the source application source code analysis unit 104 creates source FW provided function-related information D6 based on these analysis results and outputs the source FW provided function-related information D6 to the source code creation unit 106. At this time, the source application source code analysis unit 104 also outputs the source FW provided function-related information D6 to the destination FW specification analysis unit 105 (analysis operation P4 in Figure 24).

[0099] Next, in analysis operation P4 in Figure 24, the target FW specification analysis unit 105 obtains the target FW specification D7 from the target FW specification storage unit 204. Also in analysis operation P4, the target FW specification analysis unit 105 analyzes the contents of the obtained target FW specification D7 and the source FW provided function related information D6, and extracts the specifications (provided functions) in the target FW that correspond to the FW provided functions used in the source application source code D2. Then, in analysis operation P4, the target FW specification analysis unit 105 creates target FW provided function related information D8 (information regarding the provided functions of the second framework) that defines information regarding the contents of the extracted provided functions in the target FW based on the analysis results, and outputs the target FW provided function related information D8 to the source code creation unit 106.

[0100] Next, the source code creation unit 106 incorporates the source application source code D2 of the specified class input from the class input unit 101, the source FW-provided function-related information D6 input from the source FW specification analysis unit 103, and the destination FW-provided function-related information D8 input from the destination FW specification analysis unit 105 as input data for the generating AI into the prompt template for the third application source code conversion function (third prompt template), and creates a prompt. Then, the source code creation unit 106 executes the prompt to perform the application source code conversion process and creates and outputs the destination application source code D3 as the conversion result (operation P2 in Figure 24).

[0101] (2) Processing flow of application source code conversion process Next, we will specifically explain the application source code conversion process (program conversion process) performed by the program conversion device 10 when the third application source code conversion function is activated. Figure 25 is a flowchart showing the procedure of the application source code conversion process performed by the program conversion device 10 when the third application source code conversion function is activated. Note that the control of the program conversion process shown in Figure 25 is executed in software by the CPU (not shown) included in the processor 11 of the program conversion device 10.

[0102] First, when user A of the program conversion device 10 performs an operation to specify the class to be converted, the class to be converted input unit 101 performs a class to be converted specification and extraction process based on the specified class information C corresponding to the operation (S61). Specifically, the class to be converted input unit 101 extracts (acquires) the source application source code D2 of the specified class from the various source application source codes D1 stored in the source application source code storage unit 201, based on the input specified class information C. Note that the operation to specify the class to be converted by user A is performed in the same manner as the operation described in Figure 5.

[0103] Next, the source FW source code analysis unit 102 performs call graph analysis of the source FW (S62). In this process, the source FW source code analysis unit 102 performs call graph analysis using the source application source code D2 and the source FW source code D5, in the same manner as the analysis process described in Figure 11, and identifies the call relationships between the two source codes.

[0104] Next, the source FW specification analysis unit 103 performs analysis processing on the source FW specification D4 (S63). In this process, the source FW specification analysis unit 103 identifies the functions provided by the source FW used in the source application source code D2, based on the source application source code D2 and the source FW specification D4, in the same manner as the analysis processing described in Figure 15.

[0105] Next, the source application source code analysis unit 104 performs the process of creating source FW-provided function-related information D6 (S64). In this process, the source application source code analysis unit 104 creates source FW-provided function-related information D6 based on the analysis results of S62 and S63, in the same manner as the process of creating source FW-provided function-related information D6 explained in Figure 18.

[0106] Next, the target FW specification analysis unit 105 performs the process of creating the target FW provided function-related information D8 (S65). In this process, the source application source code analysis unit 104 creates the target FW provided function-related information D8 based on the source FW provided function-related information D6 created in S64 and the target FW specification D7 stored in the target FW specification storage unit 204. Details of the process by which the target FW specification analysis unit 105 creates the target FW provided function-related information D8 will be explained later with reference to Figure 26.

[0107] Next, the source code creation unit 106 performs prompt creation processing and application source code conversion processing (S66). In this process, the source code creation unit 106 first incorporates predetermined input data (source application source code D2, source FW provided function related information D6, and destination FW provided function related information D8) into a prompt template for the third application source code conversion function to create a prompt to be input to the generation AI. Next, the source code creation unit 106 inputs the created prompt to the generation AI and executes it to convert the source application source code D2 to the destination application source code D3. Details of the prompt creation processing and application source code conversion processing in the source code creation unit 106 when the third application source code conversion function is activated will be explained later with reference to Figure 29.

[0108] Next, the source code creation unit 106 outputs the target application source code D3 (the conversion result of S66) (S67). The output format of the target application source code D3 in this process is the same as the output format of the target application source code D3 when the first application source code conversion function is activated, as explained in the process of S5 in Figure 4. After the process of S67, the conversion processing unit 100 terminates the application source code conversion process when the third application source code conversion function is activated.

[0109] (2-1) Processing flow for creating information related to the functions provided by the target firmware Next, referring to Figure 26, we will explain the process of creating the target FW providing function-related information D8, which is called and executed in process S65 during the application source code conversion process (see Figure 25) when the third application source code conversion function is activated. Figure 26 is a flowchart showing the procedure for creating the target FW providing function-related information D8.

[0110] First, the target FW specification analysis unit 105 reads the target FW specification D7 from the target FW specification storage unit 204 (S71).

[0111] Figure 27 shows an example of a target FW specification D7 that is read during processing S71. The target FW specification D7 shown in Figure 27 is an example of a specification document concerning the exception handling function in the target FW, and corresponds to the source FW specification D4 (exception handling function) shown in Figure 16. The target FW specification D7 shown in Figure 27 contains information such as the classpath (jp.co.XXX.BusinessException), class name (BusinessException), class overview (class that handles business exceptions), and related functions (exception handling function). In addition, the target FW specification D7 shown in Figure 27 contains the code format and descriptive information for each constructor (method) used in the exception handling function. For example, for the code format "BusinessException()", the descriptive information "Constructor with no arguments." is included.

[0112] Next, the target FW specification analysis unit 105 reads the source FW provided function-related information D6 created by the source application source code analysis unit 104 (S72). An example of the source FW provided function-related information D6 read in the S72 process is the source FW provided function-related information D6 explained in Figure 19.

[0113] Next, the target FW specification analysis unit 105 extracts the FW functions provided by the source application source code D2 from the source FW function-related information D6 (S73). Then, the target FW specification analysis unit 105 extracts the specifications (provided functions) in the target FW that correspond to the source FW functions provided by the source FW extracted in the process of S73 from the target FW specification D7 (S74).

[0114] Next, the target FW specification analysis unit 105 creates target FW-provided function-related information D8 based on the extraction results from the processing in S74 (S75). In this process, the target FW specification analysis unit 105 creates information as target FW-provided function-related information D8, which is information that summarizes in a specific format the functions provided in the target FW that correspond to the functions provided in the FW used in the source application source code D2, the class name, and various information about the constructor (method) (for example, identification information, description (content) information, argument name, argument data type, etc.) in the target FW.

[0115] Figure 28 shows an example of the target FW provided function-related information D8 created in the S75 process. In the target FW provided function-related information D8 shown in Figure 28, within a specific format starting with "{(newline)“fw_function”:", information such as the function name "Exception Handling Function" in the target FW, the class name (BusinessException), and the format of the constructor (method) to be used (constructor_patterns) is defined. Regarding the constructor format information, for each type of constructor, its identification number (id), explanatory information (explain), and arguments (parameter) are defined as a set of information.

[0116] In the example shown in Figure 28, the constructor information for the code format "BusinessException()" in Figure 27 is defined as a set of information consisting of the identification number "01", the description "Constructor with no arguments," and the argument "blank (none)." Also in the example shown in Figure 28, the constructor information for the code format "BusinessException(boolean outputFlag)" in Figure 27 is defined as a set of information consisting of the identification number "02," the description "Constructor that takes an output flag as an argument," and the arguments "outputFlag (output flag)" and "boolean (boolean value)." Note that in Figure 28, for the sake of simplicity, the constructor information for code formats other than "BusinessException()" and "BusinessException(boolean outputFlag)" in Figure 27 is omitted from the illustration.

[0117] Then, after processing in S75, the conversion processing unit 100 finishes the process of creating the conversion target FW provision function related information D8 and returns to the process in S66 during the application source code conversion process (see Figure 25) when the third application source code conversion function is activated.

[0118] (2-2) Processing flow for creating prompts and converting application source code Next, referring to Figure 29, we will explain the prompt creation process and the application source code conversion process that are called and executed in the S66 process during the application source code conversion process (see Figure 25) when the third application source code conversion function is activated. Figure 29 is a flowchart showing the procedure for the prompt creation process and the application source code conversion process when the third application source code conversion function is activated.

[0119] First, the source code creation unit 106 reads the source FW-provided function-related information D6 (see Figure 19) created by the source application source code analysis unit 104 (S81). Next, the source code creation unit 106 reads the destination FW-provided function-related information D8 (see Figure 28) created by the destination FW specification analysis unit 105 (S82).

[0120] Next, the source code generation unit 106 reads a prompt template for the third application source code conversion function from the prompt template storage unit 205 (S83).

[0121] Figure 30 shows an example of a prompt template for the third application source code conversion function that is read in the S83 process. The prompt for the third application source code conversion function is a prompt template for the third application source code conversion function to convert the source application source code D2 to the target application source code D3. As shown in Figure 30, the prompt template for the third application source code conversion function consists of an instruction statement cd and the first input data Sc1, the second input data Sc2, and the third input data Sc3. In the example prompt template shown in Figure 30, the instruction statement cd specifies three instructions: "Please rewrite the source code below so that it becomes the target source code associated with the FW conversion.", "For the FW-provided functions used in the source application source code, please refer to the source FW-provided function related information.", and "To see how the functions of the source FW will be reproduced in the target FW, please convert the source code while referring to the corresponding target FW-provided function related information." Furthermore, in the example prompt template shown in Figure 30, the first input data Sc1 specifies the source application source code {SourceCode}, the second input data Sc2 specifies the source FW function-related information {SourceFWFunctionInformation}, and the third input data Sc3 specifies the target FW function-related information {TargetFWFunctionInformation}.

[0122] Next, the source code creation unit 106 creates a prompt (S84). In this process, the source code creation unit 106 incorporates the loaded source application source code D2, source FW provided function-related information D6, and destination FW provided function-related information D8 into the prompt template read in the S83 process as input data for the generating AI, and creates a prompt to be input to the generating AI.

[0123] Figure 31 shows an example of a prompt created in the S84 process. In the prompt shown in Figure 31, the first input data Sc1 incorporates (is input) the source application source code D2 shown in Figure 12, the second input data Sc2 incorporates the source FW provided function-related information D6 shown in Figure 19, and the third input data Sc3 incorporates the destination FW provided function-related information D shown in Figure 28.

[0124] Next, the source code generation unit 106 converts the application source code (S85). Specifically, the source code generation unit 106 inputs the prompt created in the S84 process to the generation AI and executes it. This performs the conversion process of the application source code.

[0125] Figure 32 shows an example of the converted application source code D3 obtained when the prompt shown in Figure 31 is input to the generating AI and executed. In the example shown in Figure 32, the source application source code D2 shown in Figure 12 is converted to the converted application source code D3 which is "throw new BusinessException("code001","Input / output error."); (newline) / / omitted"

[0126] Then, after processing in S85, the conversion processing unit 100 finishes the prompt creation process and the application source code conversion process, and returns to processing in S67 during the application source code conversion process (see Figure 25) when the third application source code conversion function is activated.

[0127] [Various effects] As described above, the program conversion device 10 of this embodiment converts the source application source code D2 on the source firmware into the destination application source code D3 on the destination firmware using the generation AI. Therefore, in this embodiment, there is no need to create an application source code conversion tool for each destination firmware, so even if the number of firmwares to be converted increases, for example, the increase in man-hours for application source code conversion work can be suppressed.

[0128] Furthermore, the program conversion device 10 of this embodiment has a second application source code conversion function that, when the source firmware is a proprietary firmware, analyzes the source firmware specification and source firmware source code to create source firmware function-related information D6 regarding the functions provided by the source firmware, and uses this source firmware function-related information D6 as one of the input data for the generating AI to perform application source code conversion processing. Moreover, when both the source firmware and the target firmware are proprietary firmwares, the program conversion device 10 of this embodiment has a third application source code conversion function that, when both the source firmware and the target firmware are proprietary firmwares, analyzes the target firmware specification to create target firmware function-related information D8 regarding the functions provided by the target firmware, and uses not only the source firmware function-related information D6 but also the target firmware function-related information D8 as one of the input data for the generating AI to perform application source code conversion processing.Therefore, in this embodiment, even when the source firmware, or both the source firmware and the target firmware, are not open firmwares and the training data for the generating AI is insufficient, the generating AI can be used to perform application source code conversion processing. In this case, the scope of application of the application source code conversion technology (program conversion technology) of the present invention can be broadened.

[0129] 2. Second Embodiment Next, a program conversion device according to a second embodiment of the present invention will be described. In the second embodiment, the configuration of a program conversion device equipped with a function to use past conversion records (conversion history information) of application source code as input data for the generating AI will be described.

[0130] [Configuration of the program conversion device] Figure 33 is a functional block diagram of a program conversion device 20 according to a second embodiment of the present invention. In the program conversion device 20 of the second embodiment shown in Figure 33, components similar to those of the program conversion device 10 of the first embodiment (see Figure 2) are denoted by the same reference numerals.

[0131] As is clear from comparing Figure 33 and Figure 2, the conversion processing unit 110 of the program conversion device 20 in this embodiment is configured by adding a FW performance analysis unit 107 within the conversion processing unit 100 of the first embodiment (see Figure 2). Furthermore, the information storage unit 210 of the program conversion device 20 in this embodiment is configured by adding a FW conversion performance data storage unit 206 within the information storage unit 200 of the first embodiment (see Figure 2). Therefore, this document will mainly describe the configuration of the FW performance analysis unit 107 within the conversion processing unit 110 and the FW conversion performance data storage unit 206 within the information storage unit 210, and will omit detailed descriptions of other components.

[0132] The FW Performance Analysis Unit 107 (Source Code Conversion Content Analysis Unit) performs syntactic analysis of the source application source code D2 and the target application source code D3 in past application source code conversion processes and extracts the differences between them. The FW Performance Analysis Unit 107 then creates conversion content information (hereinafter referred to as "conversion pattern": see, for example, Figure 36 below) corresponding to the extracted differences (analysis results) for each function provided by the FW.

[0133] In this embodiment, when the program conversion device 20 performs application source code conversion processing similar to that performed in the past, in addition to the source application source code D2, a conversion pattern corresponding to the provided function to be converted is incorporated into the prompt as one of the input data for the generated AI.

[0134] The FW conversion performance data storage unit 206 stores the source application source code D2 and the destination application source code D3 from past application source code conversion processes. The conversion patterns created by the FW performance analysis unit 107 may be stored in the FW conversion performance data storage unit 206, for example, linked to the corresponding source application source code D2 and destination application source code D3, or they may be stored in an external data server.

[0135] Here, we will explain an example of the source application source code D2 and the target application source code D3 from a past application source code conversion process. Figure 34A shows an example of the source application source code D2 from a past application source code conversion process. Figure 34B shows an example of the target application source code D3 obtained when the source application source code D2 shown in Figure 34A was converted in a past application source code conversion process.

[0136] The source code D2 of the source application shown in Figure 34A is the source code "MethodInvocation(arguments=[Literal(...(omitted)...,value="code001")],member=getMessageString,...(omitted)...,selectors=[],type_arguments=None)" for the message retrieval function "MessageGetter.getMessageString("code001")". Furthermore, the conversion target application source code D3 shown in Figure 34B is the application source code "MethodInvocation(arguments=[Literal(...(omitted)...,value="code001")],member=getMessage,...(omitted)...,selectors=[MethodInvocation(arguments=[],member=getMsg,postfix_operators=None,prefix_operators=None,qualifier=None,selectors=None,type_arguments=None)],type_arguments=None)" which is a message acquisition function called "MessageGetter.getMessage("code001").

[0137] Then, in the FW performance analysis unit 107, for example, when the FW conversion performance data shown in Figures 34A and 34B is syntactically analyzed, the code sections indicated by the underlines in Figures 34A and 34B are extracted as the differences between the two.

[0138] [Analysis processing of FW conversion performance data in the FW Performance Analysis Department] Next, with reference to Figure 35, the analysis process of FW conversion performance data performed by the FW performance analysis unit 107 will be described. Figure 35 is a flowchart showing the procedure for the analysis process of FW conversion performance data. The analysis process of FW conversion performance data performed by the FW performance analysis unit 107 may be performed periodically, or it may be performed each time the application source code conversion process (Figures 4, 10, and 25) is completed.

[0139] First, the FW performance analysis unit 107 reads FW conversion performance data from past application source code conversion processes performed on the application source code of a predetermined FW-provided function (S91). In this process, the FW performance analysis unit 107 refers to the FW conversion performance data storage unit 206 and reads, for example, the source application source code D2 shown in Figure 34A and the corresponding destination application source code D3 shown in Figure 34B.

[0140] Next, the FW performance analysis unit 107 performs syntactic analysis of the past source application source code D2 and target application source code D3 that it has read (S92).

[0141] Next, the FW performance analysis unit 107 performs a difference analysis of the source application source code D2 and the target application source code D3 based on the results of the syntactic analysis in S92 (S93). In this process, the FW performance analysis unit 107 extracts the syntactic differences between the source application source code D2 and the target application source code D3. For example, between the source application source code D2 shown in Figure 34A and the corresponding target application source code D3 shown in Figure 34B, the code sections indicated by the underlines in each figure are extracted as differences between the two.

[0142] Next, the FW performance analysis unit 107 creates a formalized conversion pattern for each FW-provided function as information on the conversion content corresponding to the results of the differential analysis in S93 (S94).

[0143] Figure 36 shows an example of a conversion pattern created in the S94 process. The conversion pattern shown in Figure 36 is an example of a message acquisition function conversion pattern ("Message Acquisition Function Conversion Pattern 01" in the figure) obtained when the source code to be analyzed for differential analysis is the source application source code D2 shown in Figure 34A and the target application source code D3 shown in Figure 34B. Therefore, the conversion pattern shown in Figure 36 reflects the difference (underlined part in each figure) between the source application source code D2 shown in Figure 34A and the target application source code D3 shown in Figure 34B.

[0144] Specifically, in the message acquisition function conversion pattern 01 shown in Figure 36, the conversion information of the source code "before_node.member -= String" and the conversion information of the source code "after_node.selectors = [MethodInvocation(arguments=[],member=getMsg,postfix_operators=None,prefix_operators=None,qualifier=None,selectors=None,type_arguments=None)]" are defined.

[0145] The conversion information in the source code "before_node.member -= String" shown in Figure 36 means that in the source code D2 of the source application shown in Figure 34A, the code specified for "members," which is one of the nodes of "MethodInvocation," will have "String" removed. Also, the conversion information in the source code "after_node.selectors = [MethodInvocation(arguments=…(omitted)…=None)]" means that in the source code D2 of the source application shown in Figure 34A, "arguments=…(omitted)…=None" will be specified for "selectors," which is one of the nodes of "MethodInvocation." In other words, in the message acquisition function conversion pattern 01 shown in Figure 36, the source application source code D2 shown in Figure 34A is converted to the destination application source code D3 shown in Figure 34B by deleting "String" in the code specified for node "members" and specifying "arguments=...(omitted)...=None" for node "selectors".

[0146] After processing in S94, the FW performance analysis unit 107 terminates the analysis process of the FW conversion performance data.

[0147] [Various effects] Since the program conversion device 20 of this embodiment includes the configuration of the program conversion device 10 of the first embodiment, the same effects as the first embodiment can be obtained.

[0148] Furthermore, the program conversion device 20 of this embodiment utilizes past FW conversion performance data to formalize and create conversion patterns (information on conversion content) between past source application source code D2 and destination application source code D3 for each FW-provided function. Then, when performing application source code conversion processing similar to that performed in the past, the corresponding conversion pattern is input as one of the input data for the generating AI. In this case, for example, analysis processing of source FW specifications and destination FW specifications becomes unnecessary, simplifying the application source code conversion process (FW conversion).

[0149] 3. Third Embodiment Next, a program conversion device according to a third embodiment of the present invention will be described. In the third embodiment, the configuration of a program conversion device that has a function to automatically determine which of the above-described first application source code conversion function (see Figure 3, etc.), second application source code conversion function (see Figure 9, etc.), and third application source code conversion function (see Figure 24, etc.) will be used before performing the application source code conversion process (FW conversion) will be described.

[0150] [Configuration of the program conversion device] Figure 37 is a functional block diagram of a program conversion device 30 according to a third embodiment of the present invention. In the program conversion device 30 of the third embodiment shown in Figure 37, components similar to those of the program conversion device 10 of the first embodiment (see Figure 2) are denoted by the same reference numerals.

[0151] As is clear from comparing Figure 37 and Figure 2, the conversion processing unit 120 of the program conversion device 30 in this embodiment is configured by further adding a prompt template determination unit 108 to the conversion processing unit 100 (see Figure 2) of the first embodiment. Therefore, this document will mainly describe the configuration of the prompt template determination unit 108 within the conversion processing unit 120, and will omit detailed descriptions of other components.

[0152] The prompt template determination unit 108 (prompt template determination unit) analyzes the syntax of the source application source code and identifies the package and import statements within it. The prompt template determination unit 108 then determines whether the FW specified in the package or import statement is an open FW or a proprietary FW. For example, if the package or import statement in the source application source code contains a string indicating the name of an open FW, such as "struts" or "spring", the prompt template determination unit 108 determines that the source FW is an open FW. If these strings are not included, it determines that the source FW is a proprietary FW.

[0153] Then, the prompt template determination unit 108 identifies the type of application source code conversion function to be used (the first to third application source code conversion functions) based on the determination result of the type of source FW to be used and the information of the type of target FW, and determines the corresponding prompt template.

[0154] Here, an example of how the prompt template determination unit 108 determines the type of source FW will be specifically explained with reference to the diagrams. Figures 38A and 38B show examples of source application source code including package statements and import statements, respectively.

[0155] The source code of the application being converted, shown in Figure 38A, contains a package statement that reads "PackageDeclaraition(annotations=None,documentation=None,modifiers=None,name=example.controller)". Additionally, the source code of the application being converted, shown in Figure 38A, contains three import statements: "Import(path=org.springframework.stereotype.Controller;,static=False,wildcard=False)", "Import(path=org.springframework.web.bind.annotation.GetMapping,static=False,wildcard=False)", and "Import(path=org.springframework.web.bind.annotation.ModelAttribute,static=False,wildcard=False)".

[0156] On the other hand, the source code of the source application shown in Figure 38B contains a package statement called "PackageDeclaraition(annotations=None,documentation=None,modifiers=None,name=jp.co.XXX.jwsl)". In addition, the source code of the source application shown in Figure 38B contains two import statements: "Import(path=jp.co.XXX.CheckResult,static=False,wildcard=False)" and "Import(path=jp.co.XXX.ApplicationException,static=False,wildcard=False)".

[0157] In the source code of the application shown in Figure 38A, the import statement contains the string "springframework" which indicates an open firmware, as shown in the underlined part of Figure 38A. Therefore, the prompt template determination unit 108 determines that the source firmware is an open firmware. On the other hand, in the source code of the application shown in Figure 38B, the import statement does not contain the string indicating an open firmware, as shown in Figure 38B. Therefore, the prompt template determination unit 108 determines that the source firmware is a proprietary firmware.

[0158] [Automatic determination process for the usage conversion function in the prompt template usage determination unit] Next, with reference to Figure 39, we will explain the automatic determination process for the type of application source code conversion function to be used (the first to third application source code conversion functions) executed by the prompt template determination unit 108. Figure 39 is a flowchart showing the procedure for the automatic determination process for the type of application source code conversion function.

[0159] The automatic determination process for the type of application source code conversion function shown in Figure 39 is executed before the operation of the first to third application source code conversion functions described above. Based on the result of the automatic determination process for the type of application source code conversion function by the prompt template determination unit 108, one of the first to third application source code conversion functions (one of Figures 4, 10, or 25) is automatically selected and executed.

[0160] First, the prompt template determination unit 108 reads the source application source code to be converted from the source application source code storage unit 201 (S101). Next, the prompt template determination unit 108 performs syntactic analysis of the read source application source code (S102).

[0161] Next, the prompt template determination unit 108 extracts information on package statements and import statements from the source application source code based on the results of syntactic analysis of the source application source code (S103). Then, the prompt template determination unit 108 analyzes the extracted strings of package statements and import statements and determines the type of source FW (open FW / proprietary FW) (S104). In this process, as described above, if the package statement or import statement contains a string corresponding to the name of an open FW, the type of source FW is determined to be an open FW; otherwise, the type of source FW is determined to be a proprietary FW.

[0162] Next, the prompt template determination unit 108 determines the type of application source code conversion function to be used (one of the first to third application source code conversion functions) and the prompt template to be used, based on the determination result of the source FW type (open FW / proprietary FW) and the information regarding the target FW type (S105). Note that the information regarding the target FW type is input in advance by the user of the program conversion device 30, so no reading process for this information is performed here.

[0163] In the S105 process, if the determination result of the source FW type is open FW and the target FW type is open FW, the prompt template usage determination unit 108 determines the application source code conversion function to be used as the first application source code conversion function (see Figures 3 and 4), and also determines the prompt template to be used as the prompt template for the first application source code conversion function (see Figure 6). In the S105 process, if the determination result of the source FW type is proprietary FW and the target FW type is open FW, the prompt template usage determination unit 108 determines the application source code conversion function to be used as the second application source code conversion function (see Figures 9 and 10), and also determines the prompt template to be used as the prompt template for the second application source code conversion function (see Figure 21). Furthermore, in the S105 process, if the determination result of the source FW type is a proprietary FW and the target FW type is also a proprietary FW, the prompt template usage determination unit 108 determines the application source code conversion function to be used to be the third application source code conversion function (see Figures 24 and 25), and also determines the prompt template to be used to be the prompt template for the third application source code conversion function (see Figure 30).

[0164] After processing in S105, the prompt template determination unit 108 terminates the automatic determination process for the type of application source code conversion function to be used. Subsequently, the application source code conversion function corresponding to the determination result of processing in S105 is activated, and the corresponding application source code conversion process (one of Figures 4, 10, and 25) is performed.

[0165] In this embodiment, a configuration example has been described in which a prompt template determination unit 108 is further provided within the conversion processing unit 100 (see Figure 2) of the program conversion device 10 of the first embodiment, but the present invention is not limited thereto. For example, a prompt template determination unit 108 may also be provided within the conversion processing unit 110 (see Figure 33) of the program conversion device 20 of the second embodiment.

[0166] [Various effects] Since the program conversion device 30 of this embodiment includes the configuration of the program conversion device 10 of the first embodiment, the same effects as the first embodiment can be obtained.

[0167] Furthermore, in the program conversion device 30 of this embodiment, the prompt template determination unit 108 can automatically determine the type of application source code conversion function to be used (first to third application source code conversion functions) and the prompt template to be used. In this case, it becomes unnecessary to specify the type of application source code conversion function and prompt template to be used, simplifying the application source code conversion process (FW conversion).

[0168] 4. Various variations The various embodiments described above are detailed and specific explanations of the device's configuration in order to clearly illustrate the present invention, and are not necessarily limited to those comprising all the described configurations. Furthermore, the positions, sizes, shapes, and ranges of the components shown in the drawings may not represent the actual positions, sizes, shapes, and ranges, in order to facilitate understanding of the invention. Therefore, the present invention is not necessarily limited to the positions, sizes, shapes, and ranges disclosed in the drawings. The present invention can be modified in various ways as long as it does not depart from the gist of the invention as described in the claims. For example, the following various modifications can be adopted.

[0169] [Example 1] In the various embodiments described above, an example configuration was described in which the source code creation unit 106 of the program conversion device executes a generation AI to perform conversion processing of the application source code and create (obtain) the target application source code, that is, an example configuration in which the source code creation unit 106 includes a generation AI execution function unit (prompt execution function unit), but the present invention is not limited thereto.

[0170] For example, the execution function unit of the generation AI may be located outside the program conversion device (e.g., in the cloud). In this case, the source code creation unit 106 sends the created prompt to an external location (e.g., the cloud), where it executes the generation AI and performs the conversion process of the application source code. The source code creation unit 106 then receives and obtains the conversion result of the application source code (the target application source code) from the external location. In this case, the processing load on the program conversion device can be reduced. However, from the standpoint of information security, efficiency of computation, etc., it is advantageous to have the execution function unit of the generation AI located inside the program conversion device, as in the various embodiments described above.

[0171] [Differentiation 2] In the various embodiments described above, an example configuration was described in which an information storage unit necessary for the conversion process of application source code (for example, the source application source code, the source firmware source code, the specifications of the source firmware and the target firmware, prompt templates, etc.) is provided inside the program conversion device. However, the present invention is not limited to this.

[0172] For example, the information storage unit may be located on a data server or the like, located outside the program conversion device, and the program conversion device may be configured to read various data necessary for the application source code conversion process from the external data server or the like via communication. In this case, different data servers may be used for each type of data, or all the data necessary for the application source code conversion process may be stored in a single data server.

[0173] [Difference 3] In the various embodiments described above, an example was explained in which, in the application source code conversion process, the user specifies the class to be converted, and the source application source code of the specified class is extracted from the source application source code storage unit 201 and converted into the target application source code. However, the present invention is not limited thereto.

[0174] For example, the class input unit 101 may obtain any one source application source code from the source application source code storage unit 201, analyze the contents of the source application source code using, for example, the source application source code analysis unit 104 to identify the class of the source application source code, and then perform the application source code conversion process according to the identified class. In this case, the user does not need to specify the class to be converted in the source application source code, nor does the class input unit 101 need to obtain class specification information, thus simplifying the application source code conversion process (FW conversion). [Explanation of symbols]

[0175] 10, 20, 30…Program conversion device, 11…Processor, 12…Main memory, 13…Auxiliary memory, 14…Input device, 15…Output device, 16…Communication device, 17…Bus line, 100, 110, 120…Conversion processing unit, 101…Conversion target class input unit, 102…Source FW source code analysis unit, 103…Source FW specification analysis unit, 104…Source application source code analysis unit, 105…Destination FW specification analysis unit, 106…Source code creation unit, 107…FW performance analysis unit, 108…Prompt template usage determination unit, 200, 210…Information storage unit, 201…Source application source code storage unit, 202…Source FW source code storage unit, 203…Source FW specification storage unit, 204…Destination FW specification storage unit, 205…Prompt template storage unit, 206…FW conversion performance data storage unit

Claims

1. A first source code acquisition unit that obtains the first source code corresponding to the first framework, The system comprises: a second source code acquisition unit that creates a prompt by incorporating the first source code acquired by the first source code acquisition unit into a prompt template for converting the first source code into a second source code corresponding to a second framework different from the first framework, and acquires the second source code created by executing a generative artificial intelligence using the prompt. Information processing device.

2. The second source code acquisition unit creates the prompt using a first prompt template that incorporates only the first source code as input data, based on the type of the first framework and the type of the second framework. The information processing apparatus according to claim 1.

3. The second source code acquisition unit creates the prompt based on the type of the first framework and the type of the second framework, using a second prompt template that incorporates the first source code and information regarding the functions provided by the first framework as input data. The information processing apparatus according to claim 2.

4. The second source code acquisition unit creates the prompt using a third prompt template that incorporates the first source code, information regarding the functions provided by the first framework, and information regarding the functions provided by the second framework as input data, based on the type of the first framework and the type of the second framework. The information processing apparatus according to claim 3.

5. If both the first framework and the second framework are publicly available frameworks, the first prompt template is used. If the first framework is a non-public framework and the second framework is a public framework, then the second prompt template is used. If both the first and second frameworks are not publicly available, the third prompt template is used. The information processing apparatus according to claim 4.

6. The second source code acquisition unit executes the generative artificial intelligence using the prompt. The information processing apparatus according to claim 5.

7. The execution of the generative artificial intelligence using the aforementioned prompt is performed externally. The information processing apparatus according to claim 5.

8. The system further includes a prompt template determination unit that, before the execution of processing by the second source code acquisition unit, determines, based on the contents of the first source code, which of the first prompt template, the second prompt template, or the third prompt template to use. The information processing apparatus according to claim 5.

9. The system further includes a source code conversion content analysis unit that analyzes the conversion content from the first source code to the second source code based on the past acquisition results of the second source code by the second source code acquisition unit, The second source code acquisition unit can create the prompt by incorporating information that reflects the analysis results of the source code conversion content analysis unit, in addition to the first source code, into the prompt template. The information processing apparatus according to claim 1.

10. The source code conversion content analysis unit extracts the difference between the first source code and the second source code as an analysis result of the conversion content from the first source code to the second source code. The information processing apparatus according to claim 9.

Citation Information

Patent Citations

  • Source file generation program, source file generation method, and information processing device

    JP2020135159A