Execution time estimation device, execution time estimation method, and execution time estimation program
The technique addresses the limitations of existing methods by estimating software execution time during design using a code generation model, enabling early identification of compliant configurations and efficient source code regeneration.
Patent Information
- Application Number
- PCT/JP2024/037226
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-01
- Filing Date
- 2024-10-18
- Publication Date
- 2026-02-05
AI Technical Summary
Existing methods for estimating software execution time in embedded software development are inadequate in the early stages of development due to the unavailability of operating environments and the time-consuming nature of emulators and simulations, and they require a return to design if execution time targets are not met after implementation.
A technique that utilizes a program analysis by a compiler to estimate execution time during the design process by generating code from a functional description in natural language using a code generation model, allowing for flexible estimation and regeneration of source code to meet constraints.
Enables accurate execution time estimation during the design phase, facilitating early identification of functional configurations that satisfy real-time constraints and allowing for efficient regeneration of source code to meet these constraints.
Smart Images

Figure JP2024037226_05022026_PF_FP_ABST
Abstract
Description
Execution time estimation device, execution time estimation method, and execution time estimation program
[0001] The present disclosure relates to a technique for estimating software execution time.
[0002] In embedded software development, it is important to estimate the execution time of the software being developed in order to satisfy real-time constraints. There are two methods for determining execution time: running the software in an operating environment and using emulators and simulations. However, running the software in an operating environment has the problem that the operating environment is not readily available in the early stages of development. Another problem with using emulators and simulations is that it takes a long time to run the simulation.
[0003] In order to solve this problem, Patent Document 1 proposes a technique for estimating the execution time of software by utilizing a program analysis technique by a compiler.
[0004] International Publication No. 2010-001766
[0005] The technology presented in Patent Document 1 enables flexible estimation of execution time from the instruction sequence constituting the program to be estimated. However, the technology presented in Patent Document 1 assumes that the implementation of the software source code has been completed. Therefore, execution time cannot be estimated until the implementation process is completed. Therefore, if the execution time target cannot be achieved, a return to the design process from the implementation process is required. The purpose of the present disclosure is to enable estimation of execution time during the design process.
[0006] The execution time estimation device according to the present disclosure includes a front-end unit that generates a code generation prompt that instructs the generation of source code that realizes one or more functions from a functional description that indicates the one or more functions of software written in a natural language, and inputs the code generation prompt into a code generation model, which is a learning model; and an execution time estimation unit that estimates the execution time of the source code generated by the code generation model for the prompt input by the front-end unit.
[0007] In the present disclosure, prompts for code generation are generated from a functional description of software written in natural language and input to a code generation model, and the execution time of the source code generated by the code generation model is estimated, thereby making it possible to estimate the execution time during the design process.
[0008] 1 is a functional configuration diagram of an execution time estimating device 10 according to the first embodiment. 2 is a functional configuration diagram of a front-end unit 13 according to the first embodiment. 3 is a hardware configuration diagram of the execution time estimating device 10 according to the first embodiment. 4 is a flowchart showing the processing flow of the execution time estimating device 10 according to the first embodiment. 5 is an explanatory diagram of data input by a user according to the first embodiment. 6 is an explanatory diagram of information presented to a user according to the first embodiment. 7 is an explanatory diagram of information presented to a user according to the first embodiment. 8 is a functional configuration diagram of an execution time estimating device 10 according to a second embodiment. 9 is an explanatory diagram of information stored in a database unit 16 according to the second embodiment. 10 is a functional configuration diagram of a front-end unit 13 according to the second embodiment. 11 is a flowchart showing the processing flow of the execution time estimating device 10 according to the second embodiment.
[0009] First Embodiment. ***Description of Configuration*** The functional configuration of an execution time estimation device 10 according to the first embodiment will be described with reference to FIG. 1 . The execution time estimation device 10 includes, as functional components, a code generation model 11, an execution time estimation unit 12, and a front-end unit 13. The code generation model 11 is a learning model that receives a code generation prompt as input and generates software source code. The execution time estimation unit 12 receives source code as input and estimates the execution time of the source code. The front-end unit 13 exchanges data with a user and transmits and receives data with the code generation model 11 and the execution time estimation unit 12. The front-end unit 13 is connected to an external device, such as a user terminal 30, via a communication network 14. The communication network 14 is a network for transmitting and receiving data. The code generation model 11, the execution time estimation unit 12, and the front-end unit 13 are connected via a transmission path 15. The transmission path 15 is a path for transmitting data between the code generation model 11 , the execution time estimation unit 12 and the front-end unit 13 .
[0010] The learning model is what is known as generative AI. AI stands for Artificial Intelligence. Specific examples of the learning model may be constructed using algorithms such as BERT and GPT. BERT stands for Bidirectional Encoder Representations from Transformers. GPT stands for Generative Pretrained Transformer. The learning model may be constructed by combining multiple algorithms including these algorithms. FIG. 1 illustrates a configuration in which the execution time estimation device 10 includes a code generation model 11, which is a learning model. However, the code generation model 11 may be provided outside the execution time estimation device 10.
[0011] The functional configuration of the front-end unit 13 according to the first embodiment will be described with reference to FIG. 2 . The front-end unit 13 includes, as functional components, an input processing unit 131, an information output unit 132, a data transmission unit 133, a prompt generation unit 134, a validity determination unit 135, and a data reception unit 136. These functional components are connected via a transmission path 137. The input processing unit 131 divides input from the user terminal 30. The information output unit 132 outputs information related to the execution time estimation result. The data transmission unit 133 transmits a prompt for code generation to the code generation model 11 and transmits the source code generated by the code generation model 11 to the execution time estimation unit 12. The prompt generation unit 134 generates a prompt for code generation to be transmitted to the code generation model 11. The validity determination unit 135 compares the estimation result of the execution time estimation unit 12 with the constraints related to the execution time input from the user terminal 30 and determines whether the estimation result satisfies the constraints. The data receiving unit 136 is a function that receives information output from the code generation model 11 and the execution time estimating unit 12. The transmission path 137 is a path for transmitting data between the respective functional components.
[0012] The hardware configuration of the execution time estimation device 10 according to the first embodiment will be described with reference to FIG. 3. The execution time estimation device 10 includes a storage 21, a processor 22, a memory 23, and a network interface 24. The storage 21 is a storage medium such as an SSD. SSD stands for Solid State Drive. The storage 21 may also be a portable recording medium such as an SD (registered trademark) memory card, CompactFlash (registered trademark), NAND flash, a flexible disk, an optical disk, a compact disk, a Blu-ray (registered trademark) disk, or a DVD. SD stands for Secure Digital. DVD stands for Digital Versatile Disk.
[0013] The processor 22 is an IC that performs processing. IC stands for Integrated Circuit. A specific example of the processor 22 is a CPU. CPU stands for Central Processing Unit.
[0014] The memory 23 is a storage device that temporarily stores data. Specific examples of the memory 23 include SRAM and DRAM. SRAM stands for Static Random Access Memory. DRAM stands for Dynamic Random Access Memory.
[0015] The network interface 24 is an interface for communicating with external devices. Specific examples of the network interface 24 include Ethernet (registered trademark) and USB ports. USB is an abbreviation for Universal Serial Bus.
[0016] The storage 21 stores programs that realize each functional component. These programs are read into the memory 23 and executed by the processor 22, thereby realizing the function of each functional component. The storage 21 also stores data that each functional component handles.
[0017] ***Description of Operation*** The operation of the execution time estimating device 10 according to the first embodiment will be described with reference to Figures 4 to 7. The operating procedure of the execution time estimating device 10 according to the first embodiment corresponds to the execution time estimating method according to the first embodiment. Furthermore, the program that realizes the operation of the execution time estimating device 10 according to the first embodiment corresponds to the execution time estimating program according to the first embodiment.
[0018] 4, the flow of processing of the execution time estimation device 10 according to the first embodiment will be described. (Step S100: Input Processing) The input processing unit 131 receives data input by a user from the user terminal 30. The input processing unit 131 writes the received data to the storage 21. The data input by the user includes a function description indicating a group of one or more functions that constitute the software, written in a natural language, a constraint condition on the execution time of the group of functions, and a relaxation condition for the function in the case where the constraint condition on the execution time is not satisfied.
[0019] For example, data entered by a user is data that conforms to the template shown in FIG. 5 . One or more functions to be realized are described in natural language in the function (func) column of the source code. For example, a function that performs a Fourier transform is described in the function (func) column of the source code. Arguments required for the function that realizes the function described in the function (func) column of the source code are described in natural language in the function input value (input) column of the function. For example, a structure having two double-type members (input and output) is described in the function input value (input) column. A return value of the function that realizes the function described in the function (func) column of the source code is described in natural language in the function output value (output) column. For example, a structure having two double-type members (data A and data B) is described in the function output value (output) column of the function. In the constraint (constraint) column, constraints related to the execution environment of the function that realizes the function described in the function (func) column of the source code are described in natural language. For example, in the constraint (constraint) column, it is described that the target is a Xilinx evaluation board Zedboard, that the Linux (registered trademark) OS is used, and that an FPGA is used. In the relaxation condition column, relaxation details of the function are described in natural language. In the execution time constraint (X) column, the execution time that must be satisfied is described. For example, 100 μs (microseconds) is described in the execution time constraint (X) column.
[0020] (Step S101: Prompt Generation Process) The prompt generation unit 134 reads from the storage 21 functional descriptions of one or more software functions written in natural language. The prompt generation unit 134 generates a code generation prompt that instructs the generation of source code that realizes the one or more functions from the functional descriptions. The prompt generation unit 134 inputs the code generation prompt to the code generation model 11 via the data transmission unit 133. The code generation model 11 then generates software source code in response to the input prompt. The code generation model 11 outputs the source code to the front-end unit 13. The data receiving unit 136 receives the source code output by the code generation model 11.
[0021] (Step S102 : Source Code Output Process) The information output unit 132 outputs the received source code to the user terminal 30 .
[0022] (Step S103: Source Code Determination Process) The user terminal 30 displays the source code and presents it to the user. Then, the user terminal 30 receives input from the user as to whether or not to accept the source code. If the user accepts the source code, the user terminal 30 proceeds to step S104. On the other hand, if the user does not accept the source code, the user terminal 30 returns the process to step S100 and prompts the user to input data including proposed modifications to the source code. Then, the code generation model 11 regenerates the source code.
[0023] (Step S104: Execution time estimation process) The data transmission unit 133 transmits the source code received in step S102 to the execution time estimation unit 12, causing the execution time estimation unit 12 to estimate the execution time of the source code. The execution time estimation unit 12 estimates the execution time of the source code using a method such as that described in Patent Document 1. Here, the execution time estimation unit 12 estimates the execution time for each of one or more functions as well as the total execution time of the source code.
[0024] (Step S105: Estimation result reception process) The data receiving unit 136 receives the result estimated by the execution time estimating unit 12. The validity determining unit 135 reads the execution time constraint from the storage 21. The validity determining unit 135 determines whether the total execution time indicated by the estimated result satisfies the execution time constraint. If the total execution time is within the time indicated by the execution time constraint, the validity determining unit 135 determines that the constraint is satisfied. If the execution time satisfies the execution time constraint, the validity determining unit 135 proceeds to step S106. On the other hand, if the execution time does not satisfy the execution time constraint, the validity determining unit 135 proceeds to step S107.
[0025] (Step S106: Result Presentation Process) The information output unit 132 outputs the estimated result received in step S105 to the user terminal 30 to present it to the user. At this time, the information output unit 132 may also output and present the execution time constraints, source code, and the like together with the estimated result.
[0026] (Step S107: Relaxed Condition Determination Process) The prompt generation unit 134 reads from the storage 21 the relaxed conditions for each function in the case where the execution time constraint is not satisfied. The prompt generation unit 134 identifies the function with the longest execution time by referring to the execution time for each function indicated in the estimated result. The prompt generation unit 134 determines whether a relaxed condition is set for the identified function. If a relaxed condition is set, the prompt generation unit 134 proceeds to step S108. On the other hand, if a relaxed condition is not set, the prompt generation unit 134 proceeds to step S106. In other words, if a relaxed condition is not set, the information output unit 132 outputs the result received in step S105, indicating that the constraint is not satisfied, to the user terminal 30.
[0027] (Step S108: Prompt regeneration process) The prompt generation unit 134 regenerates a prompt for code generation so as to improve the execution time of the function with the longest execution time in accordance with the relaxed condition for the function with the longest execution time. Then, the prompt generation unit 134 returns the process to step S101, inputs the regenerated prompt to the code generation model 11, and regenerates source code.
[0028] In step S106, information such as that shown in FIG. 6 is presented to the user. In FIG. 6, the execution time for each function is shown, and the total execution time is compared with the target execution time, which indicates the execution time constraints. A link for downloading the source code is also provided. Furthermore, if the constraints are not satisfied with the source code generated the first time and the source code is regenerated with the functions relaxed, information such as that shown in FIG. 7 is presented to the user. In FIG. 7, an estimate for the regenerated source code as the second estimate is presented in a tab separate from the first estimate. The presented content includes changes made to the source code from the first estimate.
[0029] ***Effects of First Embodiment*** As described above, the execution time estimation device 10 according to the first embodiment generates prompts for code generation from a functional description of software written in a natural language, inputs the prompts to the code generation model 11, and estimates the execution time of the source code generated by the code generation model 11. This makes it possible to estimate the execution time during the design process.
[0030] Furthermore, if the estimated execution time does not satisfy the constraints, the execution time estimation device 10 according to the first embodiment regenerates the source code by applying relaxed conditions. Then, the execution time estimation device 10 estimates the execution time for the regenerated source code. This makes it possible to identify a functional configuration that satisfies the constraints.
[0031] Furthermore, the execution time estimation device 10 according to the first embodiment applies relaxed conditions to the function with the longest execution time, thereby enabling source code to be regenerated with an efficient reduction in execution time.
[0032] ***Other Configurations*** <Variation 1> In the first embodiment, if a relaxation condition is not set for the function with the longest execution time, the relaxation condition is not applied. However, the prompt generation unit 134 may apply the relaxation condition to the function with the longest execution time among the functions for which a relaxation condition is set. This makes it possible to apply the relaxation condition to the function with the second longest execution time even if a relaxation condition is not set for the function with the longest execution time. However, applying the relaxation condition to functions with short execution times does not provide much benefit. Therefore, the relaxation condition may be applied only to functions whose execution time is equal to or exceeds a reference percentage of the total execution time.
[0033] Embodiment 2. Embodiment 2 differs from embodiment 1 in that it utilizes source code that has been generated in the past. In embodiment 2, this difference will be explained, and explanation of the same points will be omitted.
[0034] ***Description of Configuration*** The functional configuration of the execution time estimation device 10 according to the second embodiment will be described with reference to Fig. 8. The execution time estimation device 10 differs from the execution time estimation device 10 shown in Fig. 1 in that it includes a database unit 16 as a functional component. The database unit 16 stores source code generated in the past in association with functions. The database unit 16 is realized by the storage 21.
[0035] With reference to FIG. 9 , the information stored in the database unit 16 according to the second embodiment will be described. The database unit 16 stores, for each function name, a function, a creator, a source, a grade, and a prompt. The function name is the name of the function given to the source code. The function is a description of the function of the source code in natural language. The creator is the creator of the source code. The source indicates whether the source code was generated by the code generation model 11 or by someone in the organization. In FIG. 9 , if the source code was created by someone in the organization, it is set to "hand-coded." The grade is set to whether the source code is publicly known or kept secret within the organization. The prompt is a prompt given to the code generation model 11 when the source code is generated by the code generation model 11.
[0036] The functional configuration of the front-end unit 13 according to the second embodiment will be described with reference to Fig. 10. The front-end unit 13 differs from the front-end unit 13 shown in Fig. 3 in that it includes a search unit 138 and a combination unit 139. The search unit 138 has a function of searching for source code from the database unit 16. The combination unit 139 has a function of combining the source code searched for in the database unit 16 with the source code generated by the code generation model 11.
[0037] ***Description of Operation*** The operation of the execution time estimating apparatus 10 according to the second embodiment will be described with reference to Figures 11 and 12. The process of step S200 is the same as the process of step S100 in Figure 4.
[0038] (Step S201: Search Process) The search unit 138 reads out from the storage 21 function descriptions of one or more software functions written in natural language. The search unit 138 searches the database unit 16 for the source code of each of the one or more functions. Specifically, the search unit 138 identifies a record in which the target function is set as a function in the database unit 16, and acquires the source code of that record. If the search unit 138 finds a function for which source code exists, the process proceeds to step S202. On the other hand, if the search unit 138 finds no function for which source code exists, the process proceeds to step S203.
[0039] (Step S202: First prompt generation process) The prompt generation unit 134 generates a code generation prompt that instructs the generation of source code that implements a function for which no source code existed. The prompt generation unit 134 inputs the code generation prompt to the code generation model 11 via the data transmission unit 133. The code generation model 11 then generates software source code in response to the input prompt. The code generation model 11 outputs the source code to the front-end unit 13. The data receiving unit 136 receives the source code output by the code generation model 11.
[0040] (Step S203: Second Prompt Generation Process) As in step S101 of FIG. 4 , the prompt generation unit 134 generates a code generation prompt that instructs the generation of source code that implements all of one or more functions. The prompt generation unit 134 inputs the code generation prompt to the code generation model 11 via the data transmission unit 133. The code generation model 11 then generates software source code in response to the input prompt. The code generation model 11 outputs the source code to the front-end unit 13. The data receiving unit 136 receives the source code output by the code generation model 11.
[0041] (Step S204: Combining Process) The combining unit 139 combines the source code acquired in step S201 with the source code generated in step S202 to generate source code that implements all of one or more functions.
[0042] (Step S205: Source Code Output Process) The information output unit 132 outputs the source code received in step S203 or the source code generated in step S204 to the user terminal 30.
[0043] The processes from step S206 to step S210 are the same as the processes from step S103 to step S107 in FIG.
[0044] (Step S211: Source Determination Process) The prompt generation unit 134 determines whether the source code of the function with the longest execution time was generated by the code generation model 11. If the source code was generated by the code generation model 11, the prompt generation unit 134 proceeds to step S213. If the source code was not generated by the code generation model 11, the prompt generation unit 134 proceeds to step S212.
[0045] (Step S212: Grade Determination Process) The prompt generation unit 134 determines whether the source code of the function with the longest execution time is publicly known. If the source code is publicly known, the prompt generation unit 134 proceeds to step S213. On the other hand, if the source code is not publicly known, the prompt generation unit 134 proceeds to step S209.
[0046] The process of step S213 is the same as the process of step S108 in FIG.
[0047] (Step S214: Source Code Generation Process) The prompt generation unit 134 inputs the prompt generated in step S213 into the code generation model 11 to regenerate source code, and then returns the process to step S205.
[0048] ***Effects of Embodiment 2*** As described above, the execution time estimating device 10 according to Embodiment 2 utilizes source code that has been generated in the past. This makes it possible to utilize source code that has a proven track record, thereby increasing the reliability of the estimation results.
[0049] Furthermore, the execution time estimation device 10 according to the second embodiment does not store previously generated source code in the code generation model 11, but manages it using the database unit 16. This makes it possible to keep previously generated source code confidential within an organization. This makes it possible to use hand-coded source code without worrying about information leaks.
[0050] ***Other Configurations*** <Modification 2> In the first embodiment, each functional component is realized by software. However, in Modification 2, each functional component may be realized by hardware. The differences between Modification 2 and the first embodiment will be described below.
[0051] When each functional component is realized by hardware, the execution time estimation device 10 includes an electronic circuit in place of the storage 21, the processor 22, and the memory 23. The electronic circuit is a dedicated circuit for realizing the functions of each functional component, the storage 21, and the memory 23.
[0052] Possible electronic circuits include a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a logic IC, a GA, an ASIC, and an FPGA. GA stands for Gate Array. ASIC stands for Application Specific Integrated Circuit. FPGA stands for Field-Programmable Gate Array. Each functional component may be realized by a single electronic circuit, or each functional component may be distributed across multiple electronic circuits.
[0053] <Modification 3> As a modification 3, some of the functional components may be realized by hardware, and other functional components may be realized by software.
[0054] The storage 21, the processor 22, the memory 23, and the electronic circuitry are collectively referred to as a processing circuit. In other words, the functions of the respective functional components are realized by the processing circuit.
[0055] Furthermore, the term "unit" in the above description may be read as a "circuit," "step," "procedure," "process," or "processing circuit."
[0056] Aspects of the present disclosure are summarized below as appendices. (Appendix 1) An execution time estimation device comprising: a front-end unit that generates a code generation prompt instructing the generation of source code that realizes one or more functions of software from a functional description indicating the one or more functions written in a natural language, and inputs the code generation prompt to a code generation model that is a learning model; and an execution time estimation unit that estimates an execution time of source code generated by the code generation model for the prompt input by the front-end unit. (Appendix 2) The execution time estimation device according to Appendix 1, wherein the front-end unit determines whether the execution time estimated by the execution time estimation unit satisfies a constraint. (Appendix 3) The execution time estimation device according to Appendix 2, wherein, when the validity verification unit determines that the execution time does not satisfy the constraint, the front-end unit regenerates the code generation prompt in accordance with a relaxed condition for the software function and inputs the prompt to the code generation model, and the execution time estimation unit estimates the execution time of source code generated by the code generation model for the regenerated prompt. (Supplementary Note 4) The execution time estimation device according to Supplementary Note 3, wherein the front-end unit regenerates the code generation prompt so as to improve the execution time of a function having the longest execution time among the one or more functions. (Supplementary Note 5) The execution time estimation device according to any one of Supplementary Notes 1 to 4, further comprising: a search unit that retrieves source code for some of the one or more functions from source code generated in the past, the front-end unit generates a code generation prompt that instructs generation of source code realizing a function whose source code was not retrieved by the search unit, and inputs the generated code to the code generation model, and the execution time estimation unit estimates the execution time of the source code obtained by combining the source code retrieved by the search unit and the source code generated by the code generation model for the prompt.(Supplementary Note 6) The execution time estimation device according to any one of Supplementary Notes 1 to 5, wherein the front-end unit comprises: an input processing unit that accepts input of the function description; and an information output unit that outputs the execution time. (Supplementary Note 7) An execution time estimation method in which a computer generates, from a function description indicating one or more functions of software written in a natural language, a code generation prompt that instructs generation of source code that realizes the one or more functions, and inputs the generated code to a code generation model that is a learning model, and estimates the execution time of the source code generated by the code generation model in response to the prompt. (Supplementary Note 8) An execution time estimation program that makes a computer function as an execution time estimation device that performs front-end processing that generates, from a function description indicating one or more functions of software written in a natural language, a code generation prompt that instructs generation of source code that realizes the one or more functions, and inputs the generated code to a code generation model that is a learning model, and
[0057] The embodiments and modifications of the present disclosure have been described above. Some of these embodiments and modifications may be combined and implemented. Furthermore, one or more of them may be implemented partially. Note that the present disclosure is not limited to the above embodiments and modifications, and various modifications are possible as needed.
[0058] 10 Execution time estimation device, 11 Code generation model, 12 Execution time estimation unit, 13 Front end unit, 131 Input processing unit, 132 Information output unit, 133 Data transmission unit, 134 Prompt generation unit, 135 Validity determination unit, 136 Data reception unit, 137 Transmission path, 138 Search unit, 139 Combination unit, 14 Communication network, 15 Transmission path, 16 Database unit, 21 Storage, 22 Processor, 23 Memory, 24 Network interface, 30 User terminal.
Claims
1. An execution time estimation device comprising: a front-end unit that generates code generation prompts that instruct the generation of source code that realizes one or more functions of software from a functional description that indicates the one or more functions written in natural language, and inputs the code generation prompts into a code generation model, which is a learning model; and an execution time estimation unit that estimates the execution time of the source code generated by the code generation model in response to the prompts input by the front-end unit.
2. The execution time estimation device according to claim 1, wherein said front-end unit determines whether or not said execution time estimated by said execution time estimation unit satisfies a constraint condition.
3. The execution time estimation device described in claim 2, wherein when it is determined that the execution time does not satisfy the constraint, the front-end unit regenerates the prompt for code generation in accordance with relaxed conditions for the software's function and inputs it into the code generation model, and the execution time estimation unit estimates the execution time of the source code generated by the code generation model for the regenerated prompt.
4. The execution time estimation device according to claim 3, wherein the front-end unit regenerates the prompt for code generation so as to improve the execution time of the function having the longest execution time among the one or more functions.
5. The execution time estimation device according to any one of claims 1 to 4, further comprising: a search unit that retrieves source code for some of the one or more functions from source code generated in the past; the front-end unit generates a code generation prompt that instructs the generation of source code that realizes a function for which source code was not retrieved by the search unit, and inputs the code generation model; and the execution time estimation unit estimates the execution time of the source code obtained by combining the source code retrieved by the search unit with the source code generated by the code generation model in response to the prompt.
6. An execution time estimation device according to any one of claims 1 to 5, wherein the front-end unit comprises an input processing unit that accepts input of the function description, and an information output unit that outputs the execution time.
7. An execution time estimation method in which a computer generates code generation prompts that instruct the generation of source code that realizes one or more functions of software from a functional description that indicates the one or more functions written in natural language, inputs the code generation prompts into a code generation model that is a learning model, and estimates the execution time of the source code generated by the code generation model in response to the prompts.
8. An execution time estimation program that causes a computer to function as an execution time estimation device that performs front-end processing to generate code generation prompts that instruct the generation of source code that realizes one or more functions of software from a functional description that indicates the one or more functions written in natural language, and input the code generation prompts into a code generation model, which is a learning model, and execution time estimation processing to estimate the execution time of the source code generated by the code generation model in response to the prompts input by the front-end processing.
Citation Information
Patent Citations
Execution time estimation device, execution time estimation method, and program
JP2017199253A
Program generation device and program generation method
JP2021064087A
Automatic code reconfiguration based on function and subfunction analysis
JP2024061591A
Programming support device
JP7370467B2