System
The system addresses the inadequacy of conventional technologies in detecting and fixing source code bugs by using multiple generation AI algorithms to detect bugs and propose optimal modifications, thereby enhancing software quality and development efficiency.
Patent Information
- Application Number
- JP2024169573
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-29
- Filing Date
- 2024-09-27
- Publication Date
- 2025-04-10
AI Technical Summary
Conventional technologies are insufficient in detecting source code bugs from multiple angles and providing optimal fixes.
A system that includes an acquisition unit to acquire source code, a detection unit using multiple generation AI algorithms to detect bugs, and a providing unit to propose optimal modifications based on the detected bugs.
The system effectively detects bugs from multiple perspectives and provides the most suitable modifications, improving software quality and development efficiency.
Smart Images

Figure 2025060512000001_ABST
Abstract
Description
[Technical field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including a description and related instruction sentence regarding the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2022-180282 A Summary of the Invention [Problem to be solved by the invention]
[0004] Conventional techniques do not adequately detect source code bugs from multiple angles and provide optimal correction suggestions, so there is room for improvement.
[0005] The system according to the embodiment aims to detect bugs in source code from multiple angles and provide optimal correction suggestions. [Means for solving the problem]
[0006] The system according to the embodiment includes an acquisition unit, a detection unit, and a provision unit. The acquisition unit acquires source code of software. The detection unit detects bugs in the source code acquired by the acquisition unit using a plurality of generating AI algorithms. The provision unit provides a fix for the bug detected by the detection unit. Effect of the Invention
[0007] The system according to the embodiment can detect bugs in source code from multiple angles and provide optimal correction suggestions. [Brief description of the drawings]
[0008] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Diagram 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. FIG. [Diagram 3] FIG. 11 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Diagram 5] FIG. 13 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 13 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 13 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Hereinafter, an example of an embodiment of a system according to the technology of the present disclosure will be described with reference to the accompanying drawings.
[0010] First, the terms used in the following description will be explained.
[0011] In the following embodiments, a signed processor (hereinafter simply referred to as a "processor") may be one arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be one type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), or a TPU (Tensor Processing Unit).
[0012] In the following embodiments, a signed RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by the processor.
[0013] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs and various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0014] In the following embodiments, a communication I / F (Interface) with a code is an interface including a communication processor and an antenna. The communication I / F controls communication between multiple computers. An example of a communication standard applied to the communication I / F is a wireless communication standard including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).
[0015] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. In addition, in this specification, the same idea as "A and / or B" is also applied when three or more things are expressed by connecting them with "and / or."
[0016] [First embodiment] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0017] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0018] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0019] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0020] The reception device 38 includes a touch panel 38A and a microphone 38B, and receives user input. The touch panel 38A detects contact with a pointer (e.g., a pen or a finger) to receive user input by the touch of the pointer. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 (see FIG. 2) acquires the data indicating the user input.
[0021] Output device 40 includes a display 40A and a speaker 40B, and presents data to a user by outputting the data in a form of expression that the user can perceive (e.g., voice and / or text). Display 40A displays visible information such as text and images according to instructions from processor 46. Speaker 40B outputs voice according to instructions from processor 46. Camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a Complementary Metal-Oxide-Semiconductor (CMOS) image sensor or a Charge Coupled Device (CCD) image sensor.
[0022] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for transmitting and receiving various types of information between the processor 46 and the processor 28 via the network 54.
[0023] FIG. 2 shows an example of main functions of the data processing device 12 and the smart device 14.
[0024] As shown in Fig. 2, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32. The specific process program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific process program 56 from the storage 32, and executes the read specific process program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific process program 56 executed on the RAM 30.
[0025] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate the emotion of the user using the emotion identification model 59 and perform identification processing using the user's emotion. In the emotion estimation function (emotion identification function) using the emotion identification model 59, various estimations and predictions regarding the user's emotion, including estimation and prediction of the user's emotion, are performed, but are not limited to such examples. In addition, the estimation and prediction of the emotion also include, for example, analysis of the emotion.
[0026] In the smart device 14, the specific processing is performed by the processor 46. The storage 50 stores a specific processing program 60. The specific processing program 60 is used together with the specific processing program 56 by the data processing system 10. The processor 46 reads the specific processing program 60 from the storage 50 and executes the specific processing program 60 on the RAM 48. The specific processing is realized by the processor 46 operating as the control unit 46A in accordance with the specific processing program 60 executed on the RAM 48. Note that the smart device 14 has a data generation model and an emotion identification model similar to the data generation model 58 and the emotion identification model 59, and can also perform processing similar to that of the specific processing unit 290 using these models.
[0027] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device (e.g., a generation server) may have the data generation model 58. In this case, the data processing device 12 obtains a processing result (prediction result, etc.) using the data generation model 58 by communicating with the server device having the data generation model 58. Also, the data processing device 12 may be a server device, or may be a terminal device (e.g., a mobile phone, a robot, a home appliance, etc.) owned by a user. Next, an example of processing by the data processing system 10 according to the first embodiment will be described.
[0028] (Example 1) A bug fixing and performance optimization system according to an embodiment of the present invention is a system that detects bugs from multiple perspectives and provides a proposed fix by combining different generative AI algorithms. The system acquires software source code and detects bugs in the acquired source code using multiple generative AI algorithms. For the detected bug, a proposed fix is generated using multiple generative AI algorithms and the proposed fix is provided. Furthermore, from among the multiple tentative fixes generated, the tentative fix with the highest evaluation is determined as the proposed fix. This evaluation is performed based on the criteria of performance, code readability, and security. In addition, the performance of the source code is evaluated using multiple generative AI algorithms, and optimization is performed based on the evaluation results. Optimization is performed by selecting a method that balances performance and quality. For example, to acquire software source code, the system first has a user input the source code. Next, the system detects bugs in the source code using multiple generative AI algorithms. For example, a deep learning algorithm or a reinforcement learning algorithm is used to detect syntax errors or logic errors in the source code. Furthermore, the system generates a proposed fix for the detected bug using multiple generative AI algorithms. For example, the generative AI receives a prompt such as "Please suggest the best way to fix this bug," and generates a proposed fix. Next, the system determines the tentative fix with the highest evaluation as the fix from among the multiple tentative fixes generated. This evaluation is based on criteria such as performance, code readability, and security. Finally, the system evaluates the performance of the source code using multiple generative AI algorithms and performs optimization based on the evaluation results. For example, the generative AI receives a prompt "Please suggest the best way to optimize the performance of this source code" and suggests an optimization method. This allows the bug fixing and performance optimization system to detect software bugs from multiple angles and provide fixes. It also allows the performance of the source code to be evaluated and optimized from multiple angles.
[0029] A bug fixing and performance optimization system according to an embodiment includes an acquisition unit, a detection unit, and a provision unit. The acquisition unit acquires a source code of software. The source code includes, for example, a programming language, a framework, a library, and the like, but is not limited to such examples. The acquisition unit acquires, for example, a source code input by a user. The acquisition unit can also acquire the source code from a repository. The detection unit detects bugs in the source code acquired by the acquisition unit using a plurality of generation AI algorithms. The bugs include, for example, syntax errors, logic errors, performance problems, and the like, but are not limited to such examples. The detection unit detects syntax errors in the source code using, for example, a deep learning algorithm. The detection unit can also detect logic errors in the source code using a reinforcement learning algorithm. Furthermore, the detection unit can detect performance problems in the source code using a genetic algorithm. The provision unit provides a correction proposal for the bug detected by the detection unit. The provision unit generates a correction proposal using, for example, a generation AI. The generation AI generates a correction proposal using, for example, a text generation AI (for example, LLM). The provision unit can also evaluate the correction proposal using the generation AI. The evaluation is performed based on, for example, criteria of performance, code readability, and security. For example, the providing unit uses the generation AI to evaluate the performance of the proposed correction. The providing unit can also use the generation AI to evaluate the code readability of the proposed correction. Furthermore, the providing unit can also use the generation AI to evaluate the security of the proposed correction. In this way, the bug fixing and performance optimization system according to the embodiment can detect software bugs from multiple angles and provide a proposed correction. Also, the performance of the source code can be evaluated and optimized from multiple angles.
[0030] The acquisition unit acquires the source code of the software. The source code includes, for example, a programming language, a framework, a library, and the like, but is not limited to such examples. The acquisition unit acquires, for example, the source code input by the user. The acquisition unit can also acquire the source code from a repository. Specifically, the acquisition unit has a function of monitoring the source code input by the user to the development environment in real time and automatically acquiring it when there is a change. The acquisition unit can also acquire source code from a specific branch or commit by linking with a version control system such as Git or SVN. The acquisition unit can also acquire source code from an external code repository through an API. For example, the source code can be acquired from a cloud-based repository service and synchronized with a local environment. By combining these functions, the acquisition unit can efficiently acquire source code regardless of what development environment the user is using. The acquisition unit also centrally manages the acquired source code and stores it in a database so that the subsequent detection unit and provision unit can easily access it. As a result, the acquisition unit can efficiently acquire and manage source code and improve the performance of the entire system.
[0031] The detection unit detects bugs in the source code acquired by the acquisition unit using multiple generation AI algorithms. Bugs include, but are not limited to, syntax errors, logic errors, and performance problems. The detection unit detects syntax errors in the source code using, for example, a deep learning algorithm. Specifically, a deep learning model that applies natural language processing technology is used to analyze the grammatical structure of the source code to detect syntax errors with high accuracy. The detection unit can also detect logic errors in the source code using a reinforcement learning algorithm. The reinforcement learning algorithm simulates the execution path of the source code to identify abnormal behavior and unexpected results. Furthermore, the detection unit can detect performance problems in the source code using a genetic algorithm. The genetic algorithm generates improvement proposals for combining different parts of the source code to achieve optimal performance, and evaluates performance indicators such as execution time and memory usage. This allows the detection unit to comprehensively detect various bugs in the source code and provide basic data for correction. Furthermore, the detection unit can learn past bug data and correction history to continuously improve the accuracy of bug detection. In this way, the detection unit contributes to improving software quality and improving development efficiency.
[0032] The providing unit provides a proposed fix for the bug detected by the detecting unit. The providing unit generates a proposed fix using, for example, a generating AI. The generating AI generates a proposed fix using, for example, a text generating AI (for example, LLM). Specifically, the generating AI generates an appropriate fix code based on the type and location of the detected bug. For example, in the case of a syntax error, the generating AI proposes a proposed fix based on correct grammar, and in the case of a logic error, it proposes modifying the algorithm or reviewing the conditional branch. The providing unit can also use the generating AI to evaluate the proposed fix. The evaluation is performed based on, for example, performance, code readability, and security criteria. Specifically, the generating AI simulates the execution time and memory usage of the proposed fix to evaluate performance. In addition, for code readability, the appropriateness of variable names and comments, the code structure, etc. are evaluated to determine whether the proposed fix is easy for other developers to understand. In addition, in the security evaluation, it is confirmed whether the proposed fix introduces new vulnerabilities and meets existing security standards. In this way, the providing unit can not only fix bugs, but also evaluate the quality of the proposed fix from multiple angles and provide the optimal proposed fix. In addition, the provision department can continuously improve the accuracy and quality of correction suggestions by collecting feedback from users and using it as learning data for the generative AI, thereby contributing to improving software quality and development efficiency.
[0033] The invention includes a generation unit that generates a bug fix proposal using a plurality of generation AI algorithms, and the provision unit can provide the bug fix proposal generated by the generation unit. The generation unit generates the bug fix proposal using a plurality of generation AI algorithms. The generation AI algorithm includes, for example, deep learning, reinforcement learning, genetic algorithms, and the like, but is not limited to such examples. The generation unit generates the bug fix proposal using, for example, a deep learning algorithm. The generation unit can also generate the bug fix proposal using a reinforcement learning algorithm. Furthermore, the generation unit can generate the bug fix proposal using a genetic algorithm. The provision unit provides the bug fix proposal generated by the generation unit. The provision unit generates the fix proposal using, for example, a generation AI. The generation AI generates the fix proposal using, for example, a text generation AI (for example, LLM). The provision unit can also use the generation AI to evaluate the fix proposal. The evaluation is performed based on, for example, performance, code readability, and security criteria. For example, the provision unit uses the generation AI to evaluate the performance of the fix proposal. The provision unit can also use the generation AI to evaluate the code readability of the fix proposal. For example, the provision unit uses the generation AI to evaluate the performance of the fix proposal. The provision unit can also use the generation AI to evaluate the code readability of the fix proposal. In addition, the providing unit can use the generating AI to evaluate the security of the proposed corrections. This allows the use of multiple generating AI algorithms to provide a wider variety of proposed corrections.
[0034] The system may include an evaluation unit that evaluates the performance of the source code using a plurality of generation AI algorithms, and a performance improvement unit that improves the performance of the source code based on the evaluation result by the evaluation unit. The evaluation unit evaluates the performance of the source code using a plurality of generation AI algorithms. The generation AI algorithms include, but are not limited to, deep learning, reinforcement learning, and genetic algorithms. The evaluation unit evaluates the performance of the source code using, for example, a deep learning algorithm. The evaluation unit can also evaluate the performance of the source code using a reinforcement learning algorithm. Furthermore, the evaluation unit can evaluate the performance of the source code using a genetic algorithm. The performance improvement unit improves the performance of the source code based on the evaluation result by the evaluation unit. The performance improvement unit proposes a performance improvement method using, for example, a generation AI. The generation AI proposes a performance improvement method using, for example, a text generation AI (e.g., LLM). The performance improvement unit can also evaluate the performance improvement method using the generation AI. The evaluation is performed based on criteria such as execution speed, memory usage, and throughput. For example, the performance improvement unit evaluates the execution speed of the performance improvement method using the generation AI. The performance improvement unit can also use the generation AI to evaluate the memory usage of the performance improvement method. Furthermore, the performance improvement unit can also use the generation AI to evaluate the throughput of the performance improvement method. This makes it possible to evaluate and optimize the performance of the source code from multiple angles.
[0035] The acquisition unit can analyze the user's past source code submission history and select an efficient acquisition method. For example, the acquisition unit can analyze the patterns of source code frequently submitted by the user in the past and preferentially acquire similar patterns. The acquisition unit can also evaluate the quality of source code submitted by the user in the past and preferentially acquire high-quality source code. Furthermore, the acquisition unit can analyze the submission time of source code submitted by the user in the past and select the optimal acquisition timing. As a result, efficient source code acquisition is possible by selecting the optimal acquisition method based on the past history. A part or all of the above-mentioned processing in the acquisition unit may be performed, for example, using AI or may be performed without using AI. For example, the acquisition unit can input the user's past source code submission history data to the generation AI and cause the generation AI to select an efficient acquisition method.
[0036] The acquisition unit can perform filtering based on the user's current project or field of interest when acquiring source code. For example, the acquisition unit preferentially acquires source code related to a project that the user is currently working on. The acquisition unit can also filter and acquire highly relevant source code based on the user's field of interest. Furthermore, the acquisition unit can also acquire related source code based on technologies or topics in which the user has shown interest in the past. In this way, highly relevant source code can be acquired by filtering source code based on the user's interest. A part or all of the above-mentioned processing in the acquisition unit may be performed using, for example, AI, or may be performed without using AI. For example, the acquisition unit can input the user's field of interest data to the generation AI and cause the generation AI to filter highly relevant source code.
[0037] When acquiring source code, the acquisition unit can preferentially acquire highly relevant source code in consideration of the geographical location information of the user. For example, when the user is in a specific area, the acquisition unit preferentially acquires source code related to the area. In addition, when the user is traveling, the acquisition unit can also preferentially acquire source code related to the travel destination. Furthermore, when the user is participating in a specific event, the acquisition unit can also preferentially acquire source code related to the event. In this way, by considering the geographical location information, highly relevant source code can be preferentially acquired. Part or all of the above-mentioned processing in the acquisition unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the acquisition unit can input the geographical location information data of the user to the generation AI and cause the generation AI to execute acquisition of highly relevant source code.
[0038] The acquisition unit can analyze the social media activity of the user and acquire the related source code when acquiring the source code. The acquisition unit can acquire the related source code based on, for example, technical articles shared by the user on social media. The acquisition unit can also acquire the related source code based on engineers and projects that the user follows on social media. Furthermore, the acquisition unit can acquire the related source code based on technical communities in which the user participates on social media. In this way, by analyzing the social media activity, it is possible to acquire source code based on the user's interests. A part or all of the above-mentioned processing in the acquisition unit can be performed, for example, using AI or can be performed without using AI. For example, the acquisition unit can input the user's social media activity data to the generation AI and cause the generation AI to acquire the related source code.
[0039] The detection unit can improve the accuracy of detection by considering the interrelationships of source code when detecting bugs. The detection unit, for example, analyzes the dependency relationship of source code and detects related bugs collectively. The detection unit can also identify the scope of influence of a bug by considering the interaction between modules of the source code. Furthermore, the detection unit can analyze the change history of the source code and preferentially detect bugs related to the change portion. As a result, the accuracy of bug detection is improved by considering the interrelationships of source code. A part or all of the above-mentioned processing in the detection unit may be performed, for example, using AI or may be performed without using AI. For example, the detection unit can input the dependency relationship data of the source code to the generation AI and cause the generation AI to execute the improvement of the accuracy of bug detection.
[0040] The detection unit can detect bugs by taking into consideration attribute information of the source code submitter. The detection unit adjusts bug detection criteria based on, for example, the submitter's years of experience. The detection unit can also preferentially detect specific bugs based on the submitter's field of expertise. Furthermore, the detection unit can analyze the submitter's past bug submission history and preferentially detect similar bugs. This allows for more appropriate bug detection by taking into consideration the submitter's attribute information. A part or all of the above-mentioned processing in the detection unit may be performed using, for example, AI, or may be performed without using AI. For example, the detection unit can input the submitter's attribute information data to the generation AI and cause the generation AI to adjust bug detection.
[0041] The providing unit can adjust the level of detail of the proposed correction based on the importance of the bug when providing the proposed correction. For example, the providing unit provides a detailed proposed correction for a bug with a high importance. The providing unit can also provide a concise proposed correction for a bug with a low importance. Furthermore, the providing unit can gradually adjust the level of detail of the proposed correction according to the importance. As a result, an appropriate proposed correction can be provided by adjusting the level of detail of the proposed correction based on the importance of the bug. A part or all of the above-mentioned processing in the providing unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the providing unit can input the importance data of the bug to the generating AI and cause the generating AI to adjust the level of detail of the proposed correction.
[0042] When providing a fix proposal, the providing unit can apply different fix proposal algorithms depending on the bug category. For example, the providing unit applies a security-specific fix proposal algorithm to a security-related bug. The providing unit can also apply a performance optimization fix proposal algorithm to a performance-related bug. Furthermore, the providing unit can also apply a code style fix proposal algorithm to a bug for improving readability. In this way, a more appropriate fix proposal can be provided by applying a fix proposal algorithm according to the bug category. A part or all of the above-mentioned processing in the providing unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the providing unit can input bug category data to the generating AI and cause the generating AI to apply the fix proposal algorithm.
[0043] The generation unit can improve the accuracy of generation when generating a tentative correction proposal by considering the interrelationships of bugs. The generation unit, for example, analyzes the dependency relationships of bugs and generates a tentative correction proposal for collectively correcting related bugs. The generation unit can also generate a tentative correction proposal that specifies the scope of influence by considering the interaction between modules of bugs. Furthermore, the generation unit can analyze the change history of bugs and preferentially generate tentative correction proposals related to the change portions. As a result, the accuracy of generating the tentative correction proposal is improved by considering the interrelationships of bugs. A part or all of the above-mentioned processing in the generation unit may be performed, for example, using AI or may be performed without using AI. For example, the generation unit can input the dependency relationship data of bugs to the generation AI and cause the generation AI to execute the improvement of the generation accuracy of the tentative correction proposal.
[0044] The generation unit can generate a tentative fix proposal while taking into consideration attribute information of the bug submitter. The generation unit generates an appropriate tentative fix proposal based on, for example, the submitter's years of experience. The generation unit can also generate a tentative fix proposal for a specific bug based on the submitter's field of expertise. Furthermore, the generation unit can analyze the submitter's past bug submission history and generate a tentative fix proposal for a similar bug. In this way, a more appropriate tentative fix proposal can be generated by taking into consideration the submitter's attribute information. A part or all of the above-mentioned processing in the generation unit may be performed, for example, using AI, or may be performed without using AI. For example, the generation unit can input attribute information data of the submitter to the generation AI and cause the generation AI to generate a tentative fix proposal.
[0045] The evaluation unit can optimize the evaluation algorithm by referring to past evaluation data during evaluation. The evaluation unit, for example, analyzes past evaluation data and improves the accuracy of the evaluation algorithm. The evaluation unit can also optimize evaluation criteria for a specific bug from the past evaluation data. Furthermore, the evaluation unit can adjust parameters of the evaluation algorithm based on the past evaluation data. As a result, the accuracy of the evaluation algorithm is improved by referring to the past evaluation data. A part or all of the above-mentioned processing in the evaluation unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the evaluation unit can input past evaluation data to the generation AI and cause the generation AI to optimize the evaluation algorithm.
[0046] The evaluation unit can apply different evaluation methods for each bug category during evaluation. For example, the evaluation unit applies a security-specific evaluation method to a security-related bug. The evaluation unit can also apply a performance optimization evaluation method to a performance-related bug. Furthermore, the evaluation unit can apply a code style evaluation method to a bug for improving readability. This allows for more appropriate evaluation by applying an evaluation method according to the bug category. Some or all of the above-mentioned processing in the evaluation unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the evaluation unit can input bug category data to the generation AI and cause the generation AI to apply the evaluation method.
[0047] The evaluation unit can analyze the change in evaluation based on the time when the bug occurred during the evaluation. For example, the evaluation unit prioritizes the evaluation of bugs that have recently occurred. The evaluation unit can also prioritize the evaluation of bugs that have been left unattended for a long period of time. Furthermore, the evaluation unit can analyze the change in evaluation in stages according to the time when the bug occurred. This allows for a more appropriate evaluation by analyzing the change in evaluation based on the time when the bug occurred. A part or all of the above-mentioned processing in the evaluation unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the evaluation unit can input data on the time when the bug occurred to the generation AI and cause the generation AI to analyze the change in evaluation.
[0048] The evaluation unit can analyze the evaluation by referring to market data related to the bug at the time of evaluation. The evaluation unit can, for example, refer to market data affected by the bug to improve the accuracy of the evaluation. The evaluation unit can also analyze trends in the market affected by the bug to improve the accuracy of the evaluation. Furthermore, the evaluation unit can also improve the accuracy of the evaluation by referring to competitive data in the market affected by the bug. As a result, the accuracy of the evaluation is improved by referring to the related market data. A part or all of the above-mentioned processing in the evaluation unit can be performed, for example, using AI or can be performed without using AI. For example, the evaluation unit can input the related market data to the generation AI and cause the generation AI to perform the analysis of the evaluation.
[0049] The optimization unit can optimize the optimization algorithm by referring to past optimization data during optimization. The optimization unit can, for example, analyze past optimization data and improve the accuracy of the optimization algorithm. The optimization unit can also optimize an optimization method for a specific bug from past optimization data. Furthermore, the optimization unit can adjust parameters of the optimization algorithm based on past optimization data. As a result, the accuracy of the optimization algorithm is improved by referring to past optimization data. A part or all of the above-mentioned processing in the optimization unit can be performed, for example, using AI or can be performed without using AI. For example, the optimization unit can input past optimization data to the generation AI and cause the generation AI to execute optimization of the optimization algorithm.
[0050] The optimization unit can apply different optimization methods to each category of source code during optimization. For example, the optimization unit applies a security-specific optimization method to security-related source code. The optimization unit can also apply a performance optimization method to performance-related source code. Furthermore, the optimization unit can apply a code style optimization method to source code for improving readability. This enables more appropriate optimization by applying an optimization method according to the category of the source code. A part or all of the above-mentioned processing in the optimization unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the optimization unit can input source code category data to the generation AI and cause the generation AI to apply the optimization method.
[0051] The optimization unit can perform optimization while taking into account the geographical distribution of the source code. For example, the optimization unit applies an appropriate optimization method to bugs that tend to occur in a particular region. The optimization unit can also analyze source codes of geographically distributed teams and apply an optimization method that identifies bug trends for each region. Furthermore, the optimization unit can adjust the timing of optimization while taking into account geographical factors (e.g., time difference). This allows for more appropriate optimization by taking into account the geographical distribution. A part or all of the above-mentioned processing in the optimization unit may be performed, for example, using AI, or may be performed without using AI. For example, the optimization unit can input geographical distribution data of the source code to the generation AI and cause the generation AI to execute optimization.
[0052] The optimization unit can improve the accuracy of optimization by referring to related literature of the source code during optimization. The optimization unit can improve the accuracy of optimization by referring to, for example, academic papers related to the source code. The optimization unit can also improve the accuracy of optimization by referring to information on technical blogs and forums related to the source code. Furthermore, the optimization unit can improve the accuracy of optimization by referring to patent documents related to the source code. As a result, the accuracy of optimization is improved by referring to related literature. A part or all of the above-mentioned processing in the optimization unit can be performed, for example, using AI or can be performed without using AI. For example, the optimization unit can input related literature data to the generation AI and cause the generation AI to execute optimization.
[0053] The system according to the embodiment is not limited to the above-described example, and various modifications are possible, for example, as follows.
[0054] The acquisition unit can analyze the user's past bug fixing history and generate an efficient fix proposal. For example, the acquisition unit can analyze the pattern of bugs that the user has fixed in the past and prioritize fixing similar patterns. The acquisition unit can also evaluate the quality of bugs that the user has fixed in the past and prioritize generating high-quality fix proposals. Furthermore, the acquisition unit can analyze the fix time of bugs that the user has fixed in the past and select the optimal fix timing. This enables efficient bug fixing by generating an optimal fix proposal based on the past history. A part or all of the above-mentioned processing in the acquisition unit may be performed using, for example, AI, or may be performed without using AI. For example, the acquisition unit can input the user's past bug fixing history data to the generation AI and cause the generation AI to generate an efficient fix proposal.
[0055] When providing a revision proposal, the providing unit can improve the accuracy of the revision proposal by referring to the user's past revision proposal evaluation history. For example, the providing unit analyzes the pattern of revision proposals that the user has given a high rating in the past, and preferentially provides similar patterns. The providing unit can also avoid patterns of revision proposals that the user has given a low rating in the past. Furthermore, the providing unit can adjust the parameters of the revision proposal based on the past revision proposal evaluation history. As a result, the accuracy of the revision proposal is improved by referring to the past evaluation history. A part or all of the above-mentioned processing in the providing unit may be performed, for example, using AI, or may be performed without using AI. For example, the providing unit can input past revision proposal evaluation history data to the generating AI, and cause the generating AI to improve the accuracy of the revision proposal.
[0056] The acquisition unit can adjust the acquisition method when acquiring source code, taking into consideration the progress of the user's current project. For example, when the project is in the early stages, basic source code is acquired preferentially. Also, when the project is in the middle stage, more complex source code can be acquired. Furthermore, when the project is in the final stage, optimized source code can be acquired preferentially. This allows efficient source code acquisition by adjusting the source code acquisition method according to the progress of the project. A part or all of the above-mentioned processing in the acquisition unit may be performed, for example, using AI, or may be performed without using AI. For example, the acquisition unit can input project progress data to the generation AI and cause the generation AI to adjust the acquisition method.
[0057] The detection unit can improve the accuracy of detection when detecting a bug by taking into account the version history of the source code. For example, the detection unit can preferentially detect bugs that occurred in a specific version. The detection unit can also analyze changes between versions and preferentially detect bugs related to the changes. Furthermore, the detection unit can analyze the tendency of bugs to occur based on the version history and detect predicted bugs in advance. As a result, the accuracy of bug detection is improved by taking the version history into account. A part or all of the above-mentioned processing in the detection unit may be performed, for example, using AI or may be performed without using AI. For example, the detection unit can input version history data to the generation AI and cause the generation AI to improve the accuracy of bug detection.
[0058] When providing a revision proposal, the providing unit can improve the accuracy of the revision proposal by referring to the user's past revision proposal adoption history. For example, the providing unit can analyze the patterns of revision proposals adopted by the user in the past and provide similar patterns preferentially. The providing unit can also avoid patterns of revision proposals that the user did not adopt in the past. Furthermore, the providing unit can adjust the parameters of the revision proposal based on the past revision proposal adoption history. As a result, the accuracy of the revision proposal is improved by referring to the past adoption history. A part or all of the above-mentioned processing in the providing unit may be performed, for example, using AI or may be performed without using AI. For example, the providing unit can input past revision proposal adoption history data to the generating AI and cause the generating AI to improve the accuracy of the revision proposal.
[0059] The evaluation unit can improve the accuracy of the evaluation by taking into account the scope of the bug's impact during the evaluation. For example, the evaluation unit identifies modules and functions that the bug affects, and performs the evaluation based on the scope of the impact. In addition, when a bug has a chain effect with other bugs, the evaluation unit can also perform the evaluation by taking into account the chain relationship. Furthermore, the priority of correction can be determined based on the scope of the bug's impact. As a result, the accuracy of the evaluation is improved by taking into account the scope of the bug's impact. A part or all of the above-mentioned processing in the evaluation unit may be performed using, for example, AI, or may be performed without using AI. For example, the evaluation unit can input bug impact scope data to the generation AI and cause the generation AI to improve the accuracy of the evaluation.
[0060] The optimization unit can perform optimization by taking into account dependencies of source code. For example, when a specific module depends on another module, the optimization unit performs optimization by taking into account the dependencies. The optimization unit can also optimize interactions between modules that have dependencies. Furthermore, the optimization unit can determine the priority of optimization based on the dependencies. This enables more appropriate optimization by taking into account the dependencies of source code. Some or all of the above-mentioned processing in the optimization unit may be performed using, for example, AI, or may be performed without using AI. For example, the optimization unit can input dependency data of source code to a generation AI and cause the generation AI to execute optimization.
[0061] The process flow of the first embodiment will be briefly described below.
[0062] Step 1: The acquisition unit acquires the source code of the software. The source code includes, but is not limited to, a programming language, a framework, a library, etc. The acquisition unit can acquire the source code from a source code input by a user or a repository. Step 2: The detection unit detects bugs in the source code acquired by the acquisition unit using multiple generation AI algorithms. The bugs include syntax errors, logic errors, performance issues, etc. For example, a deep learning algorithm can be used to detect syntax errors, a reinforcement learning algorithm can be used to detect logic errors, and a genetic algorithm can be used to detect performance issues. Step 3: The providing unit provides fixes for bugs detected by the detecting unit. The providing unit generates fixes using a generating AI and evaluates the fixes. The evaluation is based on the criteria of performance, code readability, and security. For example, the generating AI is used to evaluate the performance, code readability, and security of the fixes.
[0063] (Example 2) A bug fixing and performance optimization system according to an embodiment of the present invention is a system that detects bugs from multiple perspectives and provides a proposed fix by combining different generative AI algorithms. The system acquires software source code and detects bugs in the acquired source code using multiple generative AI algorithms. For the detected bug, a proposed fix is generated using multiple generative AI algorithms and the proposed fix is provided. Furthermore, from among the multiple tentative fixes generated, the tentative fix with the highest evaluation is determined as the proposed fix. This evaluation is performed based on the criteria of performance, code readability, and security. In addition, the performance of the source code is evaluated using multiple generative AI algorithms, and optimization is performed based on the evaluation results. Optimization is performed by selecting a method that balances performance and quality. For example, to acquire software source code, the system first has a user input the source code. Next, the system detects bugs in the source code using multiple generative AI algorithms. For example, a deep learning algorithm or a reinforcement learning algorithm is used to detect syntax errors or logic errors in the source code. Furthermore, the system generates a proposed fix for the detected bug using multiple generative AI algorithms. For example, the generative AI receives a prompt such as "Please suggest the best way to fix this bug," and generates a proposed fix. Next, the system determines the tentative fix with the highest evaluation as the fix from among the multiple tentative fixes generated. This evaluation is based on criteria such as performance, code readability, and security. Finally, the system evaluates the performance of the source code using multiple generative AI algorithms and performs optimization based on the evaluation results. For example, the generative AI receives a prompt "Please suggest the best way to optimize the performance of this source code" and suggests an optimization method. This allows the bug fixing and performance optimization system to detect software bugs from multiple angles and provide fixes. It also allows the performance of the source code to be evaluated and optimized from multiple angles.
[0064] A bug fixing and performance optimization system according to an embodiment includes an acquisition unit, a detection unit, and a provision unit. The acquisition unit acquires a source code of software. The source code includes, for example, a programming language, a framework, a library, and the like, but is not limited to such examples. The acquisition unit acquires, for example, a source code input by a user. The acquisition unit can also acquire the source code from a repository. The detection unit detects bugs in the source code acquired by the acquisition unit using a plurality of generation AI algorithms. The bugs include, for example, syntax errors, logic errors, performance problems, and the like, but are not limited to such examples. The detection unit detects syntax errors in the source code using, for example, a deep learning algorithm. The detection unit can also detect logic errors in the source code using a reinforcement learning algorithm. Furthermore, the detection unit can detect performance problems in the source code using a genetic algorithm. The provision unit provides a correction proposal for the bug detected by the detection unit. The provision unit generates a correction proposal using, for example, a generation AI. The generation AI generates a correction proposal using, for example, a text generation AI (for example, LLM). The provision unit can also evaluate the correction proposal using the generation AI. The evaluation is performed based on, for example, criteria of performance, code readability, and security. For example, the providing unit uses the generation AI to evaluate the performance of the proposed correction. The providing unit can also use the generation AI to evaluate the code readability of the proposed correction. Furthermore, the providing unit can also use the generation AI to evaluate the security of the proposed correction. In this way, the bug fixing and performance optimization system according to the embodiment can detect software bugs from multiple angles and provide a proposed correction. Also, the performance of the source code can be evaluated and optimized from multiple angles.
[0065] The acquisition unit acquires the source code of the software. The source code includes, for example, a programming language, a framework, a library, and the like, but is not limited to such examples. The acquisition unit acquires, for example, the source code input by the user. The acquisition unit can also acquire the source code from a repository. Specifically, the acquisition unit has a function of monitoring the source code input by the user to the development environment in real time and automatically acquiring it when there is a change. The acquisition unit can also acquire source code from a specific branch or commit by linking with a version control system such as Git or SVN. The acquisition unit can also acquire source code from an external code repository through an API. For example, the source code can be acquired from a cloud-based repository service and synchronized with a local environment. By combining these functions, the acquisition unit can efficiently acquire source code regardless of what development environment the user is using. The acquisition unit also centrally manages the acquired source code and stores it in a database so that the subsequent detection unit and provision unit can easily access it. As a result, the acquisition unit can efficiently acquire and manage source code and improve the performance of the entire system.
[0066] The detection unit detects bugs in the source code acquired by the acquisition unit using multiple generation AI algorithms. Bugs include, but are not limited to, syntax errors, logic errors, and performance problems. The detection unit detects syntax errors in the source code using, for example, a deep learning algorithm. Specifically, a deep learning model that applies natural language processing technology is used to analyze the grammatical structure of the source code to detect syntax errors with high accuracy. The detection unit can also detect logic errors in the source code using a reinforcement learning algorithm. The reinforcement learning algorithm simulates the execution path of the source code to identify abnormal behavior and unexpected results. Furthermore, the detection unit can detect performance problems in the source code using a genetic algorithm. The genetic algorithm generates improvement proposals for combining different parts of the source code to achieve optimal performance, and evaluates performance indicators such as execution time and memory usage. This allows the detection unit to comprehensively detect various bugs in the source code and provide basic data for correction. Furthermore, the detection unit can learn past bug data and correction history to continuously improve the accuracy of bug detection. In this way, the detection unit contributes to improving software quality and improving development efficiency.
[0067] The providing unit provides a proposed fix for the bug detected by the detecting unit. The providing unit generates a proposed fix using, for example, a generating AI. The generating AI generates a proposed fix using, for example, a text generating AI (for example, LLM). Specifically, the generating AI generates an appropriate fix code based on the type and location of the detected bug. For example, in the case of a syntax error, the generating AI proposes a proposed fix based on correct grammar, and in the case of a logic error, it proposes modifying the algorithm or reviewing the conditional branch. The providing unit can also use the generating AI to evaluate the proposed fix. The evaluation is performed based on, for example, performance, code readability, and security criteria. Specifically, the generating AI simulates the execution time and memory usage of the proposed fix to evaluate performance. In addition, for code readability, the appropriateness of variable names and comments, the code structure, etc. are evaluated to determine whether the proposed fix is easy for other developers to understand. In addition, in the security evaluation, it is confirmed whether the proposed fix introduces new vulnerabilities and meets existing security standards. In this way, the providing unit can not only fix bugs, but also evaluate the quality of the proposed fix from multiple angles and provide the optimal proposed fix. In addition, the provision department can continuously improve the accuracy and quality of correction suggestions by collecting feedback from users and using it as learning data for the generative AI, thereby contributing to improving software quality and development efficiency.
[0068] The invention includes a generation unit that generates a bug fix proposal using a plurality of generation AI algorithms, and the provision unit can provide the bug fix proposal generated by the generation unit. The generation unit generates the bug fix proposal using a plurality of generation AI algorithms. The generation AI algorithm includes, for example, deep learning, reinforcement learning, genetic algorithms, and the like, but is not limited to such examples. The generation unit generates the bug fix proposal using, for example, a deep learning algorithm. The generation unit can also generate the bug fix proposal using a reinforcement learning algorithm. Furthermore, the generation unit can generate the bug fix proposal using a genetic algorithm. The provision unit provides the bug fix proposal generated by the generation unit. The provision unit generates the fix proposal using, for example, a generation AI. The generation AI generates the fix proposal using, for example, a text generation AI (for example, LLM). The provision unit can also use the generation AI to evaluate the fix proposal. The evaluation is performed based on, for example, performance, code readability, and security criteria. For example, the provision unit uses the generation AI to evaluate the performance of the fix proposal. The provision unit can also use the generation AI to evaluate the code readability of the fix proposal. For example, the provision unit uses the generation AI to evaluate the performance of the fix proposal. The provision unit can also use the generation AI to evaluate the code readability of the fix proposal. In addition, the providing unit can use the generating AI to evaluate the security of the proposed corrections. This allows the use of multiple generating AI algorithms to provide a wider variety of proposed corrections.
[0069] The system may include an evaluation unit that evaluates the performance of the source code using a plurality of generation AI algorithms, and a performance improvement unit that improves the performance of the source code based on the evaluation result by the evaluation unit. The evaluation unit evaluates the performance of the source code using a plurality of generation AI algorithms. The generation AI algorithms include, but are not limited to, deep learning, reinforcement learning, and genetic algorithms. The evaluation unit evaluates the performance of the source code using, for example, a deep learning algorithm. The evaluation unit can also evaluate the performance of the source code using a reinforcement learning algorithm. Furthermore, the evaluation unit can evaluate the performance of the source code using a genetic algorithm. The performance improvement unit improves the performance of the source code based on the evaluation result by the evaluation unit. The performance improvement unit proposes a performance improvement method using, for example, a generation AI. The generation AI proposes a performance improvement method using, for example, a text generation AI (e.g., LLM). The performance improvement unit can also evaluate the performance improvement method using the generation AI. The evaluation is performed based on criteria such as execution speed, memory usage, and throughput. For example, the performance improvement unit evaluates the execution speed of the performance improvement method using the generation AI. The performance improvement unit can also use the generation AI to evaluate the memory usage of the performance improvement method. Furthermore, the performance improvement unit can also use the generation AI to evaluate the throughput of the performance improvement method. This makes it possible to evaluate and optimize the performance of the source code from multiple angles.
[0070] The acquisition unit can estimate the user's emotion and adjust the timing of acquiring the source code based on the estimated user's emotion. For example, when the user is feeling stressed, the acquisition unit delays the acquisition of the source code and waits until the user relaxes. In addition, when the user is concentrating, the acquisition unit can also immediately acquire the source code so as not to interrupt the flow of work. Furthermore, when the user is tired, the acquisition unit can temporarily stop the acquisition of the source code and encourage the user to take a break. In this way, the burden on the user can be reduced by adjusting the timing of acquiring the source code according to the user's emotion. The estimation of the emotion is realized using an emotion estimation function using, for example, an emotion engine or a generation AI. The generation AI is, for example, a text generation AI (for example, LLM) or a multimodal generation AI, but is not limited to such examples. A part or all of the above-mentioned processing in the acquisition unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the acquisition unit can input the user's facial expression data to the generation AI and cause the generation AI to execute the estimation of the user's emotion.
[0071] The acquisition unit can analyze the user's past source code submission history and select an efficient acquisition method. For example, the acquisition unit can analyze the patterns of source code frequently submitted by the user in the past and preferentially acquire similar patterns. The acquisition unit can also evaluate the quality of source code submitted by the user in the past and preferentially acquire high-quality source code. Furthermore, the acquisition unit can analyze the submission time of source code submitted by the user in the past and select the optimal acquisition timing. As a result, efficient source code acquisition is possible by selecting the optimal acquisition method based on the past history. A part or all of the above-mentioned processing in the acquisition unit may be performed, for example, using AI or may be performed without using AI. For example, the acquisition unit can input the user's past source code submission history data to the generation AI and cause the generation AI to select an efficient acquisition method.
[0072] The acquisition unit can perform filtering based on the user's current project or field of interest when acquiring source code. For example, the acquisition unit preferentially acquires source code related to a project that the user is currently working on. The acquisition unit can also filter and acquire highly relevant source code based on the user's field of interest. Furthermore, the acquisition unit can also acquire related source code based on technologies or topics in which the user has shown interest in the past. In this way, highly relevant source code can be acquired by filtering source code based on the user's interest. A part or all of the above-mentioned processing in the acquisition unit may be performed using, for example, AI, or may be performed without using AI. For example, the acquisition unit can input the user's field of interest data to the generation AI and cause the generation AI to filter highly relevant source code.
[0073] The acquisition unit can estimate the user's emotion and determine the priority of source code to be acquired based on the estimated user's emotion. For example, when the user is feeling stressed, the acquisition unit preferentially acquires simple and easy-to-understand source code. In addition, the acquisition unit can also preferentially acquire complex source code when the user is relaxed. Furthermore, when the user is in a hurry, the acquisition unit can also preferentially acquire the most important source code. In this way, by determining the priority of source code according to the user's emotion, it is possible to acquire optimal source code according to the user's situation. The estimation of emotion is realized using an emotion estimation function using, for example, an emotion engine or a generation AI. The generation AI is, for example, a text generation AI (for example, LLM) or a multimodal generation AI, but is not limited to such examples. A part or all of the above-mentioned processing in the acquisition unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the acquisition unit can input the user's facial expression data to the generation AI and cause the generation AI to execute the estimation of the user's emotion.
[0074] When acquiring source code, the acquisition unit can preferentially acquire highly relevant source code in consideration of the geographical location information of the user. For example, when the user is in a specific area, the acquisition unit preferentially acquires source code related to the area. In addition, when the user is traveling, the acquisition unit can also preferentially acquire source code related to the travel destination. Furthermore, when the user is participating in a specific event, the acquisition unit can also preferentially acquire source code related to the event. In this way, by considering the geographical location information, highly relevant source code can be preferentially acquired. Part or all of the above-mentioned processing in the acquisition unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the acquisition unit can input the geographical location information data of the user to the generation AI and cause the generation AI to execute acquisition of highly relevant source code.
[0075] The acquisition unit can analyze the social media activity of the user and acquire the related source code when acquiring the source code. The acquisition unit can acquire the related source code based on, for example, technical articles shared by the user on social media. The acquisition unit can also acquire the related source code based on engineers and projects that the user follows on social media. Furthermore, the acquisition unit can acquire the related source code based on technical communities in which the user participates on social media. In this way, by analyzing the social media activity, it is possible to acquire source code based on the user's interests. A part or all of the above-mentioned processing in the acquisition unit can be performed, for example, using AI or can be performed without using AI. For example, the acquisition unit can input the user's social media activity data to the generation AI and cause the generation AI to acquire the related source code.
[0076] The detection unit can estimate the user's emotion and adjust the bug detection criteria based on the estimated user's emotion. For example, when the user is stressed, the detection unit relaxes the bug detection criteria and reports fewer bugs. Also, when the user is relaxed, the detection unit can tighten the bug detection criteria and report detailed bugs. Furthermore, when the user is in a hurry, the detection unit can report only important bugs. This allows bug detection according to the user's situation by adjusting the bug detection criteria according to the user's emotion. The emotion estimation is realized using an emotion estimation function using, for example, an emotion engine or a generation AI. The generation AI is a text generation AI (for example, LLM) or a multimodal generation AI, but is not limited to such examples. A part or all of the above-mentioned processing in the detection unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the detection unit can input the user's facial expression data to the generation AI and cause the generation AI to execute the estimation of the user's emotion.
[0077] The detection unit can improve the accuracy of detection by considering the interrelationships of source code when detecting bugs. The detection unit, for example, analyzes the dependency relationship of source code and detects related bugs collectively. The detection unit can also identify the scope of influence of a bug by considering the interaction between modules of the source code. Furthermore, the detection unit can analyze the change history of the source code and preferentially detect bugs related to the change portion. As a result, the accuracy of bug detection is improved by considering the interrelationships of source code. A part or all of the above-mentioned processing in the detection unit may be performed, for example, using AI or may be performed without using AI. For example, the detection unit can input the dependency relationship data of the source code to the generation AI and cause the generation AI to execute the improvement of the accuracy of bug detection.
[0078] The detection unit can detect bugs by taking into consideration attribute information of the source code submitter. The detection unit adjusts bug detection criteria based on, for example, the submitter's years of experience. The detection unit can also preferentially detect specific bugs based on the submitter's field of expertise. Furthermore, the detection unit can analyze the submitter's past bug submission history and preferentially detect similar bugs. This allows for more appropriate bug detection by taking into consideration the submitter's attribute information. A part or all of the above-mentioned processing in the detection unit may be performed using, for example, AI, or may be performed without using AI. For example, the detection unit can input the submitter's attribute information data to the generation AI and cause the generation AI to adjust bug detection.
[0079] The providing unit can estimate the user's emotion and adjust the expression method of the proposed revision based on the estimated emotion of the user. For example, when the user is stressed, the providing unit provides a concise and easy-to-understand proposed revision. In addition, when the user is relaxed, the providing unit can also provide a proposed revision including detailed explanations. Furthermore, when the user is in a hurry, the providing unit can also provide a proposed revision that covers the main points. In this way, by adjusting the expression method of the proposed revision according to the user's emotion, a proposed revision that is easy for the user to understand can be provided. The estimation of emotion is realized using an emotion estimation function using, for example, an emotion engine or a generation AI. The generation AI is, for example, a text generation AI (for example, LLM) or a multimodal generation AI, but is not limited to such examples. A part or all of the above-mentioned processing in the providing unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the providing unit can input the user's facial expression data to the generation AI and cause the generation AI to adjust the expression method of the proposed revision.
[0080] The providing unit can adjust the level of detail of the proposed correction based on the importance of the bug when providing the proposed correction. For example, the providing unit provides a detailed proposed correction for a bug with a high importance. The providing unit can also provide a concise proposed correction for a bug with a low importance. Furthermore, the providing unit can gradually adjust the level of detail of the proposed correction according to the importance. As a result, an appropriate proposed correction can be provided by adjusting the level of detail of the proposed correction based on the importance of the bug. A part or all of the above-mentioned processing in the providing unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the providing unit can input the importance data of the bug to the generating AI and cause the generating AI to adjust the level of detail of the proposed correction.
[0081] When providing a fix proposal, the providing unit can apply different fix proposal algorithms depending on the bug category. For example, the providing unit applies a security-specific fix proposal algorithm to a security-related bug. The providing unit can also apply a performance optimization fix proposal algorithm to a performance-related bug. Furthermore, the providing unit can also apply a code style fix proposal algorithm to a bug for improving readability. In this way, a more appropriate fix proposal can be provided by applying a fix proposal algorithm according to the bug category. A part or all of the above-mentioned processing in the providing unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the providing unit can input bug category data to the generating AI and cause the generating AI to apply the fix proposal algorithm.
[0082] The generation unit can estimate the user's emotion and adjust the generation method of the provisional revision proposal based on the estimated user's emotion. For example, when the user is stressed, the generation unit generates a concise and easy-to-understand provisional revision proposal. In addition, when the user is relaxed, the generation unit can also generate a provisional revision proposal including detailed explanations. Furthermore, when the user is in a hurry, the generation unit can also generate a provisional revision proposal that can be quickly implemented. In this way, by adjusting the generation method of the provisional revision proposal according to the user's emotion, a provisional revision proposal that is easy for the user to understand can be generated. The estimation of emotion is realized using an emotion estimation function using, for example, an emotion engine or a generation AI. The generation AI is, for example, a text generation AI (for example, LLM) or a multimodal generation AI, but is not limited to such examples. A part or all of the above-mentioned processing in the generation unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the generation unit can input the user's facial expression data to the generation AI and cause the generation AI to adjust the generation method of the provisional revision proposal.
[0083] The generation unit can improve the accuracy of generation when generating a tentative correction proposal by considering the interrelationships of bugs. The generation unit, for example, analyzes the dependency relationships of bugs and generates a tentative correction proposal for collectively correcting related bugs. The generation unit can also generate a tentative correction proposal that specifies the scope of influence by considering the interaction between modules of bugs. Furthermore, the generation unit can analyze the change history of bugs and preferentially generate tentative correction proposals related to the change portions. As a result, the accuracy of generating the tentative correction proposal is improved by considering the interrelationships of bugs. A part or all of the above-mentioned processing in the generation unit may be performed, for example, using AI or may be performed without using AI. For example, the generation unit can input the dependency relationship data of bugs to the generation AI and cause the generation AI to execute the improvement of the generation accuracy of the tentative correction proposal.
[0084] The generation unit can generate a tentative fix proposal while taking into consideration attribute information of the bug submitter. The generation unit generates an appropriate tentative fix proposal based on, for example, the submitter's years of experience. The generation unit can also generate a tentative fix proposal for a specific bug based on the submitter's field of expertise. Furthermore, the generation unit can analyze the submitter's past bug submission history and generate a tentative fix proposal for a similar bug. In this way, a more appropriate tentative fix proposal can be generated by taking into consideration the submitter's attribute information. A part or all of the above-mentioned processing in the generation unit may be performed, for example, using AI, or may be performed without using AI. For example, the generation unit can input attribute information data of the submitter to the generation AI and cause the generation AI to generate a tentative fix proposal.
[0085] The evaluation unit can estimate the user's emotion and adjust the evaluation criteria based on the estimated user's emotion. For example, when the user is stressed, the evaluation unit relaxes the evaluation criteria and reports fewer bugs. Also, when the user is relaxed, the evaluation unit can tighten the evaluation criteria and report detailed bugs. Furthermore, when the user is in a hurry, the evaluation unit can report only important bugs. This allows evaluation according to the user's situation by adjusting the evaluation criteria according to the user's emotion. The emotion estimation is realized using an emotion estimation function using, for example, an emotion engine or a generation AI. The generation AI is, for example, a text generation AI (for example, LLM) or a multimodal generation AI, but is not limited to such examples. A part or all of the above-mentioned processing in the evaluation unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the evaluation unit can input the user's facial expression data to the generation AI and cause the generation AI to adjust the evaluation criteria.
[0086] The evaluation unit can optimize the evaluation algorithm by referring to past evaluation data during evaluation. The evaluation unit, for example, analyzes past evaluation data and improves the accuracy of the evaluation algorithm. The evaluation unit can also optimize evaluation criteria for a specific bug from the past evaluation data. Furthermore, the evaluation unit can adjust parameters of the evaluation algorithm based on the past evaluation data. As a result, the accuracy of the evaluation algorithm is improved by referring to the past evaluation data. A part or all of the above-mentioned processing in the evaluation unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the evaluation unit can input past evaluation data to the generation AI and cause the generation AI to optimize the evaluation algorithm.
[0087] The evaluation unit can apply different evaluation methods for each bug category during evaluation. For example, the evaluation unit applies a security-specific evaluation method to a security-related bug. The evaluation unit can also apply a performance optimization evaluation method to a performance-related bug. Furthermore, the evaluation unit can apply a code style evaluation method to a bug for improving readability. This allows for more appropriate evaluation by applying an evaluation method according to the bug category. Some or all of the above-mentioned processing in the evaluation unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the evaluation unit can input bug category data to the generation AI and cause the generation AI to apply the evaluation method.
[0088] The evaluation unit can estimate the user's emotion and adjust the importance of the evaluation based on the estimated user's emotion. For example, when the user is stressed, the evaluation unit first evaluates bugs with low importance, and gradually evaluates bugs with high importance. Also, when the user is relaxed, the evaluation unit can evaluate bugs with high importance first and efficiently correct them. Furthermore, when the user is in a hurry, the evaluation unit can evaluate only the most important bug. This allows evaluation according to the user's situation by adjusting the importance of the evaluation according to the user's emotion. The estimation of the emotion is realized using an emotion estimation function using, for example, an emotion engine or a generation AI. The generation AI is, for example, a text generation AI (for example, LLM) or a multimodal generation AI, but is not limited to such examples. A part or all of the above-mentioned processing in the evaluation unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the evaluation unit can input the user's facial expression data to the generation AI and cause the generation AI to adjust the importance of the evaluation.
[0089] The evaluation unit can analyze the change in evaluation based on the time when the bug occurred during the evaluation. For example, the evaluation unit prioritizes the evaluation of bugs that have recently occurred. The evaluation unit can also prioritize the evaluation of bugs that have been left unattended for a long period of time. Furthermore, the evaluation unit can analyze the change in evaluation in stages according to the time when the bug occurred. This allows for a more appropriate evaluation by analyzing the change in evaluation based on the time when the bug occurred. A part or all of the above-mentioned processing in the evaluation unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the evaluation unit can input data on the time when the bug occurred to the generation AI and cause the generation AI to analyze the change in evaluation.
[0090] The evaluation unit can analyze the evaluation by referring to market data related to the bug at the time of evaluation. The evaluation unit can, for example, refer to market data affected by the bug to improve the accuracy of the evaluation. The evaluation unit can also analyze trends in the market affected by the bug to improve the accuracy of the evaluation. Furthermore, the evaluation unit can also improve the accuracy of the evaluation by referring to competitive data in the market affected by the bug. As a result, the accuracy of the evaluation is improved by referring to the related market data. A part or all of the above-mentioned processing in the evaluation unit can be performed, for example, using AI or can be performed without using AI. For example, the evaluation unit can input the related market data to the generation AI and cause the generation AI to perform the analysis of the evaluation.
[0091] The optimization unit can estimate the user's emotion and adjust the optimization method based on the estimated user's emotion. For example, when the user is stressed, the optimization unit provides a concise and easy-to-understand optimization method. In addition, when the user is relaxed, the optimization unit can also provide an optimization method including detailed explanations. Furthermore, when the user is in a hurry, the optimization unit can also provide an optimization method that can be quickly executed. In this way, by adjusting the optimization method according to the user's emotion, an optimization method that is easy for the user to understand can be provided. The estimation of emotion is realized using an emotion estimation function using, for example, an emotion engine or a generation AI. The generation AI is, for example, a text generation AI (for example, LLM) or a multimodal generation AI, but is not limited to such examples. A part or all of the above-mentioned processing in the optimization unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the optimization unit can input the user's facial expression data to the generation AI and cause the generation AI to execute the adjustment of the optimization method.
[0092] The optimization unit can optimize the optimization algorithm by referring to past optimization data during optimization. The optimization unit can, for example, analyze past optimization data and improve the accuracy of the optimization algorithm. The optimization unit can also optimize an optimization method for a specific bug from past optimization data. Furthermore, the optimization unit can adjust parameters of the optimization algorithm based on past optimization data. As a result, the accuracy of the optimization algorithm is improved by referring to past optimization data. A part or all of the above-mentioned processing in the optimization unit can be performed, for example, using AI or can be performed without using AI. For example, the optimization unit can input past optimization data to the generation AI and cause the generation AI to execute optimization of the optimization algorithm.
[0093] The optimization unit can apply different optimization methods to each category of source code during optimization. For example, the optimization unit applies a security-specific optimization method to security-related source code. The optimization unit can also apply a performance optimization method to performance-related source code. Furthermore, the optimization unit can apply a code style optimization method to source code for improving readability. This enables more appropriate optimization by applying an optimization method according to the category of the source code. A part or all of the above-mentioned processing in the optimization unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the optimization unit can input source code category data to the generation AI and cause the generation AI to apply the optimization method.
[0094] The optimization unit can estimate the user's emotion and determine the priority of optimization based on the estimated user's emotion. For example, when the user is stressed, the optimization unit performs low-importance optimization first, and gradually performs high-importance optimization. Also, when the user is relaxed, the optimization unit can perform high-importance optimization first, and perform optimization efficiently. Furthermore, when the user is in a hurry, the optimization unit can perform only the most important optimization. As a result, optimization according to the user's situation is possible by determining the priority of optimization according to the user's emotion. The estimation of emotion is realized using an emotion estimation function using, for example, an emotion engine or a generation AI. The generation AI is, for example, a text generation AI (for example, LLM) or a multimodal generation AI, but is not limited to such examples. A part or all of the above-mentioned processing in the optimization unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the optimization unit can input the user's facial expression data to the generation AI and cause the generation AI to execute the determination of the priority of optimization.
[0095] The optimization unit can perform optimization while taking into account the geographical distribution of the source code. For example, the optimization unit applies an appropriate optimization method to bugs that tend to occur in a particular region. The optimization unit can also analyze source codes of geographically distributed teams and apply an optimization method that identifies bug trends for each region. Furthermore, the optimization unit can adjust the timing of optimization while taking into account geographical factors (e.g., time difference). This allows for more appropriate optimization by taking into account the geographical distribution. A part or all of the above-mentioned processing in the optimization unit may be performed, for example, using AI, or may be performed without using AI. For example, the optimization unit can input geographical distribution data of the source code to the generation AI and cause the generation AI to execute optimization.
[0096] The optimization unit can improve the accuracy of optimization by referring to related literature of the source code during optimization. The optimization unit can improve the accuracy of optimization by referring to, for example, academic papers related to the source code. The optimization unit can also improve the accuracy of optimization by referring to information on technical blogs and forums related to the source code. Furthermore, the optimization unit can improve the accuracy of optimization by referring to patent documents related to the source code. As a result, the accuracy of optimization is improved by referring to related literature. A part or all of the above-mentioned processing in the optimization unit can be performed, for example, using AI or can be performed without using AI. For example, the optimization unit can input related literature data to the generation AI and cause the generation AI to execute optimization.
[0097] The system according to the embodiment is not limited to the above-described example, and various modifications are possible, for example, as follows.
[0098] The acquisition unit can analyze the user's past bug fixing history and generate an efficient fix proposal. For example, the acquisition unit can analyze the pattern of bugs that the user has fixed in the past and prioritize fixing similar patterns. The acquisition unit can also evaluate the quality of bugs that the user has fixed in the past and prioritize generating high-quality fix proposals. Furthermore, the acquisition unit can analyze the fix time of bugs that the user has fixed in the past and select the optimal fix timing. This enables efficient bug fixing by generating an optimal fix proposal based on the past history. A part or all of the above-mentioned processing in the acquisition unit may be performed using, for example, AI, or may be performed without using AI. For example, the acquisition unit can input the user's past bug fixing history data to the generation AI and cause the generation AI to generate an efficient fix proposal.
[0099] The detection unit can estimate the user's emotion and determine the priority of bug detection based on the estimated user's emotion. For example, when the user is stressed, simple and easy-to-understand bugs are preferentially detected. The detection unit can also preferentially detect complex bugs when the user is relaxed. Furthermore, the detection unit can also preferentially detect the most important bugs when the user is in a hurry. This enables optimal bug detection according to the user's situation by determining the priority of bug detection according to the user's emotion. The emotion estimation is realized using an emotion estimation function using, for example, an emotion engine or a generation AI. The generation AI is a text generation AI (for example, LLM) or a multimodal generation AI, but is not limited to such examples. A part or all of the above-mentioned processing in the detection unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the detection unit can input the user's facial expression data to the generation AI and cause the generation AI to execute the estimation of the user's emotion.
[0100] When providing a revision proposal, the providing unit can improve the accuracy of the revision proposal by referring to the user's past revision proposal evaluation history. For example, the providing unit analyzes the pattern of revision proposals that the user has given a high rating in the past, and preferentially provides similar patterns. The providing unit can also avoid patterns of revision proposals that the user has given a low rating in the past. Furthermore, the providing unit can adjust the parameters of the revision proposal based on the past revision proposal evaluation history. As a result, the accuracy of the revision proposal is improved by referring to the past evaluation history. A part or all of the above-mentioned processing in the providing unit may be performed, for example, using AI, or may be performed without using AI. For example, the providing unit can input past revision proposal evaluation history data to the generating AI, and cause the generating AI to improve the accuracy of the revision proposal.
[0101] The evaluation unit can estimate the user's emotion and adjust the evaluation feedback method based on the estimated user's emotion. For example, when the user is stressed, the evaluation unit provides concise and easy-to-understand feedback. In addition, when the user is relaxed, the evaluation unit can also provide feedback including detailed explanations. Furthermore, when the user is in a hurry, the evaluation unit can also provide feedback that covers the main points. In this way, by adjusting the evaluation feedback method according to the user's emotion, it is possible to provide feedback that is easy for the user to understand. The emotion estimation is realized using an emotion estimation function using, for example, an emotion engine or a generation AI. The generation AI is, for example, a text generation AI (for example, LLM) or a multimodal generation AI, but is not limited to such examples. A part or all of the above-mentioned processing in the evaluation unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the evaluation unit can input the user's facial expression data to the generation AI and cause the generation AI to adjust the evaluation feedback method.
[0102] The optimization unit can estimate the user's emotion and adjust the optimization feedback method based on the estimated user's emotion. For example, when the user is stressed, the optimization unit provides concise and easy-to-understand feedback. In addition, when the user is relaxed, the optimization unit can also provide feedback including detailed explanations. Furthermore, when the user is in a hurry, the optimization unit can also provide feedback that covers the main points. In this way, by adjusting the optimization feedback method according to the user's emotion, it is possible to provide feedback that is easy for the user to understand. The emotion estimation is realized using an emotion estimation function using, for example, an emotion engine or a generation AI. The generation AI is, for example, a text generation AI (for example, LLM) or a multimodal generation AI, but is not limited to such examples. A part or all of the above-mentioned processing in the optimization unit may be performed using, for example, an AI, or may be performed without using an AI. For example, the optimization unit can input the user's facial expression data to the generation AI and cause the generation AI to adjust the optimization feedback method.
[0103] The acquisition unit can adjust the acquisition method when acquiring source code, taking into consideration the progress of the user's current project. For example, when the project is in the early stages, basic source code is acquired preferentially. Also, when the project is in the middle stage, more complex source code can be acquired. Furthermore, when the project is in the final stage, optimized source code can be acquired preferentially. This allows efficient source code acquisition by adjusting the source code acquisition method according to the progress of the project. A part or all of the above-mentioned processing in the acquisition unit may be performed, for example, using AI, or may be performed without using AI. For example, the acquisition unit can input project progress data to the generation AI and cause the generation AI to adjust the acquisition method.
[0104] The detection unit can improve the accuracy of detection when detecting a bug by taking into account the version history of the source code. For example, the detection unit can preferentially detect bugs that occurred in a specific version. The detection unit can also analyze changes between versions and preferentially detect bugs related to the changes. Furthermore, the detection unit can analyze the tendency of bugs to occur based on the version history and detect predicted bugs in advance. As a result, the accuracy of bug detection is improved by taking the version history into account. A part or all of the above-mentioned processing in the detection unit may be performed, for example, using AI or may be performed without using AI. For example, the detection unit can input version history data to the generation AI and cause the generation AI to improve the accuracy of bug detection.
[0105] When providing a revision proposal, the providing unit can improve the accuracy of the revision proposal by referring to the user's past revision proposal adoption history. For example, the providing unit can analyze the patterns of revision proposals adopted by the user in the past and provide similar patterns preferentially. The providing unit can also avoid patterns of revision proposals that the user did not adopt in the past. Furthermore, the providing unit can adjust the parameters of the revision proposal based on the past revision proposal adoption history. As a result, the accuracy of the revision proposal is improved by referring to the past adoption history. A part or all of the above-mentioned processing in the providing unit may be performed, for example, using AI or may be performed without using AI. For example, the providing unit can input past revision proposal adoption history data to the generating AI and cause the generating AI to improve the accuracy of the revision proposal.
[0106] The evaluation unit can improve the accuracy of the evaluation by taking into account the scope of the bug's impact during the evaluation. For example, the evaluation unit identifies modules and functions that the bug affects, and performs the evaluation based on the scope of the impact. In addition, when a bug has a chain effect with other bugs, the evaluation unit can also perform the evaluation by taking into account the chain relationship. Furthermore, the priority of correction can be determined based on the scope of the bug's impact. As a result, the accuracy of the evaluation is improved by taking into account the scope of the bug's impact. A part or all of the above-mentioned processing in the evaluation unit may be performed using, for example, AI, or may be performed without using AI. For example, the evaluation unit can input bug impact scope data to the generation AI and cause the generation AI to improve the accuracy of the evaluation.
[0107] The optimization unit can perform optimization by taking into account dependencies of source code. For example, when a specific module depends on another module, the optimization unit performs optimization by taking into account the dependencies. The optimization unit can also optimize interactions between modules that have dependencies. Furthermore, the optimization unit can determine the priority of optimization based on the dependencies. This enables more appropriate optimization by taking into account the dependencies of source code. Some or all of the above-mentioned processing in the optimization unit may be performed using, for example, AI, or may be performed without using AI. For example, the optimization unit can input dependency data of source code to a generation AI and cause the generation AI to execute optimization.
[0108] The process flow of the second embodiment will be briefly described below.
[0109] Step 1: The acquisition unit acquires the source code of the software. The source code includes, but is not limited to, a programming language, a framework, a library, etc. The acquisition unit can acquire the source code from a source code input by a user or a repository. Step 2: The detection unit detects bugs in the source code acquired by the acquisition unit using multiple generation AI algorithms. The bugs include syntax errors, logic errors, performance issues, etc. For example, a deep learning algorithm can be used to detect syntax errors, a reinforcement learning algorithm can be used to detect logic errors, and a genetic algorithm can be used to detect performance issues. Step 3: The providing unit provides fixes for bugs detected by the detecting unit. The providing unit generates fixes using a generating AI and evaluates the fixes. The evaluation is based on the criteria of performance, code readability, and security. For example, the generating AI is used to evaluate the performance, code readability, and security of the fixes.
[0110] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires a voice indicating a user input for the result of the specific processing. The control unit 46A transmits the voice data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[0111] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search<URL: https: / / openai.com / blog / chatgpt> ) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating a voice, text data indicating a text, and image data indicating an image (e.g., still image data or video data) are input. The data generation model 58 infers the input inference data according to the instruction indicated by the prompt, and outputs the inference result in one or more data formats of voice data, text data, and image data. The data generation model 58 includes, for example, a text generation AI, an image generation AI, and a multimodal generation AI. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specification processing unit 290 performs the above-mentioned specification processing while using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction, and in this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. In the data processing device 12 and the like, the data generation model 58 includes a plurality of types, and the data generation model 58 includes an AI other than the generation AI. The AI other than the generation AI is, for example, a linear regression, a logistic regression, a decision tree, a random forest, a support vector machine (SVM), a k-means clustering, a convolutional neural network (CNN), a recurrent neural network (RNN), a generative adversarial network (GAN), or a naive Bayes, and can perform various processes, but is not limited to such examples. The AI may also be an AI agent. In addition, when the processes of each of the above-mentioned parts are performed by an AI, the processes are performed in part or in whole by the AI, but are not limited to such examples.In addition, processing performed by AI including the generation AI may be replaced with rule-based processing, and rule-based processing may be replaced with processing performed by AI including the generation AI.
[0112] Furthermore, the above-described processing by the data processing system 10 is executed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the smart device 14, but may also be executed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the smart device 14. Furthermore, the specific processing unit 290 of the data processing device 12 acquires or collects information required for processing from the smart device 14 or an external device, and the smart device 14 acquires or collects information required for processing from the data processing device 12 or an external device.
[0113] For example, each of the multiple elements including the acquisition unit, the detection unit, the provision unit, the generation unit, the evaluation unit, the performance improvement unit, and the optimization unit is realized in at least one of the smart device 14 and the data processing device 12. For example, the acquisition unit can cause the user to input source code using the reception device 38 of the smart device 14. The detection unit detects bugs in the source code using multiple generation AI algorithms by the specific processing unit 290 of the data processing device 12. The provision unit provides the correction proposal generated by the specific processing unit 290 of the data processing device 12 to the user through the output device 40 of the smart device 14. The generation unit generates a correction proposal using multiple generation AI algorithms by the specific processing unit 290 of the data processing device 12. The evaluation unit evaluates the generated correction proposal by the specific processing unit 290 of the data processing device 12. The performance improvement unit improves the performance of the source code by the specific processing unit 290 of the data processing device 12. The optimization unit optimizes the source code by the specific processing unit 290 of the data processing device 12. The correspondence between each unit and the device or control unit is not limited to the above-mentioned example, and various changes are possible.
[0114] [Second embodiment] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0115] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0116] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN and / or a LAN.
[0117] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0118] The microphone 238 receives instructions and the like from the user by receiving voice uttered by the user. The microphone 238 captures the voice uttered by the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs the voice according to instructions from the processor 46.
[0119] Camera 42 is a small digital camera equipped with an optical system including a lens, an aperture, and a shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the user's surroundings (e.g., an imaging range defined by an angle of view equivalent to the width of the field of vision of an average healthy person).
[0120] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is performed in a secure state.
[0121] Fig. 4 shows an example of main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0122] The processor 28 reads the specific processing program 56 from the storage 32, and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0123] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate the emotion of the user using the emotion identification model 59 and perform identification processing using the user's emotion. In the emotion estimation function (emotion identification function) using the emotion identification model 59, various estimations and predictions regarding the user's emotion, including estimation and prediction of the user's emotion, are performed, but are not limited to such examples. In addition, the estimation and prediction of the emotion also include, for example, analysis of the emotion.
[0124] In the smart glasses 214, the specific processing is performed by the processor 46. The storage 50 stores a specific processing program 60. The processor 46 reads the specific processing program 60 from the storage 50 and executes the read specific processing program 60 on the RAM 48. The specific processing is realized by the processor 46 operating as the control unit 46A in accordance with the specific processing program 60 executed on the RAM 48. Note that the smart glasses 214 have a data generation model and an emotion identification model similar to the data generation model 58 and the emotion identification model 59, and can also perform processing similar to that of the specific processing unit 290 using these models.
[0125] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device may have the data generation model 58. In this case, the data processing device 12 obtains a processing result (such as a prediction result) using the data generation model 58 by communicating with the server device having the data generation model 58. In addition, the data processing device 12 may be a server device, or may be a terminal device (such as a mobile phone, a robot, or a home appliance) owned by a user.
[0126] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires a voice indicating a user input for the result of the specific processing. The control unit 46A transmits the voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[0127] The data generation model 58 is a so-called generative AI. An example of the data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating a voice, text data indicating a text, and image data indicating an image (e.g., still image data or video data) is input. The data generation model 58 infers the input inference data according to the instruction indicated by the prompt, and outputs the inference result in one or more data formats of voice data, text data, and image data. The data generation model 58 includes, for example, a text generation AI, an image generation AI, and a multimodal generation AI. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specification processing unit 290 performs the above-mentioned specification processing while using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction, and in this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. In the data processing device 12 and the like, the data generation model 58 includes a plurality of types, and the data generation model 58 includes an AI other than the generation AI. The AI other than the generation AI is, for example, a linear regression, a logistic regression, a decision tree, a random forest, a support vector machine (SVM), a k-means clustering, a convolutional neural network (CNN), a recurrent neural network (RNN), a generative adversarial network (GAN), or a naive Bayes, and can perform various processes, but is not limited to such examples. The AI may be an AI agent. In addition, when the processes of each part described above are performed by an AI, the processes are performed in part or in whole by the AI, but are not limited to such examples. In addition, the processes performed by the AI including the generation AI may be replaced with rule-based processes, and the rule-based processes may be replaced with processes performed by the AI including the generation AI.
[0128] The data processing system 210 according to the second embodiment performs the same processing as the data processing system 10 according to the first embodiment. The processing by the data processing system 210 is executed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the smart glasses 214, but may be executed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the smart glasses 214. In addition, the specific processing unit 290 of the data processing device 12 acquires or collects information required for processing from the smart glasses 214 or an external device, and the smart glasses 214 acquires or collects information required for processing from the data processing device 12 or an external device.
[0129] For example, each of the multiple elements including the acquisition unit, the detection unit, the provision unit, the generation unit, the evaluation unit, the performance improvement unit, and the optimization unit is realized in at least one of the smart glasses 214 and the data processing device 12. For example, the acquisition unit can cause the user to input source code using the microphone 238 of the smart glasses 214. The detection unit detects bugs in the source code using multiple generation AI algorithms by the specific processing unit 290 of the data processing device 12. The provision unit provides the correction proposal generated by the specific processing unit 290 of the data processing device 12 to the user through the speaker 240 of the smart glasses 214. The generation unit generates a correction proposal using multiple generation AI algorithms by the specific processing unit 290 of the data processing device 12. The evaluation unit evaluates the generated correction proposal by the specific processing unit 290 of the data processing device 12. The performance improvement unit improves the performance of the source code by the specific processing unit 290 of the data processing device 12. The optimization unit optimizes the source code by the specific processing unit 290 of the data processing device 12. The correspondence between each part and the device or control part is not limited to the above-mentioned example, and various modifications are possible.
[0130] [Third embodiment] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0131] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0132] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN and / or a LAN.
[0133] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0134] The microphone 238 receives instructions and the like from the user by receiving voice uttered by the user. The microphone 238 captures the voice uttered by the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs the voice according to instructions from the processor 46.
[0135] Camera 42 is a small digital camera equipped with an optical system including a lens, an aperture, and a shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the user's surroundings (e.g., an imaging range defined by an angle of view equivalent to the width of the field of vision of an average healthy person).
[0136] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is performed in a secure state.
[0137] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0138] The processor 28 reads the specific processing program 56 from the storage 32, and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0139] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate the emotion of the user using the emotion identification model 59 and perform identification processing using the user's emotion. In the emotion estimation function (emotion identification function) using the emotion identification model 59, various estimations and predictions regarding the user's emotion, including estimation and prediction of the user's emotion, are performed, but are not limited to such examples. In addition, the estimation and prediction of the emotion also include, for example, analysis of the emotion.
[0140] In the headset type terminal 314, the specific processing is performed by the processor 46. The storage 50 stores a specific program 60. The processor 46 reads the specific program 60 from the storage 50, and executes the read specific program 60 on the RAM 48. The specific processing is realized by the processor 46 operating as the control unit 46A in accordance with the specific program 60 executed on the RAM 48. Note that the headset type terminal 314 has a data generation model and an emotion identification model similar to the data generation model 58 and the emotion identification model 59, and can also perform processing similar to that of the identification processing unit 290 using these models.
[0141] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device may have the data generation model 58. In this case, the data processing device 12 obtains a processing result (such as a prediction result) using the data generation model 58 by communicating with the server device having the data generation model 58. In addition, the data processing device 12 may be a server device, or may be a terminal device (such as a mobile phone, a robot, or a home appliance) owned by a user.
[0142] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input for the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[0143] The data generation model 58 is a so-called generative AI. An example of the data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating a voice, text data indicating a text, and image data indicating an image (e.g., still image data or video data) is input. The data generation model 58 infers the input inference data according to the instruction indicated by the prompt, and outputs the inference result in one or more data formats of voice data, text data, and image data. The data generation model 58 includes, for example, a text generation AI, an image generation AI, and a multimodal generation AI. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specification processing unit 290 performs the above-mentioned specification processing while using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction, and in this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. In the data processing device 12 and the like, the data generation model 58 includes a plurality of types, and the data generation model 58 includes an AI other than the generation AI. The AI other than the generation AI is, for example, a linear regression, a logistic regression, a decision tree, a random forest, a support vector machine (SVM), a k-means clustering, a convolutional neural network (CNN), a recurrent neural network (RNN), a generative adversarial network (GAN), or a naive Bayes, and can perform various processes, but is not limited to such examples. The AI may be an AI agent. In addition, when the processes of each part described above are performed by an AI, the processes are performed in part or in whole by the AI, but are not limited to such examples. In addition, the processes performed by the AI including the generation AI may be replaced with rule-based processes, and the rule-based processes may be replaced with processes performed by the AI including the generation AI.
[0144] The data processing system 310 according to the third embodiment performs the same processing as the data processing system 10 according to the first embodiment. The processing by the data processing system 310 is executed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the headset type terminal 314, but may be executed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the headset type terminal 314. In addition, the specific processing unit 290 of the data processing device 12 acquires or collects information required for processing from the headset type terminal 314 or an external device, and the headset type terminal 314 acquires or collects information required for processing from the data processing device 12 or an external device.
[0145] For example, each of the multiple elements including the acquisition unit, the detection unit, the provision unit, the generation unit, the evaluation unit, the performance improvement unit, and the optimization unit is realized in at least one of the headset type terminal 314 and the data processing device 12. For example, the acquisition unit can cause the user to input source code using the microphone 238 of the headset type terminal 314. The detection unit detects bugs in the source code using multiple generation AI algorithms by the specific processing unit 290 of the data processing device 12. The provision unit provides the correction proposal generated by the specific processing unit 290 of the data processing device 12 to the user through the speaker 240 of the headset type terminal 314. The generation unit generates a correction proposal using multiple generation AI algorithms by the specific processing unit 290 of the data processing device 12. The evaluation unit evaluates the generated correction proposal by the specific processing unit 290 of the data processing device 12. The performance improvement unit improves the performance of the source code by the specific processing unit 290 of the data processing device 12. The optimization unit optimizes the source code by the specific processing unit 290 of the data processing device 12. The correspondence between each part and the device or control part is not limited to the above-mentioned example, and various modifications are possible.
[0146] [Fourth embodiment] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[0147] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[0148] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN and / or a LAN.
[0149] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[0150] The microphone 238 receives instructions and the like from the user by receiving voice uttered by the user. The microphone 238 captures the voice uttered by the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs the voice according to instructions from the processor 46.
[0151] Camera 42 is a small digital camera equipped with an optical system including a lens, an aperture, and a shutter, and an imaging element such as a CMOS image sensor or a CCD image sensor, and captures images of the user's surroundings (e.g., an imaging range defined by an angle of view equivalent to the width of the field of vision of a typical healthy person).
[0152] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is performed in a secure state.
[0153] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and legs. The posture and behavior of the robot 414 are controlled by controlling the motors of the arms, hands, and legs. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[0154] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0155] The processor 28 reads the specific processing program 56 from the storage 32, and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0156] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate the emotion of the user using the emotion identification model 59 and perform identification processing using the user's emotion. In the emotion estimation function (emotion identification function) using the emotion identification model 59, various estimations and predictions regarding the user's emotion, including estimation and prediction of the user's emotion, are performed, but are not limited to such examples. In addition, the estimation and prediction of the emotion also include, for example, analysis of the emotion.
[0157] In the robot 414, the specific processing is performed by the processor 46. The storage 50 stores a specific program 60. The processor 46 reads out the specific program 60 from the storage 50, and executes the specific program 60 on the RAM 48. The specific processing is realized by the processor 46 operating as the control unit 46A in accordance with the specific program 60 executed on the RAM 48. The robot 414 has a data generation model and an emotion identification model similar to the data generation model 58 and the emotion identification model 59, and can also perform processing similar to that of the specific processing unit 290 using these models.
[0158] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device may have the data generation model 58. In this case, the data processing device 12 obtains a processing result (such as a prediction result) using the data generation model 58 by communicating with the server device having the data generation model 58. In addition, the data processing device 12 may be a server device, or may be a terminal device (such as a mobile phone, a robot, or a home appliance) owned by a user.
[0159] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires a voice indicating a user input for the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[0160] The data generation model 58 is a so-called generative AI. An example of the data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating a voice, text data indicating a text, and image data indicating an image (e.g., still image data or video data) is input. The data generation model 58 infers the input inference data according to the instruction indicated by the prompt, and outputs the inference result in one or more data formats of voice data, text data, and image data. The data generation model 58 includes, for example, a text generation AI, an image generation AI, and a multimodal generation AI. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specification processing unit 290 performs the above-mentioned specification processing while using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction, and in this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. In the data processing device 12 and the like, the data generation model 58 includes a plurality of types, and the data generation model 58 includes an AI other than the generation AI. The AI other than the generation AI is, for example, a linear regression, a logistic regression, a decision tree, a random forest, a support vector machine (SVM), a k-means clustering, a convolutional neural network (CNN), a recurrent neural network (RNN), a generative adversarial network (GAN), or a naive Bayes, and can perform various processes, but is not limited to such examples. The AI may be an AI agent. In addition, when the processes of each part described above are performed by an AI, the processes are performed in part or in whole by the AI, but are not limited to such examples. In addition, the processes performed by the AI including the generation AI may be replaced with rule-based processes, and the rule-based processes may be replaced with processes performed by the AI including the generation AI.
[0161] The data processing system 410 according to the fourth embodiment performs the same processing as the data processing system 10 according to the first embodiment. The processing by the data processing system 410 is executed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the robot 414, but may be executed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the robot 414. In addition, the specific processing unit 290 of the data processing device 12 acquires or collects information required for processing from the robot 414 or an external device, etc., and the robot 414 acquires or collects information required for processing from the data processing device 12 or an external device, etc.
[0162] For example, each of the multiple elements including the acquisition unit, the detection unit, the provision unit, the generation unit, the evaluation unit, the performance improvement unit, and the optimization unit is realized in at least one of the robot 414 and the data processing device 12. For example, the acquisition unit can cause the user to input source code using the microphone 238 of the robot 414. The detection unit detects bugs in the source code using multiple generation AI algorithms by the specific processing unit 290 of the data processing device 12. The provision unit provides the correction proposal generated by the specific processing unit 290 of the data processing device 12 to the user through the speaker 240 of the robot 414. The generation unit generates a correction proposal using multiple generation AI algorithms by the specific processing unit 290 of the data processing device 12. The evaluation unit evaluates the generated correction proposal by the specific processing unit 290 of the data processing device 12. The performance improvement unit improves the performance of the source code by the specific processing unit 290 of the data processing device 12. The optimization unit optimizes the source code by the specific processing unit 290 of the data processing device 12. The correspondence between each part and the device or control part is not limited to the above-mentioned example, and various modifications are possible.
[0163] The emotion identification model 59 as an emotion engine may determine the emotion of the user according to a specific mapping. Specifically, the emotion identification model 59 may determine the emotion of the user according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the emotion of the robot, and the identification processing unit 290 may perform identification processing using the emotion of the robot.
[0164] FIG. 9 is a diagram showing an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive emotions are arranged. The more outside the concentric circles, the more emotions that represent states and actions that arise from a state of mind are arranged. Emotions are a concept that includes emotions and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions that occur in the brain are arranged. On the right side of the concentric circles, emotions that are generally induced by situational judgment are arranged. On the upper and lower sides of the concentric circles, emotions that are generally generated from reactions that occur in the brain and are induced by situational judgment are arranged. In addition, on the upper side of the concentric circles, emotions of "pleasure" are arranged, and on the lower side, emotions of "discomfort" are arranged. In this way, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[0165] These emotions are distributed in the 3 o'clock direction of emotion map 400 and usually fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[0166] The inside of emotion map 400 represents what is going on inside one's mind, and the outside of emotion map 400 represents behavior, so the further out you go on emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[0167] Here, human emotions are based on various balances such as posture and blood sugar level, and when these balances are far from the ideal, it indicates an unpleasant state, and when they are close to the ideal, it indicates a pleasant state. Emotions can also be created for robots, cars, motorcycles, etc., based on various balances such as posture and battery level, so that when these balances are far from the ideal, it indicates an unpleasant state, and when they are close to the ideal, it indicates a pleasant state. The emotion map may be generated, for example, based on the emotion map of Dr. Mitsuyoshi (Research on speech emotion recognition and emotion brain physiological signal analysis system, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). On the left half of the emotion map, emotions belonging to an area called "reaction" where sensation is dominant are lined up. On the right half of the emotion map, emotions belonging to an area called "situation" where situation recognition is dominant are lined up.
[0168] The emotion map defines two emotions that promote learning. The first is the negative emotion around the middle of "repentance" or "remorse" on the situation side. In other words, this is when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is the positive emotion around "desire" on the response side. In other words, this is when the robot has positive feelings such as "I want more" or "I want to know more."
[0169] The emotion identification model 59 inputs the user input to a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the emotion of the user. This neural network is pre-trained based on multiple learning data that are combinations of the user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in Fig. 10. Fig. 10 shows an example in which multiple emotions, "relief," "calm," and "encouraging," have similar emotion values.
[0170] In the above embodiment, an example was given in which a specific process is performed by one computer 22, but the technology disclosed herein is not limited to this, and distributed processing of the specific process may be performed by multiple computers, including computer 22.
[0171] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable computer-readable non-transitory storage medium such as a Universal Serial Bus (USB) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[0172] In addition, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 upon request from the data processing device 12.
[0173] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[0174] As the hardware resource for executing the specific process, various processors as shown below can be used. An example of the processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing the specific process by executing software, i.e., a program. Another example of the processor is a dedicated electric circuit, which is a processor having a circuit configuration designed exclusively for executing a specific process, such as a Field-Programmable Gate Array (FPGA), a Programmable Logic Device (PLD), or an Application Specific Integrated Circuit (ASIC). Each processor has a built-in or connected memory, and each processor executes the specific process by using the memory.
[0175] The hardware resource that executes the specific process may be one of these various processors, or may be a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific process may be a single processor.
[0176] As an example of a configuration using one processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a configuration using a processor that realizes the functions of the entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[0177] Furthermore, more specifically, the hardware structure of these various processors can be an electric circuit that combines circuit elements such as semiconductor elements. The specific processes described above are merely examples. It goes without saying that unnecessary steps may be deleted, new steps may be added, or the order of processes may be changed without departing from the spirit of the invention.
[0178] In the above example, the first to fourth embodiments are described separately, but some or all of these embodiments may be combined. The smart device 14, the smart glasses 214, the headset terminal 314, and the robot 414 are only examples, and they may be combined with each other, or may be other devices. In the above example, the first and second embodiments are described separately, but they may be combined.
[0179] The above description and illustrations are detailed descriptions of the parts related to the technology of the present disclosure, and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, function, action, and effect is an example of the configuration, function, action, and effect of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replaced with respect to the description and illustrations shown above, within the scope of the gist of the technology of the present disclosure. In addition, in order to avoid confusion and to facilitate understanding of the parts related to the technology of the present disclosure, the description and illustrations shown above omit explanations of technical common sense that do not require particular explanation in enabling the implementation of the technology of the present disclosure.
[0180] All publications, patent applications, and standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, and standard was specifically and individually indicated to be incorporated by reference.
[0181] (Appendix 1) an acquisition unit for acquiring source code of the software; a detection unit that detects bugs in the source code acquired by the acquisition unit by using a plurality of generation AI algorithms; a providing unit that provides a proposed fix for the bug detected by the detecting unit. A system characterized by: (Appendix 2) A generator that uses a plurality of generating AI algorithms to generate a proposed fix for the bug; The providing unit provides a proposed fix for the bug generated by the generating unit. 2. The system of claim 1, (Appendix 3) an evaluation unit that evaluates the performance of the source code using a plurality of generative AI algorithms; a performance improvement unit that improves the performance of the source code based on the evaluation result by the evaluation unit; 2. The system of claim 1, (Appendix 4) The acquisition unit is Inferring user emotions and adjusting the timing of source code acquisition based on the estimated user emotions 2. The system of claim 1, (Appendix 5) The acquisition unit is Analyze the user's past source code submission history and select the most efficient acquisition method 2. The system of claim 1, (Appendix 6) The acquisition unit is Filter source code retrieval based on the user's current project or area of interest 2. The system of claim 1, (Appendix 7) The acquisition unit is Inferring user sentiment and prioritizing source code to be acquired based on the estimated user sentiment 2. The system of claim 1, (Appendix 8) The acquisition unit is When retrieving source code, the system takes into account the user's geographic location information to prioritize retrieving source code that is more relevant to the user. 2. The system of claim 1, (Appendix 9) The acquisition unit is When retrieving source code, analyze the user's social media activity and retrieve related source code. 2. The system of claim 1, (Appendix 10) The detection unit is Infer user sentiment and adjust bug detection criteria based on the inferred user sentiment 2. The system of claim 1, (Appendix 11) The detection unit is When detecting bugs, the accuracy of detection is improved by taking into account the correlation of source code. 2. The system of claim 1, (Appendix 12) The detection unit is When detecting bugs, the attribute information of the source code submitter is taken into consideration. 2. The system of claim 1, (Appendix 13) The providing unit is Inferring user sentiment and adjusting the presentation of revision suggestions based on the estimated user sentiment 2. The system of claim 1, (Appendix 14) The providing unit is When submitting a fix, adjust the detail of the fix based on the severity of the bug 2. The system of claim 1, (Appendix 15) The providing unit is When providing fixes, apply different fix suggestion algorithms depending on the bug category 2. The system of claim 1, (Appendix 16) The generation unit is Inferring user sentiment and adjusting the generation method of provisional revision suggestions based on the estimated user sentiment 3. The system of claim 2, (Appendix 17) The generation unit is Improve accuracy of proposed fixes by considering bug correlations 3. The system of claim 2, (Appendix 18) The generation unit is When generating a tentative fix, the attribute information of the bug submitter is taken into consideration. 3. The system of claim 2, (Appendix 19) The evaluation unit is Inferring a user's emotion and adjusting the evaluation criteria based on the estimated user's emotion 4. The system of claim 3. (Appendix 20) The evaluation unit is During evaluation, past evaluation data is referenced to optimize the evaluation algorithm 4. The system of claim 3. (Appendix 21) The evaluation unit is During evaluation, different evaluation methods are applied to different categories of bugs. 4. The system of claim 3. (Appendix 22) The evaluation unit is Inferring user sentiment and adjusting the importance of ratings based on the estimated user sentiment 4. The system of claim 3. (Appendix 23) The evaluation unit is During evaluation, analyze the change in evaluation based on when the bug occurred 4. The system of claim 3. (Appendix 24) The evaluation unit is During the evaluation, we will refer to the relevant market data of the bug to analyze the evaluation. 4. The system of claim 3. (Appendix 25) The optimization unit is Inferring user sentiment and adjusting the optimization method based on the inferred user sentiment 4. The system of claim 3. (Appendix 26) The optimization unit is During optimization, the optimization algorithm is optimized by referring to past optimization data. 4. The system of claim 3. (Appendix 27) The optimization unit is During optimization, apply different optimization techniques to different categories of source code. 4. The system of claim 3. (Appendix 28) The optimization unit is Infer user sentiment and prioritize optimizations based on the inferred user sentiment 4. The system of claim 3. (Appendix 29) The optimization unit is During optimization, the geographical distribution of source code is taken into account. 4. The system of claim 3. (Appendix 30) The optimization unit is During optimization, refer to the relevant literature of the source code to improve the accuracy of optimization. 4. The system of claim 3. [Explanation of symbols]
[0182] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot
Claims
1. an acquisition unit for acquiring source code of the software; A detection unit that detects bugs in the source code acquired by the acquisition unit using a plurality of generation AI algorithms; a providing unit that provides a proposed fix for the bug detected by the detecting unit. A system characterized by:
2. A generator that uses a plurality of generating AI algorithms to generate a proposed fix for the bug; The providing unit is Providing a proposed fix for the bug generated by the generator 2. The system of claim 1 .
3. an evaluation unit that evaluates the performance of the source code using a plurality of generative AI algorithms; a performance improvement unit that improves the performance of the source code based on the evaluation result by the evaluation unit; 2. The system of claim 1 .
4. The acquisition unit is A user's emotion is estimated, and a timing for acquiring the source code is adjusted based on the estimated user's emotion.
2. The system of claim 1 .
5. The acquisition unit is Analyze the user's past source code submission history and select the most efficient acquisition method 2. The system of claim 1 .
6. The acquisition unit is Filtering the source code based on the user's current project or area of interest 2. The system of claim 1 .
7. The acquisition unit is A user's emotion is estimated, and a priority order of the source code to be acquired is determined based on the estimated user's emotion.
2. The system of claim 1 .
8. The acquisition unit is Prioritize the retrieval of relevant source code based on the user's geographic location 2. The system of claim 1 .
9. The acquisition unit is Analyze users' social media activity and retrieve relevant source code 2. The system of claim 1 .
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A
Cited By
Information processing device, information processing method, and program
JP7863275B1
Building and providing a remediation library for cloud-based applications
US12711223B2
Building and providing a remediation library for cloud-based applications
US20250036758A1