Information processing method and information processing system
By leveraging a language model to automate the generation of test cases and program code within the system development process, the method addresses the labor-intensive challenges of existing systems, enhancing efficiency and reliability.
Patent Information
- Application Number
- PCT/IB2024/062682
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-22
- Filing Date
- 2024-12-16
- Publication Date
- 2025-06-26
AI Technical Summary
The existing system development process is labor-intensive, particularly in creating test cases and program code, which increases the burden on developers and can lead to inefficiencies and errors.
An information processing method and system that utilizes a language model to generate test cases and program code based on user specifications, including the creation of a correspondence table to ensure accuracy and the execution of tests with error comments to improve code reliability.
This approach significantly reduces the burden on developers by automating the generation of test cases and program code, improving the efficiency and reliability of the system development process.
Smart Images

Figure IB2024062682_26062025_PF_FP_ABST
Abstract
Description
Information processing method and information processing system
[0001] TECHNICAL FIELD One aspect of the present invention relates to an information processing method and an information processing system, and more particularly, to an information processing method and an information processing system that can utilize processing using a language model.
[0002] Note that one embodiment of the present invention is not limited to the above technical field. Examples of the technical field of one embodiment of the present invention disclosed in this specification and the like include semiconductor devices, display devices, light-emitting devices, power storage devices, memory devices, electronic devices, lighting devices, input devices, input / output devices, driving methods thereof, and manufacturing methods thereof. A semiconductor device refers to any device that can function by utilizing semiconductor characteristics.
[0003] In recent years, the development of language models using neural networks has been actively carried out, and large-scale language models (LLMs) in particular have attracted attention. A large-scale language model is a natural language processing model trained using a large amount of data. A large-scale language model can realize, for example, a dialogue model that responds to user instructions. Non-Patent Document 1 discloses GPT-4 (Generative Pre-trained Transformer 4) as a large-scale language model and ChatGPT as a dialogue model.
[0004] Test-Driven Development (TDD) is a software development method that has attracted attention. Test-Driven Development is a method in which test code is created before a program is implemented, and the program code is repeatedly implemented and modified so that the test runs without any problems.
[0005] In the test-driven development method, creating a list of all possible test cases when creating test code requires a huge amount of effort, and creating program code that passes all the test cases described in that list requires even more effort.
[0006] Patent Document 1 discloses a test case creation support device that generates test cases based on test specifications in the development process of an information system and has a test specification validity verification unit that verifies their validity in order to improve the efficiency of test case creation.
[0007] JP 2023-120879 A
[0008] Summary of ChatGPT / GPT-4 Research and Perspective Towards the Future of Large Language Models, Yiheng Liu et al. (Submitted on 4 Apr 2023, [online], Internet <URL: https: / / arxiv.org / abs / 2304.01852>
[0009] An object of one embodiment of the present invention is to reduce the burden on developers in a system development process.An object of one embodiment of the present invention is to reduce the burden of creating test cases in a system development process.An object of one embodiment of the present invention is to reduce the burden of creating program code in a system development process.An object of one embodiment of the present invention is to enable the development of a highly reliable system.
[0010] An object of one embodiment of the present invention is to provide a novel information processing method or a novel information processing system, and to alleviate at least one of the problems of the prior art.
[0011] Note that the description of these problems does not preclude the existence of other problems. Note that one embodiment of the present invention does not necessarily solve all of these problems. Note that problems other than these can be extracted from the description of the specification, drawings, claims, etc.
[0012] One aspect of the present invention is an information processing method comprising the steps of: requesting a language model to generate test cases based on specifications input by a user; requesting the language model to generate a correspondence table between the test cases generated by the language model and the specifications; presenting the correspondence table generated by the language model to the user; requesting the language model to generate program code based on the specifications and the test cases; running a test based on the test cases on the program code generated by the language model; requesting the language model to generate a comment for the error if the test fails; and creating a first report and presenting it to the user if the test passes.
[0013] In the above method, it is preferable to have a step of creating a second report and presenting it to the user when the number of times the test fails exceeds a specified number.
[0014] In the above, the correspondence table preferably has a specification item, a test case item, and a test explanation item.
[0015] Another aspect of the present invention is an information processing device having a processing unit, a receiving unit, and a presentation unit. The receiving unit has a function of receiving specifications from a user and outputting the specifications to the processing unit. The presentation unit has a function of presenting information to the user. The processing unit has a function of requesting a language model to generate test cases based on the specifications, a function of requesting the language model to generate a correspondence table between the test cases generated by the language model and the specifications, a function of causing the presentation unit to present the correspondence table generated by the language model to the user, a function of requesting the language model to generate program code based on the specifications and the test cases, a function of executing a test based on the test cases on the program code generated by the language model, a function of requesting the language model to generate a comment for the error if the test fails, and a function of creating a first report and causing the presentation unit to present the first report to the user if the test passes.
[0016] In addition, in the above, it is preferable that the processing unit has a function of creating a second report and causing the presentation unit to present the second report to the user when the number of times the test has failed exceeds a specified number.
[0017] In the above, the correspondence table preferably has a specification item, a test case item, and a test explanation item.
[0018] According to one aspect of the present invention, it is possible to reduce the burden on developers in the system development process. Alternatively, it is possible to reduce the burden of creating test cases in the system development process. Alternatively, it is possible to reduce the burden of creating program code in the system development process. Alternatively, it is possible to develop a highly reliable system.
[0019] According to one aspect of the present invention, it is possible to provide a novel information processing method or a novel information processing system, and it is possible to at least alleviate at least one of the problems of the prior art.
[0020] Note that the description of these effects does not preclude the existence of other effects. Note that one embodiment of the present invention does not necessarily have all of these effects. Note that effects other than these can be extracted from the description in the specification, drawings, claims, etc.
[0021] FIG. 1 is a configuration example of an information processing system. FIG. 2 is a flow diagram of an information processing method. FIG. 3 is a flow diagram of an information processing method. FIGS. 4A to 4C are diagrams showing an example of data. FIG. 5 is a diagram showing an example of data. FIG. 6 is a flow diagram of an information processing method. FIG. 7 is a flow diagram of an information processing method. FIG. 8 is a configuration example of a semiconductor device.
[0022] Hereinafter, embodiments will be described with reference to the drawings. However, it will be readily understood by those skilled in the art that the embodiments can be implemented in many different ways and that various changes in form and details can be made without departing from the spirit and scope of the present invention. Therefore, the present invention should not be interpreted as being limited to the following description of the embodiments.
[0023] In this specification, ordinal numbers such as "first" and "second" are used to avoid confusion of components and do not limit the number.
[0024] Embodiment In this embodiment, an information processing method and an information processing system according to one embodiment of the present invention will be described.
[0025] An information processing system according to one aspect of the present invention can generate test cases using a language model based on information such as a system specification created by a developer, and can then generate program code that passes tests using the test cases using the language model. This significantly reduces the burden on developers of both the creation of test cases and the creation of program code.
[0026] Here, a test case refers to a combination of execution conditions, input data, expected output (results), etc., that is prepared when conducting software testing (or simply called testing). A test case is prepared for each test item, and testing is carried out across multiple test cases. In the following, all test cases required for testing may be collectively referred to as test cases.
[0027] Furthermore, the information processing system can present a correspondence table to the developer so that the developer can easily check the test cases generated by the language model and the contents described in the specification. The correspondence table can be generated using the language model. In this way, by having the developer verify the validity of the test cases, it is possible to eliminate the problem of generating test cases that do not conform to the developer's intentions.
[0028] Furthermore, the information processing system can execute tests based on the test cases on the program code generated by the language model and determine whether it passes or fails. If it fails, the information processing system can request the language model to generate a comment about the cause of the failure and then request the language model to generate the program code again based on the generated comment. By repeating this process, it is possible to generate program code that reliably passes the test.
[0029] This information processing system can reduce the burden on developers in the system development process. In particular, it can significantly reduce the burden involved in creating test cases and program code. It also enables the development of highly reliable systems.
[0030] A more specific example will be described below with reference to the drawings.
[0031] 1 is a block diagram illustrating functions of an information processing system 10 according to one embodiment of the present invention. The information processing system 10 includes a processing unit 11, a receiving unit 12, and a presentation unit 13. The information processing system 10 can also exchange data with a language model 31 included in an external information processing system 30.
[0032] The following description will be given of an example in which the information processing system 10 is used to develop a system that includes a GUI (Graphical User Interface). For example, the information processing system 10 can be used to develop application software that runs on an operating system (OS) installed on a computer, smartphone, tablet device, etc. In addition, the information processing system 10 can be used to develop software such as application software that runs on an internet browser (also called a web application), or to create websites, etc.
[0033] [Reception Unit 12] The reception unit 12 can receive data from outside the information processing system 10. The reception unit 12 can receive, for example, data 21 including specification information, data 22 including GUI design information, data 23 including information linking the specification and the GUI, and direct input from the user 20.
[0034] The data or information accepted by the accepting unit 12 is output to the processing unit 11 .
[0035] It is preferable that the data 21, 22, and 23 are each text data, so that one or more of the data 21, 22, and 23 can be used as is as part of the data 25 that the processing unit 11 outputs to the language model 31.
[0036] [Processing Unit 11] The processing unit 11 has functions such as creating data 25 to be sent to the language model 31 of the information processing system 30, sending data 25 to the language model 31, creating data 25 to be sent to the language model 31 in accordance with data 26 input from the language model 31, and outputting data 26 input from the language model 31 to the presentation unit 13.
[0037] More specifically, the processing unit 11 preferably has the following functions: a function of requesting the language model 31 to generate test cases based on data 21 including specification information input by the user 20; a function of requesting the language model 31 to generate a correspondence table between the test cases generated by the language model 31 and the specifications; a function of outputting the correspondence table generated by the language model 31 to the presentation unit 13 and having it presented to the user 20; a function of requesting the language model 31 to generate program code based on the specifications and test cases; a function of executing a test based on the test cases on the program code generated by the language model 31; a function of requesting the language model 31 to generate a comment on the error if the test fails; and a function of creating a first report and having the presentation unit 13 present the first report to the user 20 if the test passes.
[0038] Furthermore, the processing unit 11 preferably has a function of creating a second report and presenting it to the user 20 when the number of times the test is failed exceeds a predetermined number.
[0039] [Presenter 13] The presenter 13 has a function of presenting information to the user 20. For example, a display device can be used as the presenter 13. The presenter 13 may also be configured to present information to the user 20 by sound or vibration.
[0040] [Information Processing System 30] The information processing system 30 can perform processing using a language model 31. In particular, the information processing system 30 preferably performs processing using a natural language processing model using AI. Examples of natural language processing models using AI include BERT (Bidirectional Encoder Representations from Transformers) and T5 (Text-to-Text Transfer Transformer). Furthermore, the information processing system 30 can perform processing using a model that utilizes a large-scale language model (such as a sentence generation model or a dialogue model). Examples of large-scale language models include GPT-3, GPT-3.5, GPT-4, LaMDA (Language Model for Dialogue Applications), PaLM (Pathways Language Model), and PaLM2, and it is preferable to use GPT-4.
[0041] The information processing system 30 can execute processing using a general-purpose AI model that can perform various tasks. When the information processing system 10 and the information processing system 30 can each execute processing using a model that utilizes a large-scale language model, the information processing system 30 can execute processing using a larger-scale AI model than the information processing system 10.
[0042] Here, an example is shown in which the information processing system 30 is provided outside the information processing system 10. The information processing system 10 can be connected to the information processing system 30 via a network. Note that the language model 31 possessed by the information processing system 30 may also be possessed by the information processing system 10.
[0043] [Example of Information Processing Method] Next, an example of an information processing method using the information processing system 10 will be described.
[0044] An information processing method according to one aspect of the present invention includes steps S01, SS1, SS2, and S02 shown in FIG.
[0045] Step S01 is a step for starting the process, step SS1 is a step for generating test cases, step SS2 is a step for generating program code based on the test cases, and step S03 is a step for terminating the process. Steps SS1 and SS2 will be described in detail below.
[0046] [Test Generation Step SS1] Fig. 3 is a flow diagram of step SS1. Step SS1 includes steps S11 to S20. Fig. 3 also clearly shows the processes of the user 20, the information processing system 10, and the information processing system 30 (language model 31) separately.
[0047] In step S11, the process starts.
[0048] In step S12, the user 20 creates the necessary data. Specifically, the user creates data 21 including specification information such as the specifications of the target software (system), data 22 including GUI design information, and data 23 including information linking the specifications to the GUI.
[0049] The data 21 includes information necessary for the target system, such as the purpose, overview, function list, operation flow, screen transitions, screen images, explanations of each function, hardware configuration, table definitions, etc.
[0050] 4A shows an example of the data 21. In the example shown in Fig. 4A, the data 21 shows, as function descriptions, objects such as buttons and display windows on the screen and descriptions of their functions, such as "Button 1: Transition to login screen when clicked," "Button 2: Pop-up file selection screen when clicked," and "Display window: Displays text information."
[0051] The data 22 includes GUI design information. If the system uses multiple screens, design information is required for each screen. For example, the data 22 includes various information required for the GUI, such as information on the position, size, and color of objects provided on the screen, and information on the font, size, and color of text.
[0052] For example, the data 22 may be text data written in HTML (Hyper Text Markup Language) format, CSS (Cascading Style Sheets) format, or the like. FIG. 4B shows an example of a screen displayed using the data 22. As an example, this shows a screen of software that can run on a computer. Objects (components) such as button 102, button 103, button 104, and text area 105 are arranged within a window 101. In addition, various other components such as a list box, a drop-down list, a check box, a toggle button, a slider, a spin button, and tabs can be arranged.
[0053] The data 23 includes information linking (also referred to as associating or assigning) the specification information included in the data 21 with information such as objects included in the data 22. The data 23 makes it possible to link the functions described in the specifications with the functions of the objects included in the GUI.
[0054] 4C shows an example of data 23. The data 23 lists the names of each object in the GUI in comparison with the names listed in the specifications. In FIG. 4C, "object_button_1: button 1," "object_button_2: button 2," "object_textarea_1: display window," etc. are listed.
[0055] The user 20 may create one or more of the data 21, data 22, and data 23 on the information processing system 10. For example, it is preferable that the information processing system 10 has a tool (software) that supports the creation of the data 21, data 22, or data 23. When data created using other software is used, data files of various data formats exist, whereas by creating at least one of the data 21, data 22, and data 23 using the information processing system 10, it is possible to create data of a unified data format, thereby improving the accuracy of the generation of test cases and program code.
[0056] Next, in step S13, the accepting unit 12 of the information processing system 10 accepts each piece of data input by the user 20. Specifically, data 21, data 22, and data 23 are accepted. As described above, when each piece of data is created on the information processing system 10, the data created by the user 20 can be accepted as data 21, data 22, or data 23 as is. In this case, a configuration including software for creating data 21, data 22, or data 23 corresponds to the accepting unit 12.
[0057] In step S14, the processing unit 11 of the information processing system 10 creates a prompt including an instruction statement to request the language model 31 of the information processing system 30 to generate test cases for each function based on the specification information included in the data 21 and the linking information included in the data 23. Next, the processing unit 11 outputs the created prompt to the language model 31. Here, the prompt is text data to be output to the language model 31. Here, the prompt includes the instruction statement, the data 21, and the data 23.
[0058] An example of a directive is shown below: "Generate tests for each function in the function list according to the operation flow in the specification. Follow the hardware configuration and table definitions."
[0059] In step S 15 , the language model 31 generates a test case in accordance with the input prompt and outputs it to the processing unit 11 .
[0060] In step S16, the processing unit 11 creates a prompt including an instruction statement for requesting the language model 31 to generate a correspondence table between the specification information included in the data 21 and the generated test cases. Then, the processing unit 11 outputs the prompt to the language model 31. The prompt created here includes the instruction statement, the test cases, and the data 21. Note that data 23 may be added to the prompt.
[0061] An example of a directive is: "Compare the specifications with the tests and make a table of the specifications that correspond to the tests."
[0062] In step S 17 , the language model 31 generates data 24 including a correspondence table in accordance with the input prompt and outputs it to the processing unit 11 .
[0063] In step S18 , the processing unit 11 causes the presentation unit 13 to present the correspondence table included in the data 24 generated by the language model 31 .
[0064] 5 shows an example of data 24. FIG. 5 corresponds to the correspondence table presented on the presentation unit 13. The correspondence table has three columns: specification, test case, and test description, and clearly shows the corresponding test case and its description for each specification item. Specifically, the name of the test case "test_invalid_output_value" corresponding to the specification item "output value is not invalid (0 or less)" and its description "confirm that a ValueError occurs when the output value is 0 or less" are clearly shown, followed by the name of the test case "test_invalid_input_value" corresponding to the specification item "input value is not invalid (less than 1)" and its description "confirm that a ValueError occurs when the input value is less than 1"
[0065] Subsequently, in step S19, the user 20 checks the correspondence table presented by the presentation unit 13 and determines whether or not there is a problem with the test case.
[0066] If there is no problem with the test case (YES), the process proceeds to step S20, and the test generation step SS1 is completed.
[0067] If there is a problem with the test case (NO), there is a possibility that there is a defect in one or more of the data 21 and data 23 created by the user 20. Therefore, the user 20 returns to step S12, checks each piece of data, and corrects any defects. The user 20 can also correct data 22 as necessary. Thereafter, the process proceeds to step S13 using the corrected data. This process is repeated until it is determined in step S19 that there is no problem with the test case.
[0068] [Code Generation Step SS2] Next, the code generation step SS2 will be described. Fig. 6 is a flow diagram of step SS2. Step SS2 includes steps S21 to S30.
[0069] In step S21, the process is started. The process may be started by receiving an instruction from the user 20 at the receiving unit 12. Alternatively, the process may be started when an input from the user 20 confirming that there is no problem with the test case is received in step S19 in the above step SS1.
[0070] In step S22, the processing unit 11 creates a prompt including an instruction statement for requesting the language model 31 to generate program code (also referred to as code) that passes the test case. Then, the processing unit 11 outputs the prompt to the language model 31. The created prompt includes one or more of data 21, data 23, and data 24 in addition to the instruction statement.
[0071] Since the data 24 includes both specification information and test case information, it is preferable to use the data 24 as the data to be output to the language model 31. Furthermore, by adding one or both of the data 23 and the data 21, it may be possible to generate data with higher accuracy.
[0072] An example of a directive is: "Write code that passes the test. Follow the hardware configuration and table definitions."
[0073] In step S23, the language model 31 generates program code in accordance with the input prompt and outputs it to the processing unit 11 as code information.
[0074] In step S24, the processing unit 11 executes a test based on the test case on the input code information and the data 22 including the GUI.
[0075] In step S25, it is determined whether an error occurred in the test. If no error occurred, i.e., the test passed (NO), the process proceeds to step S28. On the other hand, if an error occurred, i.e., the test failed (YES), the process proceeds to step S26. If an error occurred, the processing unit 11 can create error information. Alternatively, the test log information may be used as the error information.
[0076] In step S26, the processing unit 11 creates a prompt including an instruction statement for requesting the language model 31 to generate a comment on the error. Then, the processing unit 11 outputs the prompt to the language model 31. The created prompt includes, in addition to the instruction statement, code information, test cases, and error information. Note that one or more of data 21, data 23, and data 24 may also be added.
[0077] An example of a directive is shown below: "When the following test was performed on the following code, the following error occurred. Please explain the error by referring to the specifications and the correspondence table."
[0078] In step S27, the language model 31 generates a comment in accordance with the input prompt and outputs it as comment information to the processing unit 11. Thereafter, the process proceeds to step S22.
[0079] In step S22, the processing unit 11 creates a prompt. At this time, from the second time onwards, by adding the comment information and code information to the prompt, it is possible to request the language model 31 to generate program code that does not cause the error that occurred in step S24. That is, in step S22 from the second time onwards, for example, in addition to the directive created by the processing unit 11, the data 21, data 23, code information, error information, and comment information are output to the language model 31.
[0080] An example of an instruction statement in step S22 from the second time onwards is shown below: "When the following test was performed on the following code, the following error occurred. Please correct the code by referring to the comments. Please follow the hardware configuration and table definition."
[0081] By repeating the above steps, it is possible to generate program code that passes all test cases.
[0082] In step S28, the processing unit 11 creates a report including the test cases and the completed code information, and then causes the presentation unit 13 to present the created report.
[0083] In step S29, the user 20 checks the report presented on the presentation unit 13.
[0084] In step S30, the code generation step SS2 is completed.
[0085] 6, the process is repeated until the test passes, which may result in the process not being completed. Therefore, it is preferable to add a step that terminates the process when the number of repetitions exceeds a predetermined number.
[0086] Fig. 7 shows a flow of a modification of step SS2. Step S31 is added in Fig. 7. If an error occurs in step S25 (YES), the process proceeds to step S31.
[0087] In step S31, it is determined whether the number of repetitions is within a specified number. If it is within the specified number, the process proceeds to step S26. On the other hand, if it exceeds the specified number, the process proceeds to step S28. The specified number of repetitions may be set in advance by the user 20. For example, it is preferable that the specified number be between 5 and 10. If it exceeds 10 times, there is a high possibility that the target program code will not be converged. On the other hand, if it is less than 5 times, the optimization may be insufficient.
[0088] If step S31 is performed, then in step S28, the processing unit 11 can create a report including code information and error information and cause the presentation unit 13 to present the report.
[0089] Thereafter, in step S29, user 20 checks the report. If necessary, user 20 can return to step S12 of step SS1 and modify one or more of data 21, data 22, and data 23. Alternatively, user 20 can return to step S22, directly edit the prompt created by processing unit 11, and proceed to step S23.
[0090] This concludes the explanation of the information processing method.
[0091] [Hardware Configuration] The following describes the hardware configuration of a semiconductor device applicable to the information processing system 10. A semiconductor device 200 shown in Fig. 8 includes a processor 201, an input device 202, a communication device 203, a display device 204, and a storage device 205. Each component is connected via a system bus 210.
[0092] The processor 201 may include, for example, a central processing unit (CPU) and has a function of controlling each element such as an input device 202, a communication device 203, a display device 204, and a storage device 205.
[0093] Signals are transmitted between the processor 201 and each element via a system bus 210. The processor 201 has functions such as processing signals input from each element connected via the system bus 210 and generating signals to be output to each element, and can comprehensively control each element connected to the system bus 210.
[0094] The processor 201 performs various data processing and program control by interpreting and executing instructions from various programs using the CPU. The programs that can be executed by the processor 201 may be stored in a memory area provided within the processor 201 or may be stored in the storage device 205.
[0095] In addition to a CPU, the processor 201 may have an arithmetic unit that is more specialized for parallel calculations than a CPU. For example, it is preferable to use an arithmetic unit having a large number of cores (tens to hundreds) capable of parallel processing, such as a GPU (Graphics Processing Unit), a TPU (Tensor Processing Unit), or an NPU (Neural Processing Unit). These can function as AI accelerators and can perform calculations related to neural networks at high speeds. Note that a fully connected neural network or a convolutional neural network can be used as the neural network.
[0096] Note that part or all of the processor 201 may be configured to be implemented by a programmable logic device (PLD) such as a field programmable gate array (FPGA) or a field programmable analog array (FPAA). Alternatively, the processor 201 may be configured as a dedicated AI accelerator implemented by an application specific integrated circuit (ASIC).
[0097] The input device 202 is an input means for the user 20, and may be, for example, a mouse, keyboard, touchpad, touch panel, controller, etc. Alternatively, a configuration may be adopted in which gaze input is performed using eye tracking. Also, voice input using a microphone may be used.
[0098] An interface such as a Universal Serial Bus (USB) or a High-Definition Multimedia Interface (HDMI (registered trademark)) may be provided between the input device 202 and the system bus 210. Alternatively, the input device 202 may be configured to communicate with the communication device 203 wirelessly without using a cable.
[0099] The communication device 203 has a function of communicating with external devices wirelessly or via a wired connection. The communication device 203 may be provided with, for example, a high-frequency circuit (RF circuit) for transmitting and receiving RF signals. The high-frequency circuit converts electromagnetic signals in a frequency band defined by the laws of each country into electrical signals and vice versa, and uses the electromagnetic signals to communicate wirelessly with other communication devices. When performing wireless communication, a communication standard such as LTE (Long Term Evolution) or a specification standardized by the IEEE, such as Wi-Fi (registered trademark) or Bluetooth (registered trademark), can be used as a communication protocol or technology. Furthermore, a third-generation mobile communication system (3G), a fourth-generation mobile communication system (4G), or a fifth-generation mobile communication system (5G) defined by the International Telecommunication Union (ITU) can also be used.
[0100] The communication device 203 can connect to an external server device such as an information processing system 30 via a network. This allows, for example, processing that requires a huge amount of data to be entrusted to the external server device, thereby simplifying the configuration of the semiconductor device 200.
[0101] As the display device 204, various display devices such as a liquid crystal display, an organic EL display, and an LED display can be used.
[0102] Furthermore, a transistor including an oxide semiconductor (also referred to as an OS transistor) is preferably used as a transistor used in the pixels of the display device 204. Since an OS transistor has a characteristic of having an extremely low leakage current in an off state, for example, by using an OS transistor in a pixel circuit, analog data written to the pixel circuit can be held for a long period of time, the frame frequency can be reduced, and a display device with low power consumption can be realized. Therefore, the power consumption of the semiconductor device 200 can be reduced.
[0103] The storage device 205 may be, for example, a storage device having a storage element such as a dynamic RAM (DRAM) or a static RAM (SRAM). These storage elements are volatile but can be accessed quickly, and can be used as an auxiliary storage area for the processor 201. They can also be used as a storage area for data input from the outside, a storage area for output data after calculations, or an area for temporarily storing programs, etc.
[0104] Furthermore, the storage device 205 may be a storage device having a nonvolatile storage element such as a flash memory, a magnetoresistive random access memory (MRAM), a phase change RAM (PRAM), a resistive RAM (ReRAM), or a ferroelectric RAM (FeRAM). Alternatively, a mask ROM, a one-time programmable read-only memory (OTPROM), an erasable programmable read-only memory (EPROM), or the like may be used. Alternatively, a recording media drive such as a hard disk drive (HDD) or a solid state drive (SSD) may be used.
[0105] Although these are nonvolatile, their access speeds are slow, so it is preferable to store information that is not frequently accessed by the processor 201 and does not need to be rewritten or is rewritten infrequently. For example, the memory can store BIOS (Basic Input / Output System), firmware, an operating system, application programs, programs related to the operation of the information processing system 10, and the like.
[0106] At least some of the elements of the processor 201 and the memory device 205 preferably include OS transistors. Because OS transistors have extremely low off-state current, they are preferably used as switches for retaining charge (data) flowing into a capacitor functioning as a memory element. By using an OS transistor as the switch, data can be retained for a long period of time. By using this characteristic in at least one of the register and cache memory of the processing unit, the processing unit can be operated only when necessary and can be turned off at other times by saving information from the previous processing to the memory element. In other words, normally-off computing is possible, and the power consumption of the semiconductor device 200 can be reduced.
[0107] At least a part of the configuration examples exemplified in this embodiment and the corresponding drawings can be combined as appropriate with other configuration examples or drawings.
[0108] 10: Information processing system, 11: Processing unit, 12: Reception unit, 13: Presentation unit, 20: User, 21: Data, 22: Data, 23: Data, 24: Data, 25: Data, 26: Data, 30: Information processing system, 31: Language model, 101: Window, 102: Button, 103: Button, 104: Button, 105: Text area, 200: Semiconductor device, 201: Processor, 202: Input device, 203: Communication device, 204: Display device, 205: Storage device, 210: System bus
Claims
requesting a language model to generate test cases based on a specification input by a user; requesting the language model to generate a correspondence table between the test cases generated by the language model and the specification; presenting the correspondence table generated by the language model to the user; requesting the language model to generate program code based on the specification and the test cases; executing a test based on the test cases on the program code generated by the language model; if the test fails, requesting the language model to generate a comment on the error; if the test is successful, generating and presenting a first report to the user; having Information processing methods. In claim 1, and if the number of times the test fails exceeds a predetermined number, generating a second report and presenting the second report to the user. Information processing methods. In claim 1, the correspondence table has an item of the specification, an item of the test case, and an item of the test description; Information processing methods. A processing unit, a receiving unit, and a presenting unit, the reception unit has a function of receiving specifications from a user and outputting the specifications to the processing unit; The presentation unit has a function of presenting information to the user, The processing unit includes: requesting a language model to generate test cases based on said specification; a function of requesting the language model to generate a correspondence table between the test cases generated by the language model and the specification; a function of causing the presentation unit to present the correspondence table generated by the language model to the user; requesting the language model to generate program code based on the specification and the test cases; a function of executing a test based on the test cases on the program code generated by the language model; if the test fails, requesting the language model to generate a comment on the error; a function of creating a first report and causing the presentation unit to present the first report to the user if the test is passed; An information processing system having the above configuration. In claim 4, The processing unit includes: a function of creating a second report when the number of times the test has failed exceeds a specified number, and causing the presentation unit to present the second report to the user; Information processing system. In claim 4, the correspondence table has an item of the specification, an item of the test case, and an item of the test description; Information processing system.
Citation Information
Patent Citations
System testing method and device, computer equipment and storage medium
CN114328275A
Test case generation system and method
JP1999306046A