system
The system efficiently detects bugs and suggests fixes using AI, reducing code review time and market time while improving quality assurance and cost-effectiveness in app development.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK GROUP CORP
- Filing Date
- 2024-12-18
- Publication Date
- 2026-06-30
AI Technical Summary
The process of automatically detecting bugs in app development and proposing amendments is not sufficiently efficient.
A system comprising a detection unit, proposal unit, analysis unit, and response unit, utilizing AI for bug detection, real-time code analysis, and support for multiple programming languages, to automatically detect bugs and suggest corrective actions.
The system significantly reduces time spent on code reviews by 80% and shortens time to market by 50%, improving bug detection rates, reducing development costs, and enhancing quality assurance.
Smart Images

Figure 2026107969000001_ABST
Abstract
Description
Technical Field
[0006] , , , ,
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a method for controlling a persona chatbot, which is performed by at least one processor, and includes steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a character of the chatbot, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance that responds to the user utterance.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In the prior art, the process of automatically detecting bugs in app development and proposing amendments is not sufficiently efficient, and there is room for improvement.
[0005] The system according to the embodiment aims to automatically detect bugs in app development and propose amendments.
Means for Solving the Problems
[0006] The system according to this embodiment comprises a detection unit, a proposal unit, an analysis unit, and a response unit. The detection unit detects bugs. The proposal unit proposes a corrective action based on the bug detected by the detection unit. The analysis unit analyzes the code in real time based on the corrective action proposed by the proposal unit. The response unit supports multiple programming languages based on the code analyzed by the analysis unit. [Effects of the Invention]
[0007] The system according to this embodiment can automatically detect bugs in application development and suggest corrective actions. [Brief explanation of the drawing]
[0008] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] This is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] This shows an emotion map where multiple emotions are mapped. [Figure 10] This shows an emotion map where multiple emotions are mapped. [Modes for carrying out the invention]
[0009] Hereinafter, an example of an embodiment of the system relating to the technology of this disclosure will be described with reference to the attached drawings.
[0010] First, let's explain the terminology used in the following explanation.
[0011] In the following embodiments, the signed processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Furthermore, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include CPU (Central Processing Unit), GPU (Graphics Processing Unit), GPGPU (General-Purpose computing on Graphics Processing Units), APU (Accelerated Processing Unit), or TPU (Tensor Processing Unit).
[0012] In the following embodiments, signed RAM (Random Access Memory) is a memory that temporarily stores information and is used as work memory by the processor.
[0013] In the following embodiments, the signed storage is one or more non-volatile storage devices that store various programs and various parameters. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes.
[0014] In the following embodiments, the numbered communication I / F (Interface) is an interface including a communication processor, an antenna, and the like. The communication I / F manages communication between a plurality of computers. Examples of communication standards applied to the communication I / F include wireless communication standards such as 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". That is, "A and / or B" means that it may be only A, only B, or a combination of A and B. Also, in this specification, when expressing three or more matters connected by "and / or", the same concept as "A and / or B" is applied.
[0016] [First Embodiment] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0017] As shown in FIG. 1, the 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. Also, the database 24 and the communication I / F 26 are 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 comprises a computer 36, a receiving device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The receiving device 38, output device 40, and camera 42 are also connected to the bus 52.
[0020] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, and accepts user input. The touch panel 38A accepts user input via touch by detecting contact with an object (e.g., a pen or finger). The microphone 38B accepts user input via voice by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and microphone 38B to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 (see Figure 2) acquires the data indicating the user input.
[0021] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user by outputting the data in a form perceptible to the user (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0022] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0023] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0024] As shown in Figure 2, in the data processing device 12, a specific processing is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" related to the technology of this disclosure. 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 according to the specific processing program 56 executed on the RAM 30.
[0025] Storage 32 stores the data generation model 58 and the 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 user's emotions using the emotion identification model 59 and perform identification processing using the user's emotions. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotions, including but not limited to these examples. Furthermore, emotion estimation and prediction also include, for example, emotion analysis.
[0026] In the smart device 14, specific processing is performed by the processor 46. The storage 50 stores a specific processing program 60. The specific processing program 60 is used in conjunction 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 read specific processing program 60 on the RAM 48. The specific processing is realized by the processor 46 operating as a control unit 46A according to the specific processing program 60 executed on the RAM 48. The smart device 14 also has a data generation model 58 and an emotion identification model 59, similar to the data generation model and emotion identification model 59, and can perform processing similar to that of the specific processing unit 290 using these models.
[0027] Furthermore, other devices besides the data processing device 12 may also 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 processing results (such as prediction results) using the data generation model 58 by communicating with the server device having the data generation model 58. The data processing device 12 may also be a server device or a terminal device owned by a user (e.g., a mobile phone, robot, home appliance, etc.). Next, an example of processing by the data processing system 10 according to the first embodiment will be described.
[0028] (Example of form 1) The code analysis agent according to an embodiment of the present invention is a system that uses AI to automatically detect bugs in application development and proposes corrective actions. The code analysis agent enables developers to significantly reduce the time spent on code reviews and deliver high-quality products to the market more quickly. Specifically, it features bug pattern learning using deep learning, real-time code analysis and provision of corrective actions, and support for multiple programming languages. This makes it possible to improve bug detection rates, reduce code review time by 80%, and shorten time to market by 50%. Furthermore, it can meet user needs such as reducing development costs, increasing development speed, and strengthening quality assurance. As a pioneer in AI-driven automation processes, it is pursuing versatility through the development and application of advanced machine learning models and cross-platform compatibility. The target market is IT companies, from small to large enterprises, that develop software, and it solves problems such as excessive time and cost for bug fixing, decreased competitiveness due to delays to the market, and decreased customer satisfaction due to poor quality. With the evolution of AI technology and the ongoing digitalization of the market, and the increasing demand for high-quality software, now is the time to enter the market. The code analysis agent aims to accelerate technological innovation through the streamlining of the development process and the improvement of quality. This allows code analysis agents to significantly reduce the time developers spend on code reviews, enabling them to deliver high-quality products to market more quickly.
[0029] The code analysis agent according to the embodiment comprises a detection unit, a proposal unit, an analysis unit, and a response unit. The detection unit detects bugs. The detection unit automatically detects bugs in the code, for example, using AI. The detection unit can, for example, perform static analysis to detect errors in the code's structure and syntax. The detection unit can also, for example, perform dynamic analysis to detect bugs at runtime. The proposal unit proposes a fix based on the bugs detected by the detection unit. The proposal unit generates the optimal fix using, for example, AI. The proposal unit can, for example, refer to past fix history and propose fixes for similar bugs. The proposal unit can also, for example, determine the priority of fixes according to the type and impact of the bug. The analysis unit analyzes the code in real time based on the fixes proposed by the proposal unit. The analysis unit simulates the code after applying the fixes using, for example, AI. The analysis unit can, for example, evaluate the performance impact of applying the fixes. The analysis unit can also, for example, evaluate the security risks of applying the fixes. The response unit supports multiple programming languages based on the code analyzed by the analysis unit. The support unit supports multiple programming languages, such as Java, Python, and C++. The support unit can generate specific correction suggestions for each programming language. It can also perform code conversion between different programming languages. As a result, the code analysis agent according to this embodiment can detect bugs, propose corrections, perform real-time code analysis, and support multiple programming languages.
[0030] The detection unit detects bugs. For example, the detection unit automatically detects bugs in the code using AI. Specifically, the AI uses machine learning algorithms to learn from past bug data and fix history, and identifies bug patterns in new code. Static analysis analyzes each line of code to detect errors in code structure and syntax, identifying syntax errors, unused variables, type mismatches, etc. For example, static analysis tools analyze the source code before compiling the code to identify potential bugs. Dynamic analysis actually executes the code to detect runtime bugs, identifying memory leaks, runtime errors, performance bottlenecks, etc. Dynamic analysis tools automatically generate test cases and comprehensively test the execution path of the code to detect runtime problems. This allows the detection unit to improve code quality by combining static and dynamic analysis. Furthermore, AI can also use natural language processing techniques to analyze code comments and documentation, detecting inconsistencies between the intent and implementation of the code. This allows the detection unit to comprehensively evaluate code quality and provide feedback to developers.
[0031] The proposal unit proposes fixes based on bugs detected by the detection unit. The proposal unit generates optimal fixes using, for example, AI. Specifically, the AI learns from past fix history and bug fix patterns to generate fixes for similar bugs. For example, the AI evaluates the scope of impact and difficulty of a bug to determine the priority of fixes based on the type and impact of the bug. When generating fixes, the proposal unit considers code consistency and readability, proposing methods to fix bugs with minimal changes. For example, the proposal unit proposes code refactoring, improving code quality by removing redundant and duplicate code. Furthermore, the proposal unit automatically generates test cases for the fixes to verify their validity and minimize side effects from applying them. This allows the proposal unit to provide developers with reliable fixes and improve the efficiency of bug fixing. Additionally, the proposal unit can build a database of fixes to manage their history and utilize it for future bug fixes. This allows the proposal unit to continuously learn and improve, enhancing the accuracy and efficiency of bug fixing.
[0032] The analysis department analyzes the code in real time based on the proposed fixes submitted by the proposal department. For example, the analysis department uses AI to simulate the code after the fixes are applied. Specifically, the AI simulates the code's behavior after the fixes are applied and evaluates the performance impact and security risks. For instance, the AI evaluates the execution speed and memory usage of the code after the fixes are applied, identifying performance bottlenecks. The AI also evaluates the security risks of applying the fixes and identifies potential vulnerabilities. For example, the AI evaluates security holes and the risk of unauthorized access in the code after the fixes are applied. This allows the analysis department to comprehensively evaluate the quality of the code after the fixes are applied and provide feedback to developers. Furthermore, the analysis department can monitor the code's behavior in real time after the fixes are applied and detect abnormal behavior. For example, the analysis department analyzes error logs and warning messages generated after the fixes are applied to detect problems early. This allows the analysis department to continuously monitor the quality of the code after the fixes are applied and provide rapid feedback to developers.
[0033] The support unit supports multiple programming languages based on the code analyzed by the analysis unit. For example, it supports multiple programming languages such as Java, Python, and C++. Specifically, the support unit understands the grammar and syntax rules of each language to generate appropriate correction suggestions tailored to each programming language. For example, for Java code, it generates correction suggestions that follow Java's grammar and syntax rules, and for Python code, it generates correction suggestions that follow Python's grammar and syntax rules. Furthermore, the support unit can perform code conversion between different programming languages. For example, when converting Java code to Python, it converts Java syntax to Python syntax and generates appropriate correction suggestions. This allows the support unit to support multiple programming languages and provide developers with flexible correction suggestions. In addition, the support unit can generate optimal correction suggestions by considering the characteristics and best practices of each programming language. For example, for Java code, it generates correction suggestions that follow Java's best practices, and for Python code, it generates correction suggestions that follow Python's best practices. This allows the support unit to provide high-quality, language-specific correction suggestions, thereby improving the efficiency of developers' work.
[0034] The learning unit learns bug patterns using deep learning. The learning unit learns bug patterns using, for example, a neural network. The learning unit can train a model using, for example, past bug data. The learning unit can also select training data according to, for example, the type and frequency of occurrence of bugs. By using deep learning, the accuracy of learning bug patterns is improved. Some or all of the above processes in the learning unit may be performed using, for example, AI, or not using AI. For example, the learning unit can input past bug data into a generating AI and have the generating AI perform bug pattern learning.
[0035] The improvement unit aims to improve the bug detection rate. The improvement unit may, for example, use AI to improve the bug detection algorithm. The improvement unit may, for example, add data to improve the accuracy of bug detection. The improvement unit may also, for example, optimize the algorithm to improve the performance of bug detection. This makes it possible to improve the bug detection rate. Some or all of the above processes in the improvement unit may be performed using AI, for example, or without AI. For example, the improvement unit may input improvements to the bug detection algorithm into a generating AI and have the generating AI perform the improvement of the bug detection rate.
[0036] The reduction unit reduces code review time. The reduction unit can automate code reviews using AI, for example. The reduction unit can prioritize reviews to improve the efficiency of code reviews. The reduction unit can also limit the scope of reviews to shorten the time spent on code reviews. This makes it possible to reduce code review time. Some or all of the above processes in the reduction unit may be performed using AI, for example, or without AI. For example, the reduction unit can input the automation of code reviews into a generating AI and have the generating AI perform the reduction of code review time.
[0037] The shortening unit reduces the time to market. The shortening unit can, for example, use AI to improve the efficiency of the development process. The shortening unit can, for example, reduce the time to market by optimizing resources. The shortening unit can also, for example, perform project management to shorten the duration of each phase of development. This makes it possible to shorten the time to market. Some or all of the above processes in the shortening unit may be performed using AI, for example, or without AI. For example, the shortening unit can input the efficiency improvements of the development process into a generating AI and have the generating AI execute the reduction of the time to market.
[0038] The cost reduction unit reduces development costs. The cost reduction unit optimizes development costs using, for example, AI. The cost reduction unit can automate processes to reduce labor costs, for example. The cost reduction unit can also perform efficient material management to reduce material costs, for example. This makes it possible to reduce development costs. Some or all of the above processes in the cost reduction unit may be performed using, for example, AI, or not using AI. For example, the cost reduction unit can input the optimization of development costs into a generating AI and have the generating AI perform the reduction of development costs.
[0039] The Improvement Department aims to increase development speed. The Improvement Department can, for example, use AI to streamline the development process. The Improvement Department can, for example, advance automation to improve work efficiency. The Improvement Department can, for example, perform project management to shorten the development period. This makes it possible to increase development speed. Some or all of the above processes in the Improvement Department may be performed using AI, for example, or not using AI. For example, the Improvement Department can input the efficiency of the development process into a generating AI and have the generating AI execute the improvement of development speed.
[0040] The Enhancement Department strengthens quality assurance. The Enhancement Department strengthens quality assurance processes, for example, by using AI. The Enhancement Department can improve quality assurance by strengthening testing, for example. The Enhancement Department can also strengthen quality assurance by reviewing quality standards, for example. This makes it possible to strengthen quality assurance. Some or all of the above processes in the Enhancement Department may be performed using AI, for example, or without using AI. For example, the Enhancement Department can input the strengthening of the quality assurance process into a generating AI and have the generating AI execute the strengthening of quality assurance.
[0041] The detection unit can analyze past bug detection history and select the optimal detection method. For example, the detection unit can identify frequently occurring bug patterns from past bug detection history and prioritize their detection. For example, the detection unit can predict bugs that are likely to occur during specific time periods based on past bug detection history and adjust the detection method accordingly. For example, the detection unit can analyze past bug detection history and focus bug detection on code involving specific developers. This allows the detection unit to select the optimal bug detection method by analyzing past bug detection history. Some or all of the above processes in the detection unit may be performed using AI, for example, or without AI. For example, the detection unit can input past bug detection history into a generating AI and have the generating AI select the optimal detection method.
[0042] The detection unit can filter based on the code change history when detecting a bug. For example, the detection unit can refer to the code change history and focus bug detection on recently changed parts. For example, the detection unit can prioritize bug detection on changes made by a specific developer based on the code change history. For example, the detection unit can analyze the code change history and focus bug detection on parts that have been changed frequently. This improves the accuracy of bug detection by filtering based on the code change history. Some or all of the above processing in the detection unit may be performed using AI, for example, or without AI. For example, the detection unit can input the code change history into a generating AI and have the generating AI perform the filtering.
[0043] The detection unit can prioritize the detection of highly relevant bugs by considering the geographical location information of the code during bug detection. For example, the detection unit can prioritize the detection of bugs that are likely to occur in a particular region based on the geographical location information of the code. For example, the detection unit can refer to the geographical location information of the code and focus bug detection on code in which developers in a particular region have been involved. For example, the detection unit can analyze the geographical location information of the code and prioritize the detection of bug patterns that frequently occur in a particular region. In this way, by considering the geographical location information of the code, highly relevant bugs can be detected preferentially. Some or all of the above processing in the detection unit may be performed using AI, for example, or without AI. For example, the detection unit can input the geographical location information of the code into a generating AI and have the generating AI perform the detection of highly relevant bugs.
[0044] The detection unit can analyze the social media activity of the code when detecting a bug and detect related bugs. For example, the detection unit can analyze the social media activity of the code and, if there is a lot of discussion about a particular bug, prioritize the detection of that bug. For example, the detection unit can refer to the social media activity of the code and, if there is a lot of feedback about a particular bug, prioritize the detection of that bug. For example, the detection unit can analyze the social media activity of the code to understand trends related to a particular bug and prioritize the detection of related bugs. In this way, by analyzing the social media activity of the code, related bugs can be detected preferentially. Some or all of the above processing in the detection unit may be performed using AI, for example, or without AI. For example, the detection unit can input the social media activity of the code into a generating AI and have the generating AI perform the detection of related bugs.
[0045] The proposal unit can adjust the level of detail of the proposed fix based on the severity of the bug when proposing a fix. For example, the proposal unit may provide a detailed fix for a critical bug, or a concise fix for a minor bug. The proposal unit can also adjust the level of detail of the fix in stages according to the severity of the bug. This allows for the provision of more appropriate fixes by adjusting the level of detail based on the severity of the bug. Some or all of the above processing in the proposal unit may be performed using AI, or not. For example, the proposal unit can input the severity of the bug into a generating AI and have the generating AI adjust the level of detail of the fix.
[0046] The proposal unit can apply different proposal algorithms depending on the bug category when proposing a fix. For example, for security-related bugs, the proposal unit can apply a security-specific proposal algorithm. For performance-related bugs, the proposal unit can apply a performance optimization proposal algorithm. For usability-related bugs, the proposal unit can also apply a usability improvement proposal algorithm. By applying different proposal algorithms depending on the bug category, a more appropriate fix can be provided. Some or all of the above processing in the proposal unit may be performed using AI, for example, or without AI. For example, the proposal unit can input the bug category into a generating AI and have the generating AI execute the application of the proposal algorithm.
[0047] The proposal unit can determine the priority of bug fixes based on when the bug occurred when proposing a fix. For example, the proposal unit will prioritize bug fixes for recently occurring bugs. For example, the proposal unit can lower the priority of bug fixes for bugs that occurred in the past but have not been fixed. The proposal unit can also adjust the priority of bug fixes in stages according to when the bug occurred. This allows for the provision of more appropriate fixes by determining the priority of bug fixes based on when the bug occurred. Some or all of the above processing in the proposal unit may be performed using AI, for example, or without AI. For example, the proposal unit can input the bug occurrence date into a generating AI and have the generating AI perform the determination of the priority of bug fixes.
[0048] The proposal unit can adjust the order of proposed fixes based on the relevance of the bugs when proposing fixes. For example, the proposal unit will prioritize presenting fixes for highly relevant bugs. For example, the proposal unit can postpone presenting fixes for less relevant bugs. The proposal unit can also adjust the order of fixes in stages according to the relevance of the bugs. This allows for the provision of more appropriate fixes by adjusting the order of fixes based on the relevance of the bugs. Some or all of the above processing in the proposal unit may be performed using AI, for example, or without AI. For example, the proposal unit can input the relevance of the bugs into a generating AI and have the generating AI perform the adjustment of the order of fixes.
[0049] The analysis unit can improve the accuracy of its analysis by considering the interrelationships of code during code analysis. For example, the analysis unit can analyze the interrelationships of code and focus its analysis on dependent parts. For example, the analysis unit can identify the scope of impact of a bug by considering the interrelationships of code. For example, the analysis unit can make it easier to identify the cause of a bug based on the interrelationships of code. In this way, the accuracy of the analysis is improved by considering the interrelationships of code. Some or all of the above processes in the analysis unit may be performed using AI, for example, or without AI. For example, the analysis unit can input the interrelationships of code into a generating AI and have the generating AI perform the task of improving the accuracy of the analysis.
[0050] The analysis unit can perform code analysis while considering the attribute information of the code submitter. For example, the analysis unit can adjust the focus of the analysis by considering the code submitter's years of experience. For example, the analysis unit can focus on analyzing specific parts by considering the code submitter's area of expertise. For example, the analysis unit can improve the accuracy of the analysis by referring to the code submitter's past bug history. This improves the accuracy of the analysis by considering the attribute information of the code submitter. Some or all of the above processes in the analysis unit may be performed using AI, for example, or not using AI. For example, the analysis unit can input the attribute information of the code submitter into a generating AI and have the generating AI perform the analysis.
[0051] The analysis unit can perform code analysis while considering the geographical distribution of the code. For example, the analysis unit can focus its analysis on bugs that are more likely to occur in a particular region based on the geographical distribution of the code. For example, the analysis unit can focus its analysis on code that developers in a particular region have worked on, considering the geographical distribution of the code. For example, the analysis unit can refer to the geographical distribution of the code and analyze bug patterns that frequently occur in a particular region. This improves the accuracy of the analysis by considering the geographical distribution of the code. Some or all of the above processes in the analysis unit may be performed using AI, for example, or without AI. For example, the analysis unit can input the geographical distribution of the code into a generating AI and have the generating AI perform the analysis.
[0052] The analysis unit can improve the accuracy of its analysis by referring to relevant documentation for the code during code analysis. For example, the analysis unit can refer to relevant documentation for the code to identify the cause of a bug. For example, the analysis unit can propose a method for fixing the bug based on the relevant documentation for the code. The analysis unit can also improve the accuracy of its analysis by referring to relevant documentation for the code. This improves the accuracy of the analysis by referring to relevant documentation for the code. Some or all of the above processes in the analysis unit may be performed using AI, for example, or without AI. For example, the analysis unit can input relevant documentation for the code into a generating AI and have the generating AI perform the task of improving the accuracy of the analysis.
[0053] The response unit can select the optimal response method by referring to past response history when responding. For example, the response unit can refer to past response history and select the optimal response method for similar bugs. For example, the response unit can select the optimal response method for bugs involving a specific developer based on past response history. For example, the response unit can analyze past response history and select the optimal response method for a specific programming language. In this way, the optimal response method can be selected by referring to past response history. Some or all of the above processing in the response unit may be performed using AI, for example, or without using AI. For example, the response unit can input past response history into a generating AI and have the generating AI perform the selection of the optimal response method.
[0054] The response unit can customize the means of response based on the characteristics of the programming language when responding. For example, the response unit can propose the optimal bug fixing method considering the characteristics of the programming language. For example, the response unit can provide an efficient code modification means based on the characteristics of the programming language. For example, the response unit can also customize the optimal means of response for a specific bug by referring to the characteristics of the programming language. This makes it possible to provide a more appropriate response by customizing the means of response based on the characteristics of the programming language. Some or all of the above processing in the response unit may be performed using AI, for example, or without using AI. For example, the response unit can input the characteristics of the programming language into a generating AI and have the generating AI perform the customization of the means of response.
[0055] The response unit can select the optimal response method by considering the geographical location information of the programming language during the response process. For example, the response unit can select the optimal response method for bugs that are likely to occur in a particular region based on the geographical location information of the programming language. For example, the response unit can refer to the geographical location information of the programming language and select the optimal response method for bugs involving developers in a particular region. For example, the response unit can analyze the geographical location information of the programming language and select the optimal response method for bugs that frequently occur in a particular region. In this way, the optimal response method can be selected by considering the geographical location information of the programming language. Some or all of the above processing in the response unit may be performed using AI, for example, or without using AI. For example, the response unit can input the geographical location information of the programming language into a generating AI and have the generating AI perform the selection of the optimal response method.
[0056] The response unit can improve the accuracy of its response by referring to relevant literature on the programming language during the response process. For example, the response unit can identify the cause of a bug by referring to relevant literature on the programming language. For example, the response unit can propose a method for fixing the bug based on relevant literature on the programming language. The response unit can also improve the accuracy of its response by referring to relevant literature on the programming language. As a result, the accuracy of the response is improved by referring to relevant literature on the programming language. Some or all of the above processing in the response unit may be performed using AI, for example, or without using AI. For example, the response unit can input relevant literature on the programming language into a generating AI and have the generating AI perform the task of improving the accuracy of the response.
[0057] The learning unit can optimize its learning algorithm by referring to past learning data during the learning process. For example, the learning unit can refer to past learning data and apply the optimal learning algorithm for similar bugs. For example, the learning unit can apply the optimal learning algorithm for bugs involving a specific developer based on past learning data. For example, the learning unit can analyze past learning data and apply the optimal learning algorithm for a specific programming language. This allows the learning algorithm to be optimized by referring to past learning data. Some or all of the above processes in the learning unit may be performed using AI, for example, or without AI. For example, the learning unit can input past learning data into a generating AI and have the generating AI perform the optimization of the learning algorithm.
[0058] The learning unit can weight the training data based on when the bugs occurred during training. For example, the learning unit can give a higher weight to recently occurring bugs. For example, the learning unit can give a lower weight to bugs that occurred in the past but have not been fixed. The learning unit can also adjust the weighting of the training data in stages according to when the bugs occurred. This allows for more appropriate training by weighting the training data based on when the bugs occurred. Some or all of the above processing in the learning unit may be performed using AI, for example, or without AI. For example, the learning unit can input the timing of bug occurrences into a generating AI and have the generating AI perform the weighting of the training data.
[0059] The improvement unit can select the optimal improvement method by referring to past bug detection data when improving the bug detection rate. For example, the improvement unit can refer to past bug detection data and select the optimal improvement method for similar bugs. For example, the improvement unit can select the optimal improvement method for bugs involving a specific developer based on past bug detection data. For example, the improvement unit can analyze past bug detection data and select the optimal improvement method for a specific programming language. In this way, the optimal method for improving the bug detection rate can be selected by referring to past bug detection data. Some or all of the above processing in the improvement unit may be performed using AI, for example, or without AI. For example, the improvement unit can input past bug detection data into a generating AI and have the generating AI select the optimal improvement method.
[0060] The improvement unit can select the optimal improvement method when improving the bug detection rate, taking into account the geographical location information of the bugs. For example, the improvement unit can select the optimal improvement method for bugs that are likely to occur in a particular region based on the geographical location information of the bugs. For example, the improvement unit can refer to the geographical location information of the bugs and select the optimal improvement method for bugs that are involved with developers in a particular region. For example, the improvement unit can analyze the geographical location information of the bugs and select the optimal improvement method for bugs that frequently occur in a particular region. In this way, by taking into account the geographical location information of the bugs, the optimal method for improving the bug detection rate can be selected. Some or all of the above processing in the improvement unit may be performed using AI, for example, or without using AI. For example, the improvement unit can input the geographical location information of the bugs into a generating AI and have the generating AI perform the selection of the optimal improvement method.
[0061] The reduction unit can select the optimal reduction method by referring to past review history when reducing code review time. For example, the reduction unit can refer to past review history and select the optimal reduction method for similar bugs. For example, the reduction unit can select the optimal reduction method for bugs involving a specific developer based on past review history. For example, the reduction unit can analyze past review history and select the optimal reduction method for a specific programming language. This allows the optimal code review time reduction method to be selected by referring to past review history. Some or all of the above processing in the reduction unit may be performed using AI, for example, or without AI. For example, the reduction unit can input past review history into a generating AI and have the generating AI select the optimal reduction method.
[0062] The reduction unit can select the optimal reduction method when reducing code review time, taking into account the geographical location of the review. For example, the reduction unit can select the optimal reduction method for bugs that are likely to occur in a particular region based on the geographical location of the review. For example, the reduction unit can refer to the geographical location of the review and select the optimal reduction method for bugs involving developers in a particular region. For example, the reduction unit can analyze the geographical location of the review and select the optimal reduction method for bugs that frequently occur in a particular region. In this way, by considering the geographical location of the review, the optimal code review time reduction method can be selected. Some or all of the above processing in the reduction unit may be performed using AI, for example, or without AI. For example, the reduction unit can input the geographical location of the review into a generating AI and have the generating AI select the optimal reduction method.
[0063] The shortening unit can select the optimal shortening method when shortening time to market by referring to past time to market data. For example, the shortening unit can refer to past time to market data and select the optimal shortening method for similar projects. For example, the shortening unit can select the optimal shortening method for projects involving specific developers based on past time to market data. For example, the shortening unit can analyze past time to market data and select the optimal shortening method for a specific programming language. In this way, the optimal time to market shortening method can be selected by referring to past time to market data. Some or all of the above processing in the shortening unit may be performed using AI, for example, or without AI. For example, the shortening unit can input past time to market data into a generating AI and have the generating AI perform the selection of the optimal shortening method.
[0064] The shortening unit can select the optimal shortening method when shortening time to market, taking into account the geographical location of the product launch. For example, the shortening unit can select the optimal shortening method for problems that are likely to occur in a particular region based on the geographical location of the product launch. For example, the shortening unit can refer to the geographical location of the product launch and select the optimal shortening method for projects involving developers in a particular region. For example, the shortening unit can analyze the geographical location of the product launch and select the optimal shortening method for problems that frequently occur in a particular region. In this way, by taking into account the geographical location of the product launch, the optimal method for shortening time to market can be selected. Some or all of the above processing in the shortening unit may be performed using AI, for example, or without AI. For example, the shortening unit can input the geographical location of the product launch into a generating AI and have the generating AI select the optimal shortening method.
[0065] The enhancement unit can select the optimal enhancement method by referring to past quality assurance data when enhancing quality assurance. For example, the enhancement unit can refer to past quality assurance data to select the optimal enhancement method for similar projects. For example, the enhancement unit can select the optimal enhancement method for projects involving specific developers based on past quality assurance data. For example, the enhancement unit can analyze past quality assurance data to select the optimal enhancement method for a specific programming language. In this way, the optimal quality assurance enhancement method can be selected by referring to past quality assurance data. Some or all of the above processes in the enhancement unit may be performed using AI, for example, or without AI. For example, the enhancement unit can input past quality assurance data into a generating AI and have the generating AI select the optimal enhancement method.
[0066] The enhancement unit can select the optimal enhancement method when enhancing quality assurance, taking into account the geographical location information of the quality. For example, the enhancement unit can select the optimal enhancement method for problems that are likely to occur in a particular region based on the geographical location information of the quality. For example, the enhancement unit can refer to the geographical location information of the quality and select the optimal enhancement method for projects involving developers in a particular region. For example, the enhancement unit can analyze the geographical location information of the quality and select the optimal enhancement method for problems that frequently occur in a particular region. In this way, the optimal quality assurance enhancement method can be selected by taking into account the geographical location information of the quality. Some or all of the above processes in the enhancement unit may be performed using AI, for example, or without using AI. For example, the enhancement unit can input the geographical location information of the quality into a generating AI and have the generating AI perform the selection of the optimal enhancement method.
[0067] The system according to the embodiment is not limited to the example described above, and various modifications are possible, for example, as follows.
[0068] The detection unit can analyze past bug detection history and select the optimal detection method. For example, it can identify frequently occurring bug patterns from past bug detection history and prioritize their detection. It can also predict bugs that are likely to occur during specific time periods based on past bug detection history and adjust the detection method accordingly. Furthermore, by analyzing past bug detection history, it can focus bug detection on code that specific developers have worked on. In this way, the optimal bug detection method can be selected by analyzing past bug detection history.
[0069] The proposal team can adjust the level of detail in their proposed fixes based on the severity of the bug. For example, they can provide detailed fixes for critical bugs, and concise fixes for minor bugs. Furthermore, they can adjust the level of detail in the fixes in stages according to the severity of the bug. This allows them to provide more appropriate fixes by adjusting the level of detail based on the severity of the bug.
[0070] The analysis department can improve the accuracy of code analysis by considering the interrelationships between code elements. For example, it can analyze the interrelationships of code and focus on analyzing dependent parts. It can also identify the scope of impact of bugs by considering the interrelationships of code. Furthermore, it can make it easier to identify the cause of bugs based on the interrelationships of code. In this way, considering the interrelationships of code improves the accuracy of the analysis.
[0071] The support unit can select the optimal support method by referring to past support history when addressing a bug. For example, it can select the optimal support method for similar bugs by referring to past support history. It can also select the optimal support method for bugs involving a specific developer based on past support history. Furthermore, it can analyze past support history to select the optimal support method for a specific programming language. In this way, the optimal support method can be selected by referring to past support history.
[0072] The learning unit can optimize its learning algorithm by referring to past learning data during the learning process. For example, it can refer to past learning data and apply the optimal learning algorithm for similar bugs. It can also apply the optimal learning algorithm to bugs involving specific developers based on past learning data. Furthermore, it can analyze past learning data and apply the optimal learning algorithm for a specific programming language. This allows for the optimization of the learning algorithm by referring to past learning data.
[0073] The following briefly describes the processing flow for example form 1.
[0074] Step 1: The detection unit detects bugs. For example, it can automatically detect bugs in the code using AI. The detection unit can perform static analysis to detect errors in the code's structure and syntax. It can also perform dynamic analysis to detect bugs at runtime. Step 2: The proposal unit proposes a fix based on the bugs detected by the detection unit. For example, it can use AI to generate the optimal fix. The proposal unit can refer to past fix history and propose fixes for similar bugs. It can also determine the priority of fixes based on the type and impact of the bug. Step 3: The analysis department analyzes the code in real time based on the proposed fixes submitted by the proposal department. For example, it uses AI to simulate the code after the fixes are applied. The analysis department can evaluate the performance impact of applying the fixes. It can also evaluate the security risks associated with applying the fixes. Step 4: The support unit supports multiple programming languages based on the code analyzed by the analysis unit. For example, it supports multiple programming languages such as Java, Python, and C++. The support unit can generate modification suggestions specific to each programming language. It can also perform code conversion between different programming languages.
[0075] (Example of form 2) The code analysis agent according to an embodiment of the present invention is a system that uses AI to automatically detect bugs in application development and proposes corrective actions. The code analysis agent enables developers to significantly reduce the time spent on code reviews and deliver high-quality products to the market more quickly. Specifically, it features bug pattern learning using deep learning, real-time code analysis and provision of corrective actions, and support for multiple programming languages. This makes it possible to improve bug detection rates, reduce code review time by 80%, and shorten time to market by 50%. Furthermore, it can meet user needs such as reducing development costs, increasing development speed, and strengthening quality assurance. As a pioneer in AI-driven automation processes, it is pursuing versatility through the development and application of advanced machine learning models and cross-platform compatibility. The target market is IT companies, from small to large enterprises, that develop software, and it solves problems such as excessive time and cost for bug fixing, decreased competitiveness due to delays to the market, and decreased customer satisfaction due to poor quality. With the evolution of AI technology and the ongoing digitalization of the market, and the increasing demand for high-quality software, now is the time to enter the market. The code analysis agent aims to accelerate technological innovation through the streamlining of the development process and the improvement of quality. This allows code analysis agents to significantly reduce the time developers spend on code reviews, enabling them to deliver high-quality products to market more quickly.
[0076] The code analysis agent according to the embodiment comprises a detection unit, a proposal unit, an analysis unit, and a response unit. The detection unit detects bugs. The detection unit automatically detects bugs in the code, for example, using AI. The detection unit can, for example, perform static analysis to detect errors in the code's structure and syntax. The detection unit can also, for example, perform dynamic analysis to detect bugs at runtime. The proposal unit proposes a fix based on the bugs detected by the detection unit. The proposal unit generates the optimal fix using, for example, AI. The proposal unit can, for example, refer to past fix history and propose fixes for similar bugs. The proposal unit can also, for example, determine the priority of fixes according to the type and impact of the bug. The analysis unit analyzes the code in real time based on the fixes proposed by the proposal unit. The analysis unit simulates the code after applying the fixes using, for example, AI. The analysis unit can, for example, evaluate the performance impact of applying the fixes. The analysis unit can also, for example, evaluate the security risks of applying the fixes. The response unit supports multiple programming languages based on the code analyzed by the analysis unit. The support unit supports multiple programming languages, such as Java, Python, and C++. The support unit can generate specific correction suggestions for each programming language. It can also perform code conversion between different programming languages. As a result, the code analysis agent according to this embodiment can detect bugs, propose corrections, perform real-time code analysis, and support multiple programming languages.
[0077] The detection unit detects bugs. For example, the detection unit automatically detects bugs in the code using AI. Specifically, the AI uses machine learning algorithms to learn from past bug data and fix history, and identifies bug patterns in new code. Static analysis analyzes each line of code to detect errors in code structure and syntax, identifying syntax errors, unused variables, type mismatches, etc. For example, static analysis tools analyze the source code before compiling the code to identify potential bugs. Dynamic analysis actually executes the code to detect runtime bugs, identifying memory leaks, runtime errors, performance bottlenecks, etc. Dynamic analysis tools automatically generate test cases and comprehensively test the execution path of the code to detect runtime problems. This allows the detection unit to improve code quality by combining static and dynamic analysis. Furthermore, AI can also use natural language processing techniques to analyze code comments and documentation, detecting inconsistencies between the intent and implementation of the code. This allows the detection unit to comprehensively evaluate code quality and provide feedback to developers.
[0078] The proposal unit proposes fixes based on bugs detected by the detection unit. The proposal unit generates optimal fixes using, for example, AI. Specifically, the AI learns from past fix history and bug fix patterns to generate fixes for similar bugs. For example, the AI evaluates the scope of impact and difficulty of a bug to determine the priority of fixes based on the type and impact of the bug. When generating fixes, the proposal unit considers code consistency and readability, proposing methods to fix bugs with minimal changes. For example, the proposal unit proposes code refactoring, improving code quality by removing redundant and duplicate code. Furthermore, the proposal unit automatically generates test cases for the fixes to verify their validity and minimize side effects from applying them. This allows the proposal unit to provide developers with reliable fixes and improve the efficiency of bug fixing. Additionally, the proposal unit can build a database of fixes to manage their history and utilize it for future bug fixes. This allows the proposal unit to continuously learn and improve, enhancing the accuracy and efficiency of bug fixing.
[0079] The analysis department analyzes the code in real time based on the proposed fixes submitted by the proposal department. For example, the analysis department uses AI to simulate the code after the fixes are applied. Specifically, the AI simulates the code's behavior after the fixes are applied and evaluates the performance impact and security risks. For instance, the AI evaluates the execution speed and memory usage of the code after the fixes are applied, identifying performance bottlenecks. The AI also evaluates the security risks of applying the fixes and identifies potential vulnerabilities. For example, the AI evaluates security holes and the risk of unauthorized access in the code after the fixes are applied. This allows the analysis department to comprehensively evaluate the quality of the code after the fixes are applied and provide feedback to developers. Furthermore, the analysis department can monitor the code's behavior in real time after the fixes are applied and detect abnormal behavior. For example, the analysis department analyzes error logs and warning messages generated after the fixes are applied to detect problems early. This allows the analysis department to continuously monitor the quality of the code after the fixes are applied and provide rapid feedback to developers.
[0080] The support unit supports multiple programming languages based on the code analyzed by the analysis unit. For example, it supports multiple programming languages such as Java, Python, and C++. Specifically, the support unit understands the grammar and syntax rules of each language to generate appropriate correction suggestions tailored to each programming language. For example, for Java code, it generates correction suggestions that follow Java's grammar and syntax rules, and for Python code, it generates correction suggestions that follow Python's grammar and syntax rules. Furthermore, the support unit can perform code conversion between different programming languages. For example, when converting Java code to Python, it converts Java syntax to Python syntax and generates appropriate correction suggestions. This allows the support unit to support multiple programming languages and provide developers with flexible correction suggestions. In addition, the support unit can generate optimal correction suggestions by considering the characteristics and best practices of each programming language. For example, for Java code, it generates correction suggestions that follow Java's best practices, and for Python code, it generates correction suggestions that follow Python's best practices. This allows the support unit to provide high-quality, language-specific correction suggestions, thereby improving the efficiency of developers' work.
[0081] The learning unit learns bug patterns using deep learning. The learning unit learns bug patterns using, for example, a neural network. The learning unit can train a model using, for example, past bug data. The learning unit can also select training data according to, for example, the type and frequency of occurrence of bugs. By using deep learning, the accuracy of learning bug patterns is improved. Some or all of the above processes in the learning unit may be performed using, for example, AI, or not using AI. For example, the learning unit can input past bug data into a generating AI and have the generating AI perform bug pattern learning.
[0082] The improvement unit aims to improve the bug detection rate. The improvement unit may, for example, use AI to improve the bug detection algorithm. The improvement unit may, for example, add data to improve the accuracy of bug detection. The improvement unit may also, for example, optimize the algorithm to improve the performance of bug detection. This makes it possible to improve the bug detection rate. Some or all of the above processes in the improvement unit may be performed using AI, for example, or without AI. For example, the improvement unit may input improvements to the bug detection algorithm into a generating AI and have the generating AI perform the improvement of the bug detection rate.
[0083] The reduction unit reduces code review time. The reduction unit can automate code reviews using AI, for example. The reduction unit can prioritize reviews to improve the efficiency of code reviews. The reduction unit can also limit the scope of reviews to shorten the time spent on code reviews. This makes it possible to reduce code review time. Some or all of the above processes in the reduction unit may be performed using AI, for example, or without AI. For example, the reduction unit can input the automation of code reviews into a generating AI and have the generating AI perform the reduction of code review time.
[0084] The shortening unit reduces the time to market. The shortening unit can, for example, use AI to improve the efficiency of the development process. The shortening unit can, for example, reduce the time to market by optimizing resources. The shortening unit can also, for example, perform project management to shorten the duration of each phase of development. This makes it possible to shorten the time to market. Some or all of the above processes in the shortening unit may be performed using AI, for example, or without AI. For example, the shortening unit can input the efficiency improvements of the development process into a generating AI and have the generating AI execute the reduction of the time to market.
[0085] The cost reduction unit reduces development costs. The cost reduction unit optimizes development costs using, for example, AI. The cost reduction unit can automate processes to reduce labor costs, for example. The cost reduction unit can also perform efficient material management to reduce material costs, for example. This makes it possible to reduce development costs. Some or all of the above processes in the cost reduction unit may be performed using, for example, AI, or not using AI. For example, the cost reduction unit can input the optimization of development costs into a generating AI and have the generating AI perform the reduction of development costs.
[0086] The Improvement Department aims to increase development speed. The Improvement Department can, for example, use AI to streamline the development process. The Improvement Department can, for example, advance automation to improve work efficiency. The Improvement Department can, for example, perform project management to shorten the development period. This makes it possible to increase development speed. Some or all of the above processes in the Improvement Department may be performed using AI, for example, or not using AI. For example, the Improvement Department can input the efficiency of the development process into a generating AI and have the generating AI execute the improvement of development speed.
[0087] The Enhancement Department strengthens quality assurance. The Enhancement Department strengthens quality assurance processes, for example, by using AI. The Enhancement Department can improve quality assurance by strengthening testing, for example. The Enhancement Department can also strengthen quality assurance by reviewing quality standards, for example. This makes it possible to strengthen quality assurance. Some or all of the above processes in the Enhancement Department may be performed using AI, for example, or without using AI. For example, the Enhancement Department can input the strengthening of the quality assurance process into a generating AI and have the generating AI execute the strengthening of quality assurance.
[0088] The detection unit can estimate the user's emotions and adjust the timing of bug detection based on the estimated emotions. For example, if the user is stressed, the detection unit can reduce the frequency of bug detection and prioritize detecting only important bugs. For example, if the user is relaxed, the detection unit can increase the frequency of bug detection and provide more detailed bug information. For example, if the user is in a hurry, the detection unit can quickly detect bugs and immediately suggest solutions. By adjusting the timing of bug detection according to the user's emotions, more appropriate bug detection becomes possible. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or a generative AI. The generative AI is, but is not limited to, a text generation AI (e.g., LLM) or a multimodal generation AI. Some or all of the above processing in the detection unit may be performed using AI, or not using AI. For example, the detection unit can input user emotion data into a generative AI and have the generative AI perform the adjustment of bug detection timing.
[0089] The detection unit can analyze past bug detection history and select the optimal detection method. For example, the detection unit can identify frequently occurring bug patterns from past bug detection history and prioritize their detection. For example, the detection unit can predict bugs that are likely to occur during specific time periods based on past bug detection history and adjust the detection method accordingly. For example, the detection unit can analyze past bug detection history and focus bug detection on code involving specific developers. This allows the detection unit to select the optimal bug detection method by analyzing past bug detection history. Some or all of the above processes in the detection unit may be performed using AI, for example, or without AI. For example, the detection unit can input past bug detection history into a generating AI and have the generating AI select the optimal detection method.
[0090] The detection unit can filter based on the code change history when detecting a bug. For example, the detection unit can refer to the code change history and focus bug detection on recently changed parts. For example, the detection unit can prioritize bug detection on changes made by a specific developer based on the code change history. For example, the detection unit can analyze the code change history and focus bug detection on parts that have been changed frequently. This improves the accuracy of bug detection by filtering based on the code change history. Some or all of the above processing in the detection unit may be performed using AI, for example, or without AI. For example, the detection unit can input the code change history into a generating AI and have the generating AI perform the filtering.
[0091] The detection unit can estimate the user's emotions and determine the priority of bugs to detect based on the estimated user emotions. For example, if the user is stressed, the detection unit will prioritize detecting only critical bugs. If the user is relaxed, the detection unit can detect even minor bugs in detail. If the user is in a hurry, the detection unit can also prioritize detecting bugs that require immediate correction. This allows for more appropriate bug detection by prioritizing bugs according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or generative AI. Generative AI may be, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the detection unit may be performed using AI, or not using AI. For example, the detection unit can input user emotion data into a generative AI and have the generative AI perform bug prioritization.
[0092] The detection unit can prioritize the detection of highly relevant bugs by considering the geographical location information of the code during bug detection. For example, the detection unit can prioritize the detection of bugs that are likely to occur in a particular region based on the geographical location information of the code. For example, the detection unit can refer to the geographical location information of the code and focus bug detection on code in which developers in a particular region have been involved. For example, the detection unit can analyze the geographical location information of the code and prioritize the detection of bug patterns that frequently occur in a particular region. In this way, by considering the geographical location information of the code, highly relevant bugs can be detected preferentially. Some or all of the above processing in the detection unit may be performed using AI, for example, or without AI. For example, the detection unit can input the geographical location information of the code into a generating AI and have the generating AI perform the detection of highly relevant bugs.
[0093] The detection unit can analyze the social media activity of the code when detecting a bug and detect related bugs. For example, the detection unit can analyze the social media activity of the code and, if there is a lot of discussion about a particular bug, prioritize the detection of that bug. For example, the detection unit can refer to the social media activity of the code and, if there is a lot of feedback about a particular bug, prioritize the detection of that bug. For example, the detection unit can analyze the social media activity of the code to understand trends related to a particular bug and prioritize the detection of related bugs. In this way, by analyzing the social media activity of the code, related bugs can be detected preferentially. Some or all of the above processing in the detection unit may be performed using AI, for example, or without AI. For example, the detection unit can input the social media activity of the code into a generating AI and have the generating AI perform the detection of related bugs.
[0094] The suggestion unit can estimate the user's emotions and adjust the way the suggested revisions are presented based on the estimated emotions. For example, if the user is stressed, the suggestion unit may present a simple and easy-to-understand revised revision. If the user is relaxed, the suggestion unit may present a revised revision that includes detailed explanations. If the user is in a hurry, the suggestion unit may also present a revised revision that can be quickly implemented. This allows for the provision of more appropriate revised revisions by adjusting the way the revised revisions are presented according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or generative AI. Generative AI may be, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the suggestion unit may be performed using AI or not. For example, the suggestion unit can input user emotion data into a generative AI and have the generative AI adjust the way the revised revisions are presented.
[0095] The proposal unit can adjust the level of detail of the proposed fix based on the severity of the bug when proposing a fix. For example, the proposal unit may provide a detailed fix for a critical bug, or a concise fix for a minor bug. The proposal unit can also adjust the level of detail of the fix in stages according to the severity of the bug. This allows for the provision of more appropriate fixes by adjusting the level of detail based on the severity of the bug. Some or all of the above processing in the proposal unit may be performed using AI, or not. For example, the proposal unit can input the severity of the bug into a generating AI and have the generating AI adjust the level of detail of the fix.
[0096] The proposal unit can apply different proposal algorithms depending on the bug category when proposing a fix. For example, for security-related bugs, the proposal unit can apply a security-specific proposal algorithm. For performance-related bugs, the proposal unit can apply a performance optimization proposal algorithm. For usability-related bugs, the proposal unit can also apply a usability improvement proposal algorithm. By applying different proposal algorithms depending on the bug category, a more appropriate fix can be provided. Some or all of the above processing in the proposal unit may be performed using AI, for example, or without AI. For example, the proposal unit can input the bug category into a generating AI and have the generating AI execute the application of the proposal algorithm.
[0097] The suggestion unit can estimate the user's emotions and adjust the length of the suggested revisions based on the estimated emotions. For example, if the user is stressed, the suggestion unit may present a short, concise revision. If the user is relaxed, for example, the suggestion unit may present a longer revision with detailed explanations. If the user is in a hurry, for example, the suggestion unit may present a short, quickly actionable revision. By adjusting the length of the revisions according to the user's emotions, more appropriate revisions can be provided. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or generative AI. Generative AI may be, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the suggestion unit may be performed using AI or not. For example, the suggestion unit can input user emotion data into a generative AI and have the generative AI adjust the length of the revisions.
[0098] The proposal unit can determine the priority of bug fixes based on when the bug occurred when proposing a fix. For example, the proposal unit will prioritize bug fixes for recently occurring bugs. For example, the proposal unit can lower the priority of bug fixes for bugs that occurred in the past but have not been fixed. The proposal unit can also adjust the priority of bug fixes in stages according to when the bug occurred. This allows for the provision of more appropriate fixes by determining the priority of bug fixes based on when the bug occurred. Some or all of the above processing in the proposal unit may be performed using AI, for example, or without AI. For example, the proposal unit can input the bug occurrence date into a generating AI and have the generating AI perform the determination of the priority of bug fixes.
[0099] The proposal unit can adjust the order of proposed fixes based on the relevance of the bugs when proposing fixes. For example, the proposal unit will prioritize presenting fixes for highly relevant bugs. For example, the proposal unit can postpone presenting fixes for less relevant bugs. The proposal unit can also adjust the order of fixes in stages according to the relevance of the bugs. This allows for the provision of more appropriate fixes by adjusting the order of fixes based on the relevance of the bugs. Some or all of the above processing in the proposal unit may be performed using AI, for example, or without AI. For example, the proposal unit can input the relevance of the bugs into a generating AI and have the generating AI perform the adjustment of the order of fixes.
[0100] The analysis unit can estimate the user's emotions and adjust the criteria for code analysis based on the estimated emotions. For example, if the user is stressed, the analysis unit will focus its analysis on only the important parts. For example, if the user is relaxed, the analysis unit can perform a detailed code analysis. For example, if the user is in a hurry, the analysis unit can also simplify the analysis criteria to provide analysis results quickly. This allows for more appropriate code analysis by adjusting the criteria for code analysis according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or generative AI. Generative AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the analysis unit may be performed using AI or not. For example, the analysis unit can input user emotion data into a generative AI and have the generative AI perform the adjustment of the code analysis criteria.
[0101] The analysis unit can improve the accuracy of its analysis by considering the interrelationships of code during code analysis. For example, the analysis unit can analyze the interrelationships of code and focus its analysis on dependent parts. For example, the analysis unit can identify the scope of impact of a bug by considering the interrelationships of code. For example, the analysis unit can make it easier to identify the cause of a bug based on the interrelationships of code. In this way, the accuracy of the analysis is improved by considering the interrelationships of code. Some or all of the above processes in the analysis unit may be performed using AI, for example, or without AI. For example, the analysis unit can input the interrelationships of code into a generating AI and have the generating AI perform the task of improving the accuracy of the analysis.
[0102] The analysis unit can perform code analysis while considering the attribute information of the code submitter. For example, the analysis unit can adjust the focus of the analysis by considering the code submitter's years of experience. For example, the analysis unit can focus on analyzing specific parts by considering the code submitter's area of expertise. For example, the analysis unit can improve the accuracy of the analysis by referring to the code submitter's past bug history. This improves the accuracy of the analysis by considering the attribute information of the code submitter. Some or all of the above processes in the analysis unit may be performed using AI, for example, or not using AI. For example, the analysis unit can input the attribute information of the code submitter into a generating AI and have the generating AI perform the analysis.
[0103] The analysis unit can estimate the user's emotions and adjust the order in which the analysis results are displayed based on the estimated emotions. For example, if the user is stressed, the analysis unit can prioritize displaying important analysis results. For example, if the user is relaxed, the analysis unit can display detailed analysis results in a sequential manner. For example, if the user is in a hurry, the analysis unit can also display analysis results that should be quickly reviewed first. This allows for the provision of more appropriate information by adjusting the display order of analysis results according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or generative AI. Generative AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the analysis unit may be performed using AI, for example, or not using AI. For example, the analysis unit can input user emotion data into a generative AI and have the generative AI perform the adjustment of the display order of the analysis results.
[0104] The analysis unit can perform code analysis while considering the geographical distribution of the code. For example, the analysis unit can focus its analysis on bugs that are more likely to occur in a particular region based on the geographical distribution of the code. For example, the analysis unit can focus its analysis on code that developers in a particular region have worked on, considering the geographical distribution of the code. For example, the analysis unit can refer to the geographical distribution of the code and analyze bug patterns that frequently occur in a particular region. This improves the accuracy of the analysis by considering the geographical distribution of the code. Some or all of the above processes in the analysis unit may be performed using AI, for example, or without AI. For example, the analysis unit can input the geographical distribution of the code into a generating AI and have the generating AI perform the analysis.
[0105] The analysis unit can improve the accuracy of its analysis by referring to relevant documentation for the code during code analysis. For example, the analysis unit can refer to relevant documentation for the code to identify the cause of a bug. For example, the analysis unit can propose a method for fixing the bug based on the relevant documentation for the code. The analysis unit can also improve the accuracy of its analysis by referring to relevant documentation for the code. This improves the accuracy of the analysis by referring to relevant documentation for the code. Some or all of the above processes in the analysis unit may be performed using AI, for example, or without AI. For example, the analysis unit can input relevant documentation for the code into a generating AI and have the generating AI perform the task of improving the accuracy of the analysis.
[0106] The response unit can estimate the user's emotions and select a programming language based on the estimated emotions. For example, if the user is stressed, the response unit can select a concise and easy-to-understand programming language. If the user is relaxed, the response unit can select a programming language that allows for detailed control. If the user is in a hurry, the response unit can also select a programming language that allows for rapid development. By selecting a programming language according to the user's emotions, a more appropriate response becomes possible. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or generative AI. The generative AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the response unit may be performed using AI, or not using AI. For example, the response unit can input user emotion data into the generative AI and have the generative AI select a programming language.
[0107] The response unit can select the optimal response method by referring to past response history when responding. For example, the response unit can refer to past response history and select the optimal response method for similar bugs. For example, the response unit can select the optimal response method for bugs involving a specific developer based on past response history. For example, the response unit can analyze past response history and select the optimal response method for a specific programming language. In this way, the optimal response method can be selected by referring to past response history. Some or all of the above processing in the response unit may be performed using AI, for example, or without using AI. For example, the response unit can input past response history into a generating AI and have the generating AI perform the selection of the optimal response method.
[0108] The response unit can customize the means of response based on the characteristics of the programming language when responding. For example, the response unit can propose the optimal bug fixing method considering the characteristics of the programming language. For example, the response unit can provide an efficient code modification means based on the characteristics of the programming language. For example, the response unit can also customize the optimal means of response for a specific bug by referring to the characteristics of the programming language. This makes it possible to provide a more appropriate response by customizing the means of response based on the characteristics of the programming language. Some or all of the above processing in the response unit may be performed using AI, for example, or without using AI. For example, the response unit can input the characteristics of the programming language into a generating AI and have the generating AI perform the customization of the means of response.
[0109] The response unit can estimate the user's emotions and determine the priority of responses based on the estimated emotions. For example, if the user is stressed, the response unit will prioritize addressing critical bugs. If the user is relaxed, the response unit can address even minor bugs. If the user is in a hurry, the response unit can also prioritize bugs that require immediate attention. This allows for more appropriate responses by determining the priority of responses according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or generative AI. Generative AI may be, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the response unit may be performed using AI or not. For example, the response unit can input user emotion data into a generative AI and have the generative AI perform the determination of response priorities.
[0110] The response unit can select the optimal response method by considering the geographical location information of the programming language during the response process. For example, the response unit can select the optimal response method for bugs that are likely to occur in a particular region based on the geographical location information of the programming language. For example, the response unit can refer to the geographical location information of the programming language and select the optimal response method for bugs involving developers in a particular region. For example, the response unit can analyze the geographical location information of the programming language and select the optimal response method for bugs that frequently occur in a particular region. In this way, the optimal response method can be selected by considering the geographical location information of the programming language. Some or all of the above processing in the response unit may be performed using AI, for example, or without using AI. For example, the response unit can input the geographical location information of the programming language into a generating AI and have the generating AI perform the selection of the optimal response method.
[0111] The response unit can improve the accuracy of its response by referring to relevant literature on the programming language during the response process. For example, the response unit can identify the cause of a bug by referring to relevant literature on the programming language. For example, the response unit can propose a method for fixing the bug based on relevant literature on the programming language. The response unit can also improve the accuracy of its response by referring to relevant literature on the programming language. As a result, the accuracy of the response is improved by referring to relevant literature on the programming language. Some or all of the above processing in the response unit may be performed using AI, for example, or without using AI. For example, the response unit can input relevant literature on the programming language into a generating AI and have the generating AI perform the task of improving the accuracy of the response.
[0112] The learning unit can estimate the user's emotions and select training data based on the estimated emotions. For example, if the user is stressed, the learning unit can select concise and easy-to-understand training data. For example, if the user is relaxed, the learning unit can select detailed training data. For example, if the user is in a hurry, the learning unit can select training data that allows for rapid learning. This enables more appropriate learning by selecting training data according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or generative AI. Generative AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the learning unit may be performed using AI, for example, or without AI. For example, the learning unit can input user emotion data into a generative AI and have the generative AI perform the selection of training data.
[0113] The learning unit can optimize its learning algorithm by referring to past learning data during the learning process. For example, the learning unit can refer to past learning data and apply the optimal learning algorithm for similar bugs. For example, the learning unit can apply the optimal learning algorithm for bugs involving a specific developer based on past learning data. For example, the learning unit can analyze past learning data and apply the optimal learning algorithm for a specific programming language. This allows the learning algorithm to be optimized by referring to past learning data. Some or all of the above processes in the learning unit may be performed using AI, for example, or without AI. For example, the learning unit can input past learning data into a generating AI and have the generating AI perform the optimization of the learning algorithm.
[0114] The learning unit can estimate the user's emotions and adjust the learning frequency based on the estimated emotions. For example, if the user is stressed, the learning unit can reduce the learning frequency and prioritize only important learning. For example, if the user is relaxed, the learning unit can increase the learning frequency and perform more detailed learning. For example, if the user is in a hurry, the learning unit can also speed up the learning frequency and reflect the learning results immediately. This allows for more appropriate learning by adjusting the learning frequency according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or generative AI. Generative AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the learning unit may be performed using AI or not using AI. For example, the learning unit can input user emotion data into a generative AI and have the generative AI perform the adjustment of the learning frequency.
[0115] The learning unit can weight the training data based on when the bugs occurred during training. For example, the learning unit can give a higher weight to recently occurring bugs. For example, the learning unit can give a lower weight to bugs that occurred in the past but have not been fixed. The learning unit can also adjust the weighting of the training data in stages according to when the bugs occurred. This allows for more appropriate training by weighting the training data based on when the bugs occurred. Some or all of the above processing in the learning unit may be performed using AI, for example, or without AI. For example, the learning unit can input the timing of bug occurrences into a generating AI and have the generating AI perform the weighting of the training data.
[0116] The improvement unit can estimate the user's emotions and adjust the method for improving the bug detection rate based on the estimated user emotions. For example, if the user is stressed, the improvement unit may prioritize improving the detection rate of critical bugs. For example, if the user is relaxed, the improvement unit may improve the detection rate of minor bugs as well. For example, if the user is in a hurry, the improvement unit may prioritize improving the detection rate of bugs that require immediate attention. This allows for more appropriate bug detection by adjusting the method for improving the bug detection rate according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or generative AI. Generative AI may be, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the improvement unit may be performed using AI or not using AI. For example, the improvement unit may input user emotion data into a generative AI and have the generative AI perform the adjustment of the bug detection rate improvement method.
[0117] The improvement unit can select the optimal improvement method by referring to past bug detection data when improving the bug detection rate. For example, the improvement unit can refer to past bug detection data and select the optimal improvement method for similar bugs. For example, the improvement unit can select the optimal improvement method for bugs involving a specific developer based on past bug detection data. For example, the improvement unit can analyze past bug detection data and select the optimal improvement method for a specific programming language. In this way, the optimal method for improving the bug detection rate can be selected by referring to past bug detection data. Some or all of the above processing in the improvement unit may be performed using AI, for example, or without AI. For example, the improvement unit can input past bug detection data into a generating AI and have the generating AI select the optimal improvement method.
[0118] The improvement unit can estimate the user's emotions and determine the priority for improving the bug detection rate based on the estimated emotions. For example, if the user is stressed, the improvement unit will prioritize improving the detection rate of critical bugs. If the user is relaxed, the improvement unit can improve the detection rate of even minor bugs. If the user is in a hurry, the improvement unit can also prioritize improving the detection rate of bugs that require immediate attention. This allows for more appropriate bug detection by determining the priority for improving the bug detection rate according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or generative AI. Generative AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the improvement unit may be performed using AI or not using AI. For example, the improvement unit can input user emotion data into a generative AI and have the generative AI perform the priority determination for improving the bug detection rate.
[0119] The improvement unit can select the optimal improvement method when improving the bug detection rate, taking into account the geographical location information of the bugs. For example, the improvement unit can select the optimal improvement method for bugs that are likely to occur in a particular region based on the geographical location information of the bugs. For example, the improvement unit can refer to the geographical location information of the bugs and select the optimal improvement method for bugs that are involved with developers in a particular region. For example, the improvement unit can analyze the geographical location information of the bugs and select the optimal improvement method for bugs that frequently occur in a particular region. In this way, by taking into account the geographical location information of the bugs, the optimal method for improving the bug detection rate can be selected. Some or all of the above processing in the improvement unit may be performed using AI, for example, or without using AI. For example, the improvement unit can input the geographical location information of the bugs into a generating AI and have the generating AI perform the selection of the optimal improvement method.
[0120] The reduction unit can estimate the user's emotions and adjust the method of reducing code review time based on the estimated user emotions. For example, if the user is stressed, the reduction unit can focus on reviewing only the important parts to reduce time. For example, if the user is relaxed, the reduction unit can conduct a detailed review and take more time to improve quality. For example, if the user is in a hurry, the reduction unit can also conduct a quick review to reduce time. This allows for more appropriate code reviews by adjusting the method of reducing code review time according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or generative AI. Generative AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the reduction unit may be performed using AI or not using AI. For example, the reduction unit can input user emotion data into the generative AI and have the generative AI adjust the method of reducing code review time.
[0121] The reduction unit can select the optimal reduction method by referring to past review history when reducing code review time. For example, the reduction unit can refer to past review history and select the optimal reduction method for similar bugs. For example, the reduction unit can select the optimal reduction method for bugs involving a specific developer based on past review history. For example, the reduction unit can analyze past review history and select the optimal reduction method for a specific programming language. This allows the optimal code review time reduction method to be selected by referring to past review history. Some or all of the above processing in the reduction unit may be performed using AI, for example, or without AI. For example, the reduction unit can input past review history into a generating AI and have the generating AI select the optimal reduction method.
[0122] The reduction unit can estimate the user's emotions and determine the priority of code review time reductions based on the estimated user emotions. For example, if the user is stressed, the reduction unit will prioritize reducing review time on critical parts. If the user is relaxed, the reduction unit can reduce review time on minor parts as well. If the user is in a hurry, the reduction unit can also prioritize reducing review time on parts that require quick review. This allows for more appropriate code reviews by determining the priority of code review time reductions according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or generative AI. Generative AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the reduction unit may be performed using AI or not. For example, the reduction unit can input user emotion data into a generative AI and have the generative AI perform the priority determination of code review time reductions.
[0123] The reduction unit can select the optimal reduction method when reducing code review time, taking into account the geographical location of the review. For example, the reduction unit can select the optimal reduction method for bugs that are likely to occur in a particular region based on the geographical location of the review. For example, the reduction unit can refer to the geographical location of the review and select the optimal reduction method for bugs involving developers in a particular region. For example, the reduction unit can analyze the geographical location of the review and select the optimal reduction method for bugs that frequently occur in a particular region. In this way, by considering the geographical location of the review, the optimal code review time reduction method can be selected. Some or all of the above processing in the reduction unit may be performed using AI, for example, or without AI. For example, the reduction unit can input the geographical location of the review into a generating AI and have the generating AI select the optimal reduction method.
[0124] The abbreviation unit can estimate the user's emotions and adjust the time-to-market (TGM) reduction method based on the estimated user emotions. For example, if the user is stressed, the abbreviation unit can focus on shortening only the essential parts to reduce time. For example, if the user is relaxed, the abbreviation unit can shorten even the detailed parts, taking more time to improve quality. For example, if the user is in a hurry, the abbreviation unit can shorten quickly to reduce time. This allows for a more appropriate TGM reduction method by adjusting the TGM reduction method according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or generative AI. Generative AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the abbreviation unit may be performed using AI or not. For example, the abbreviation unit can input user emotion data into the generative AI and have the generative AI adjust the TGM reduction method.
[0125] The shortening unit can select the optimal shortening method when shortening time to market by referring to past time to market data. For example, the shortening unit can refer to past time to market data and select the optimal shortening method for similar projects. For example, the shortening unit can select the optimal shortening method for projects involving specific developers based on past time to market data. For example, the shortening unit can analyze past time to market data and select the optimal shortening method for a specific programming language. In this way, the optimal time to market shortening method can be selected by referring to past time to market data. Some or all of the above processing in the shortening unit may be performed using AI, for example, or without AI. For example, the shortening unit can input past time to market data into a generating AI and have the generating AI perform the selection of the optimal shortening method.
[0126] The abbreviation unit can estimate the user's emotions and determine priorities for reducing time to market based on the estimated user emotions. For example, if the user is stressed, the abbreviation unit will prioritize reducing the time to market for critical parts. If the user is relaxed, the abbreviation unit can reduce the time to market for minor parts as well. If the user is in a hurry, the abbreviation unit can also prioritize reducing the time to market for parts that need to be brought to market quickly. This allows for more appropriate time to market by determining the priorities for reducing the time to market according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or generative AI. Generative AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the abbreviation unit may be performed using AI or not. For example, the abbreviation unit can input user emotion data into a generative AI and have the generative AI perform the determination of priorities for reducing the time to market.
[0127] The shortening unit can select the optimal shortening method when shortening time to market, taking into account the geographical location of the product launch. For example, the shortening unit can select the optimal shortening method for problems that are likely to occur in a particular region based on the geographical location of the product launch. For example, the shortening unit can refer to the geographical location of the product launch and select the optimal shortening method for projects involving developers in a particular region. For example, the shortening unit can analyze the geographical location of the product launch and select the optimal shortening method for problems that frequently occur in a particular region. In this way, by taking into account the geographical location of the product launch, the optimal method for shortening time to market can be selected. Some or all of the above processing in the shortening unit may be performed using AI, for example, or without AI. For example, the shortening unit can input the geographical location of the product launch into a generating AI and have the generating AI select the optimal shortening method.
[0128] The enhancement unit can estimate the user's emotions and adjust the quality assurance enhancement method based on the estimated user emotions. For example, if the user is stressed, the enhancement unit can prioritize strengthening the quality assurance of critical parts. For example, if the user is relaxed, the enhancement unit can strengthen the quality assurance of even minor parts. For example, if the user is in a hurry, the enhancement unit can prioritize strengthening the quality assurance of parts that require a quick response. This allows for more appropriate quality assurance by adjusting the quality assurance enhancement method according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or generative AI. Generative AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the enhancement unit may be performed using AI, for example, or not using AI. For example, the enhancement unit can input user emotion data into a generative AI and have the generative AI perform the adjustment of the quality assurance enhancement method.
[0129] The enhancement unit can select the optimal enhancement method by referring to past quality assurance data when enhancing quality assurance. For example, the enhancement unit can refer to past quality assurance data to select the optimal enhancement method for similar projects. For example, the enhancement unit can select the optimal enhancement method for projects involving specific developers based on past quality assurance data. For example, the enhancement unit can analyze past quality assurance data to select the optimal enhancement method for a specific programming language. In this way, the optimal quality assurance enhancement method can be selected by referring to past quality assurance data. Some or all of the above processes in the enhancement unit may be performed using AI, for example, or without AI. For example, the enhancement unit can input past quality assurance data into a generating AI and have the generating AI select the optimal enhancement method.
[0130] The enhancement unit can estimate the user's emotions and determine the priority of quality assurance enhancements based on the estimated user emotions. For example, if the user is stressed, the enhancement unit will prioritize quality assurance enhancements to critical areas. For example, if the user is relaxed, the enhancement unit can perform quality assurance enhancements to all areas, including minor ones. For example, if the user is in a hurry, the enhancement unit can also prioritize quality assurance enhancements to areas that require immediate attention. This allows for more appropriate quality assurance by determining the priority of quality assurance enhancements according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or generative AI. Generative AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the enhancement unit may be performed using AI, for example, or not using AI. For example, the enhancement unit can input user emotion data into a generative AI and have the generative AI perform the priority determination of quality assurance enhancements.
[0131] The enhancement unit can select the optimal enhancement method when enhancing quality assurance, taking into account the geographical location information of the quality. For example, the enhancement unit can select the optimal enhancement method for problems that are likely to occur in a particular region based on the geographical location information of the quality. For example, the enhancement unit can refer to the geographical location information of the quality and select the optimal enhancement method for projects involving developers in a particular region. For example, the enhancement unit can analyze the geographical location information of the quality and select the optimal enhancement method for problems that frequently occur in a particular region. In this way, the optimal quality assurance enhancement method can be selected by taking into account the geographical location information of the quality. Some or all of the above processes in the enhancement unit may be performed using AI, for example, or without using AI. For example, the enhancement unit can input the geographical location information of the quality into a generating AI and have the generating AI perform the selection of the optimal enhancement method.
[0132] The system according to the embodiment is not limited to the example described above, and various modifications are possible, for example, as follows.
[0133] The detection unit can estimate the user's emotions and adjust the timing of bug detection based on those emotions. For example, if the user is stressed, the frequency of bug detection can be reduced, prioritizing the detection of only critical bugs. Conversely, if the user is relaxed, the frequency of bug detection can be increased, providing more detailed bug information. Furthermore, if the user is in a hurry, bug detection can be performed quickly, and corrective measures can be immediately suggested. By adjusting the timing of bug detection according to the user's emotions, more appropriate bug detection becomes possible.
[0134] The learning unit can estimate the user's emotions and select training data based on those emotions. For example, if the user is stressed, it can select concise and easy-to-understand training data. If the user is relaxed, it can select detailed training data. Furthermore, if the user is in a hurry, it can select training data that allows for rapid learning. By selecting training data according to the user's emotions, more appropriate learning becomes possible.
[0135] The improvement unit can estimate the user's emotions and adjust the bug detection rate improvement method based on the estimated emotions. For example, if the user is stressed, the detection rate of critical bugs can be prioritized. If the user is relaxed, the detection rate of minor bugs can also be improved. Furthermore, if the user is in a hurry, the detection rate of bugs that require immediate attention can be prioritized. In this way, by adjusting the bug detection rate improvement method according to the user's emotions, more appropriate bug detection becomes possible.
[0136] The proposal team can estimate the user's emotions and adjust the way the proposed revisions are presented based on those emotions. For example, if the user is stressed, a simple and easy-to-understand revision can be presented. If the user is relaxed, a revision with detailed explanations can be presented. Furthermore, if the user is in a hurry, a revision that can be quickly implemented can be presented. In this way, by adjusting the presentation of revisions according to the user's emotions, more appropriate revisions can be provided.
[0137] The analysis unit can estimate the user's emotions and adjust the code analysis criteria based on those estimated emotions. For example, if the user is stressed, the analysis can focus on only the most important parts. Conversely, if the user is relaxed, a more detailed code analysis can be performed. Furthermore, if the user is in a hurry, the analysis criteria can be simplified to provide results quickly. By adjusting the code analysis criteria according to the user's emotions, more appropriate code analysis becomes possible.
[0138] The detection unit can analyze past bug detection history and select the optimal detection method. For example, it can identify frequently occurring bug patterns from past bug detection history and prioritize their detection. It can also predict bugs that are likely to occur during specific time periods based on past bug detection history and adjust the detection method accordingly. Furthermore, by analyzing past bug detection history, it can focus bug detection on code that specific developers have worked on. In this way, the optimal bug detection method can be selected by analyzing past bug detection history.
[0139] The proposal team can adjust the level of detail in their proposed fixes based on the severity of the bug. For example, they can provide detailed fixes for critical bugs, and concise fixes for minor bugs. Furthermore, they can adjust the level of detail in the fixes in stages according to the severity of the bug. This allows them to provide more appropriate fixes by adjusting the level of detail based on the severity of the bug.
[0140] The analysis department can improve the accuracy of code analysis by considering the interrelationships between code elements. For example, it can analyze the interrelationships of code and focus on analyzing dependent parts. It can also identify the scope of impact of bugs by considering the interrelationships of code. Furthermore, it can make it easier to identify the cause of bugs based on the interrelationships of code. In this way, considering the interrelationships of code improves the accuracy of the analysis.
[0141] The support unit can select the optimal support method by referring to past support history when addressing a bug. For example, it can select the optimal support method for similar bugs by referring to past support history. It can also select the optimal support method for bugs involving a specific developer based on past support history. Furthermore, it can analyze past support history to select the optimal support method for a specific programming language. In this way, the optimal support method can be selected by referring to past support history.
[0142] The learning unit can optimize its learning algorithm by referring to past learning data during the learning process. For example, it can refer to past learning data and apply the optimal learning algorithm for similar bugs. It can also apply the optimal learning algorithm to bugs involving specific developers based on past learning data. Furthermore, it can analyze past learning data and apply the optimal learning algorithm for a specific programming language. This allows for the optimization of the learning algorithm by referring to past learning data.
[0143] The following briefly describes the processing flow for example form 2.
[0144] Step 1: The detection unit detects bugs. For example, it can automatically detect bugs in the code using AI. The detection unit can perform static analysis to detect errors in the code's structure and syntax. It can also perform dynamic analysis to detect bugs at runtime. Step 2: The proposal unit proposes a fix based on the bugs detected by the detection unit. For example, it can use AI to generate the optimal fix. The proposal unit can refer to past fix history and propose fixes for similar bugs. It can also determine the priority of fixes based on the type and impact of the bug. Step 3: The analysis department analyzes the code in real time based on the proposed fixes submitted by the proposal department. For example, it uses AI to simulate the code after the fixes are applied. The analysis department can evaluate the performance impact of applying the fixes. It can also evaluate the security risks associated with applying the fixes. Step 4: The support unit supports multiple programming languages based on the code analyzed by the analysis unit. For example, it supports multiple programming languages such as Java, Python, and C++. The support unit can generate modification suggestions specific to each programming language. It can also perform code conversion between different programming languages.
[0145] 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 audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating 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 audio data.
[0146] Data generation model 58 is a form of so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> Examples of generative AI include text generation AI, image generation AI, and multimodal generation AI. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images (e.g., still image data or video data). The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference result in one or more data formats from audio data, text data, and image data. The data generation model 58 includes, for example, text generation AI, image generation AI, and multimodal generation AI. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specific processing unit 290 performs the specific processing described above using the data generation model 58. The data generation model 58 may be a fine-tuned model that outputs inference results from prompts that do not contain instructions, in which case the data generation model 58 can output inference results from prompts that do not contain instructions. In the data processing device 12, etc., there are multiple types of data generation models 58, and the data generation model 58 includes AI other than generative AI. AI other than generative AI includes, for example, linear regression, logistic regression, decision trees, random forests, support vector machines (SVMs), k-means clustering, convolutional neural networks (CNNs), recurrent neural networks (RNNs), generative adversarial networks (GANs), or naive Bayes, and can perform various processes, but is not limited to these examples. Also, the AI may be an AI agent. Furthermore, when the processing of each of the above parts is performed by the AI, the processing may be performed by the AI in part or in whole, but is not limited to this example.Furthermore, processing performed by AI, including generative AI, may be replaced with rule-based processing, and rule-based processing may be replaced with processing performed by AI, including generative AI.
[0147] Furthermore, the processing performed by the data processing system 10 described above is carried out by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the smart device 14, but it may also be carried out by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the smart device 14. In addition, the specific processing unit 290 of the data processing device 12 acquires or collects information necessary for processing from the smart device 14 or an external device, and the smart device 14 acquires or collects information necessary for processing from the data processing device 12 or an external device.
[0148] Each of the multiple elements described above, including the detection unit, proposal unit, analysis unit, response unit, learning unit, improvement unit, reduction unit, shortening unit, and enhancement unit, is implemented in at least one of the smart device 14 and the data processing unit 12. For example, the detection unit is implemented by the control unit 46A of the smart device 14 and automatically detects bugs in the code. The proposal unit is implemented by the specific processing unit 290 of the data processing unit 12 and generates the optimal correction proposal. The analysis unit is implemented by the control unit 46A of the smart device 14 and analyzes the code in real time after applying the correction proposal. The response unit is implemented by the specific processing unit 290 of the data processing unit 12 and supports multiple programming languages. The learning unit is implemented by the specific processing unit 290 of the data processing unit 12 and learns bug patterns using deep learning. The improvement unit is implemented by the control unit 46A of the smart device 14 and aims to improve the bug detection rate. The reduction unit is implemented by the specific processing unit 290 of the data processing unit 12 and reduces code review time. The shortening function is implemented, for example, by the control unit 46A of the smart device 14, thereby reducing the time to market. The enhancement function is implemented, for example, by the specific processing unit 290 of the data processing device 12, thereby strengthening quality assurance. The correspondence between each function and the devices and control units is not limited to the examples described above, and various modifications are possible.
[0149] [Second Embodiment] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0150] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0151] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN and / or LAN.
[0152] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0153] The microphone 238 receives voice commands and other instructions from the user by receiving voice signals. The microphone 238 captures the voice signals from the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0154] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, which captures images of the area around the user (for example, an imaging range defined by a field of view equivalent to the field of vision of a typical healthy person).
[0155] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0156] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing by the processor 28. The storage 32 stores the specific processing program 56.
[0157] The processor 28 reads a 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 acting as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.
[0158] Storage 32 stores the data generation model 58 and the 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 user's emotions using the emotion identification model 59 and perform identification processing using the user's emotions. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotions, including but not limited to these examples. Furthermore, emotion estimation and prediction also include, for example, emotion analysis.
[0159] In the smart glasses 214, 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 acting as a control unit 46A according to the specific processing program 60 executed on the RAM 48. The smart glasses 214 also have a data generation model 58 and an emotion identification model 59, similar to the data generation model and emotion identification model 59, and can perform processing similar to that of the specific processing unit 290 using these models.
[0160] Furthermore, other devices besides the data processing device 12 may also 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 processing results (such as prediction results) using the data generation model 58 by communicating with the server device that has the data generation model 58. Also, the data processing device 12 may be a server device or a terminal device owned by the user (for example, a mobile phone, robot, home appliance, etc.).
[0161] 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 audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0162] The data generation model 58 is a so-called generative AI. An example of a 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. The data generation model 58 is input with prompts containing instructions, and inference data such as audio data representing speech, text data representing text, and image data representing images (e.g., still image data or video data). The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference result in one or more data formats such as audio data, text data, and image data. The data generation model 58 includes, for example, text generation AI, image generation AI, and multimodal generation AI. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specific processing unit 290 performs the specific processing described above using the data generation model 58. The data generation model 58 may be a fine-tuned model that outputs inference results from prompts that do not contain instructions, in which case the data generation model 58 can output inference results from prompts that do not contain instructions. In the data processing device 12, etc., there are multiple types of data generation models 58, and the data generation model 58 includes AI other than generative AI. AI other than generative AI includes, for example, linear regression, logistic regression, decision trees, random forests, support vector machines (SVM), k-means clustering, convolutional neural networks (CNN), recurrent neural networks (RNN), generative adversarial networks (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. Also, the AI may be an AI agent. Furthermore, when the processing of each part described above is performed by the AI, the processing may be performed by the AI in part or in whole, but is not limited to this example. Also, processing performed by an AI including a generative AI may be replaced by rule-based processing, and rule-based processing may be replaced by processing performed by an AI including a generative AI.
[0163] 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 performed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the smart glasses 214, but it may also be performed 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 necessary for processing from the smart glasses 214 or an external device, and the smart glasses 214 acquires or collects information necessary for processing from the data processing device 12 or an external device.
[0164] Each of the multiple elements described above, including the detection unit, proposal unit, analysis unit, response unit, learning unit, improvement unit, reduction unit, shortening unit, and enhancement unit, is implemented in at least one of the smart glasses 214 and the data processing unit 12. For example, the detection unit is implemented by the control unit 46A of the smart glasses 214 and automatically detects bugs in the code. The proposal unit is implemented by the specific processing unit 290 of the data processing unit 12 and generates the optimal correction proposal. The analysis unit is implemented by the control unit 46A of the smart glasses 214 and analyzes the code in real time after applying the correction proposal. The response unit is implemented by the specific processing unit 290 of the data processing unit 12 and supports multiple programming languages. The learning unit is implemented by the specific processing unit 290 of the data processing unit 12 and learns bug patterns using deep learning. The improvement unit is implemented by the control unit 46A of the smart glasses 214 and aims to improve the bug detection rate. The reduction function is implemented, for example, by the specific processing unit 290 of the data processing device 12, and reduces code review time. The shortening function is implemented, for example, by the control unit 46A of the smart glasses 214, and shortens the time to market. The enhancement function is implemented, for example, by the specific processing unit 290 of the data processing device 12, and enhances quality assurance. The correspondence between each function and the devices and control units is not limited to the examples described above, and various changes are possible.
[0165] [Third Embodiment] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0166] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0167] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN and / or LAN.
[0168] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[0169] The microphone 238 receives voice commands and other instructions from the user by receiving voice signals. The microphone 238 captures the voice signals from the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0170] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, which captures images of the area around the user (for example, an imaging range defined by a field of view equivalent to the field of vision of a typical healthy person).
[0171] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0172] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0173] The processor 28 reads a 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 acting as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.
[0174] Storage 32 stores the data generation model 58 and the 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 user's emotions using the emotion identification model 59 and perform identification processing using the user's emotions. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotions, including but not limited to these examples. Furthermore, emotion estimation and prediction also include, for example, emotion analysis.
[0175] In the headset terminal 314, 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 acting as a control unit 46A according to the specific program 60 executed on the RAM 48. The headset terminal 314 also has a data generation model 58 and an emotion identification model 59, similar to the data generation model and emotion identification model 59, and can perform processing similar to that of the specific processing unit 290 using these models.
[0176] Furthermore, other devices besides the data processing device 12 may also 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 processing results (such as prediction results) using the data generation model 58 by communicating with the server device that has the data generation model 58. Also, the data processing device 12 may be a server device or a terminal device owned by the user (for example, a mobile phone, robot, home appliance, etc.).
[0177] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0178] The data generation model 58 is a so-called generative AI. An example of a 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. The data generation model 58 is input with prompts containing instructions, and inference data such as audio data representing speech, text data representing text, and image data representing images (e.g., still image data or video data). The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference result in one or more data formats such as audio data, text data, and image data. The data generation model 58 includes, for example, text generation AI, image generation AI, and multimodal generation AI. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specific processing unit 290 performs the specific processing described above using the data generation model 58. The data generation model 58 may be a fine-tuned model that outputs inference results from prompts that do not contain instructions, in which case the data generation model 58 can output inference results from prompts that do not contain instructions. In the data processing device 12, etc., there are multiple types of data generation models 58, and the data generation model 58 includes AI other than generative AI. AI other than generative AI includes, for example, linear regression, logistic regression, decision trees, random forests, support vector machines (SVM), k-means clustering, convolutional neural networks (CNN), recurrent neural networks (RNN), generative adversarial networks (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. Also, the AI may be an AI agent. Furthermore, when the processing of each part described above is performed by the AI, the processing may be performed by the AI in part or in whole, but is not limited to this example. Also, processing performed by an AI including a generative AI may be replaced by rule-based processing, and rule-based processing may be replaced by processing performed by an AI including a generative AI.
[0179] 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 performed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the headset terminal 314, but may also be performed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the headset terminal 314. In addition, the specific processing unit 290 of the data processing device 12 acquires or collects information necessary for processing from the headset terminal 314 or an external device, and the headset terminal 314 acquires or collects information necessary for processing from the data processing device 12 or an external device.
[0180] Each of the multiple elements described above, including the detection unit, proposal unit, analysis unit, response unit, learning unit, improvement unit, reduction unit, shortening unit, and enhancement unit, is implemented in at least one of the headset terminal 314 and the data processing unit 12. For example, the detection unit is implemented by the control unit 46A of the headset terminal 314 and automatically detects bugs in the code. The proposal unit is implemented by the specific processing unit 290 of the data processing unit 12 and generates the optimal correction proposal. The analysis unit is implemented by the control unit 46A of the headset terminal 314 and analyzes the code in real time after applying the correction proposal. The response unit is implemented by the specific processing unit 290 of the data processing unit 12 and supports multiple programming languages. The learning unit is implemented by the specific processing unit 290 of the data processing unit 12 and learns bug patterns using deep learning. The improvement unit is implemented by the control unit 46A of the headset terminal 314 and aims to improve the bug detection rate. The reduction function is implemented, for example, by the specific processing unit 290 of the data processing device 12, and reduces code review time. The shortening function is implemented, for example, by the control unit 46A of the headset terminal 314, and shortens the time to market. The enhancement function is implemented, for example, by the specific processing unit 290 of the data processing device 12, and enhances quality assurance. The correspondence between each function and the devices and control units is not limited to the examples described above, and various changes are possible.
[0181] [Fourth Embodiment] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[0182] As shown in Figure 7, the 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.
[0183] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN and / or LAN.
[0184] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[0185] The microphone 238 receives voice commands and other instructions from the user by receiving voice signals. The microphone 238 captures the voice signals from the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0186] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS image sensor or CCD image sensor, which captures images of the area around the user (for example, an imaging range defined by a field of view equivalent to the field of vision of a typical healthy person).
[0187] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0188] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the robot 414's emotions can be expressed by controlling these motors. The robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[0189] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0190] The processor 28 reads a 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 acting as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.
[0191] Storage 32 stores the data generation model 58 and the 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 user's emotions using the emotion identification model 59 and perform identification processing using the user's emotions. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotions, including but not limited to these examples. Furthermore, emotion estimation and prediction also include, for example, emotion analysis.
[0192] In robot 414, specific processing is performed by processor 46. A specific program 60 is stored in storage 50. Processor 46 reads the specific program 60 from storage 50 and executes it on RAM 48. The specific processing is achieved by processor 46 acting as a control unit 46A according to the specific program 60 executed on RAM 48. Robot 414 also has data generation model 58 and emotion identification model 59, similar to those of the robot, and can perform processing similar to that of the specific processing unit 290 using these models.
[0193] Furthermore, other devices besides the data processing device 12 may also 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 processing results (such as prediction results) using the data generation model 58 by communicating with the server device that has the data generation model 58. Also, the data processing device 12 may be a server device or a terminal device owned by the user (for example, a mobile phone, robot, home appliance, etc.).
[0194] 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 controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0195] The data generation model 58 is a so-called generative AI. An example of a 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. The data generation model 58 is input with prompts containing instructions, and inference data such as audio data representing speech, text data representing text, and image data representing images (e.g., still image data or video data). The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference result in one or more data formats such as audio data, text data, and image data. The data generation model 58 includes, for example, text generation AI, image generation AI, and multimodal generation AI. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specific processing unit 290 performs the specific processing described above using the data generation model 58. The data generation model 58 may be a fine-tuned model that outputs inference results from prompts that do not contain instructions, in which case the data generation model 58 can output inference results from prompts that do not contain instructions. In the data processing device 12, etc., there are multiple types of data generation models 58, and the data generation model 58 includes AI other than generative AI. AI other than generative AI includes, for example, linear regression, logistic regression, decision trees, random forests, support vector machines (SVM), k-means clustering, convolutional neural networks (CNN), recurrent neural networks (RNN), generative adversarial networks (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. Also, the AI may be an AI agent. Furthermore, when the processing of each part described above is performed by the AI, the processing may be performed by the AI in part or in whole, but is not limited to this example. Also, processing performed by an AI including a generative AI may be replaced by rule-based processing, and rule-based processing may be replaced by processing performed by an AI including a generative AI.
[0196] 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 performed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the robot 414, but it may also be performed 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 necessary for processing from the robot 414 or an external device, and the robot 414 acquires or collects information necessary for processing from the data processing device 12 or an external device.
[0197] Each of the multiple elements described above, including the detection unit, proposal unit, analysis unit, response unit, learning unit, improvement unit, reduction unit, shortening unit, and enhancement unit, is implemented in at least one of the robot 414 and the data processing unit 12. For example, the detection unit is implemented by the control unit 46A of the robot 414 and automatically detects bugs in the code. The proposal unit is implemented by the specific processing unit 290 of the data processing unit 12 and generates the optimal correction proposal. The analysis unit is implemented by the control unit 46A of the robot 414 and analyzes the code after applying the correction proposal in real time. The response unit is implemented by the specific processing unit 290 of the data processing unit 12 and supports multiple programming languages. The learning unit is implemented by the specific processing unit 290 of the data processing unit 12 and learns bug patterns using deep learning. The improvement unit is implemented by the control unit 46A of the robot 414 and aims to improve the bug detection rate. The reduction unit is implemented by the specific processing unit 290 of the data processing unit 12 and reduces code review time. The shortening function is implemented, for example, by the control unit 46A of the robot 414, thereby reducing the time to market. The strengthening function is implemented, for example, by the specific processing unit 290 of the data processing device 12, thereby enhancing quality assurance. The correspondence between each part and the device or control unit is not limited to the examples described above, and various modifications are possible.
[0198] Furthermore, the emotion identification model 59, acting as an emotion engine, may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[0199] Figure 9 shows the emotion map 400, in 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 the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[0200] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[0201] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[0202] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, and motorcycles, emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated based, for example, on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[0203] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it 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 emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[0204] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[0205] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing method for the specific process may be used, which includes computer 22 and multiple other computers.
[0206] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[0207] Alternatively, 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 in response to a request from the data processing device 12.
[0208] Furthermore, it is not necessary to store the entirety 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 the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[0209] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[0210] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of 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). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[0211] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[0212] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[0213] Furthermore, although the above-described examples were divided into four embodiments, some or all of these embodiments may be combined. Also, the smart device 14, smart glasses 214, headset terminal 314, and robot 414 are just examples, and they may be combined, or other devices may be used. Also, although the above-described examples were divided into two embodiments, Embodiment 1 and Embodiment 2, these may be combined.
[0214] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and other things that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[0215] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.
[0216] (Note 1) A bug detection unit, A proposal unit that proposes a correction based on the bug detected by the detection unit, An analysis unit analyzes the code in real time based on the proposed modifications submitted by the aforementioned proposal unit, The system includes a correspondence unit that corresponds to multiple programming languages based on the code analyzed by the aforementioned analysis unit. A system characterized by the following features. (Note 2) It includes a learning unit that performs bug pattern learning using deep learning. The system described in Appendix 1, characterized by the features described herein. (Note 3) It is equipped with an improved section to enhance the bug detection rate. The system described in Appendix 1, characterized by the features described herein. (Note 4) It includes a reduction unit that reduces code review time. The system described in Appendix 1, characterized by the features described herein. (Note 5) It features a shortening mechanism to reduce the time to market. The system described in Appendix 1, characterized by the features described herein. (Note 6) It includes a cost reduction unit to reduce development costs. The system described in Appendix 1, characterized by the features described herein. (Note 7) It is equipped with an improvement section to increase development speed. The system described in Appendix 1, characterized by the features described herein. (Note 8) It is equipped with a reinforced section to strengthen quality assurance. The system described in Appendix 1, characterized by the features described herein. (Note 9) The detection unit is We estimate user sentiment and adjust the timing of bug detection based on the estimated user sentiment. The system described in Appendix 1, characterized by the features described herein. (Note 10) The detection unit is Analyze past bug detection history and select the optimal detection method. The system described in Appendix 1, characterized by the features described herein. (Note 11) The detection unit is When detecting a bug, filter the results based on the code's change history. The system described in Appendix 1, characterized by the features described herein. (Note 12) The detection unit is It estimates user sentiment and determines the priority of bugs to detect based on the estimated user sentiment. The system described in Appendix 1, characterized by the features described herein. (Note 13) The detection unit is When detecting bugs, the system prioritizes detecting highly relevant bugs by considering the geographical location of the code. The system described in Appendix 1, characterized by the features described herein. (Note 14) The detection unit is When detecting a bug, the code's social media activity is analyzed to identify related bugs. The system described in Appendix 1, characterized by the features described herein. (Note 15) The aforementioned proposal section is, The system estimates the user's emotions and adjusts the way the proposed revisions are presented based on those estimated emotions. The system described in Appendix 1, characterized by the features described herein. (Note 16) The aforementioned proposal section is, When proposing a fix, adjust the level of detail in the fix based on the severity of the bug. The system described in Appendix 1, characterized by the features described herein. (Note 17) The aforementioned proposal section is, When proposing a fix, different proposal algorithms are applied depending on the bug category. The system described in Appendix 1, characterized by the features described herein. (Note 18) The aforementioned proposal section is, The system estimates the user's emotions and adjusts the length of the proposed revisions based on those emotions. The system described in Appendix 1, characterized by the features described herein. (Note 19) The aforementioned proposal section is, When proposing a fix, prioritize the fix based on when the bug occurred. The system described in Appendix 1, characterized by the features described herein. (Note 20) The aforementioned proposal section is, When proposing a fix, adjust the order of the fixes based on the relevance of the bugs. The system described in Appendix 1, characterized by the features described herein. (Note 21) The aforementioned analysis unit is We estimate user sentiment and adjust the criteria for code analysis based on the estimated user sentiment. The system described in Appendix 1, characterized by the features described herein. (Note 22) The aforementioned analysis unit is When analyzing code, consider the interrelationships between code elements to improve the accuracy of the analysis. The system described in Appendix 1, characterized by the features described herein. (Note 23) The aforementioned analysis unit is When analyzing code, the analysis should take into account the attribute information of the code submitter. The system described in Appendix 1, characterized by the features described herein. (Note 24) The aforementioned analysis unit is It estimates the user's emotions and adjusts the order in which the analysis results are displayed based on the estimated user emotions. The system described in Appendix 1, characterized by the features described herein. (Note 25) The aforementioned analysis unit is When analyzing code, consider the geographical distribution of the code. The system described in Appendix 1, characterized by the features described herein. (Note 26) The aforementioned analysis unit is When analyzing code, referencing relevant literature can improve the accuracy of the analysis. The system described in Appendix 1, characterized by the features described herein. (Note 27) The corresponding part is, The system estimates the user's emotions and selects a programming language to respond to those emotions. The system described in Appendix 1, characterized by the features described herein. (Note 28) The corresponding part is, When responding to an issue, refer to past response history to select the most appropriate response method. The system described in Appendix 1, characterized by the features described herein. (Note 29) The corresponding part is, When addressing an issue, customize the response method based on the characteristics of the programming language. The system described in Appendix 1, characterized by the features described herein. (Note 30) The corresponding part is, It estimates the user's emotions and determines the priority of responses based on the estimated user emotions. The system described in Appendix 1, characterized by the features described herein. (Note 31) The corresponding part is, When addressing an issue, the optimal solution is selected by considering the geographical location information of the programming language. The system described in Appendix 1, characterized by the features described herein. (Note 32) The corresponding part is, When addressing issues, we refer to relevant literature on programming languages to improve the accuracy of our responses. The system described in Appendix 1, characterized by the features described herein. (Note 33) The aforementioned learning unit, The system estimates the user's emotions and selects training data based on those estimated emotions. The system described in Appendix 2, characterized by the features described herein. (Note 34) The aforementioned learning unit, During training, the learning algorithm is optimized by referring to past training data. The system described in Appendix 2, characterized by the features described herein. (Note 35) The aforementioned learning unit, It estimates the user's emotions and adjusts the learning frequency based on the estimated user emotions. The system described in Appendix 2, characterized by the features described herein. (Note 36) The aforementioned learning unit, During training, the training data is weighted based on when the bug occurred. The system described in Appendix 2, characterized by the features described herein. (Note 37) The aforementioned improvement section is, We estimate user sentiment and adjust how we improve bug detection rates based on that estimated sentiment. The system described in Appendix 3, characterized by the features described herein. (Note 38) The aforementioned improvement section is, When improving the bug detection rate, past bug detection data is referenced to select the optimal improvement method. The system described in Appendix 3, characterized by the features described herein. (Note 39) The aforementioned improvement section is, The system estimates user sentiment and prioritizes bug detection rate improvements based on the estimated user sentiment. The system described in Appendix 3, characterized by the features described herein. (Note 40) The aforementioned improvement section is, When improving bug detection rates, the optimal improvement method is selected by considering the geographical location of the bugs. The system described in Appendix 3, characterized by the features described herein. (Note 41) The reduction unit is, We estimate user sentiment and adjust how code review time is reduced based on the estimated user sentiment. The system described in Appendix 1, characterized by the features described herein. (Note 42) The reduction unit is, When reducing code review time, refer to past review history to select the most effective reduction method. The system described in Appendix 1, characterized by the features described herein. (Note 43) The reduction unit is, It estimates user sentiment and prioritizes code review time reductions based on the estimated user sentiment. The system described in Appendix 1, characterized by the features described herein. (Note 44) The reduction unit is, When reducing code review time, consider the geographical location of the review to select the most effective reduction method. The system described in Appendix 1, characterized by the features described herein. (Note 45) The shortened portion is, We estimate user sentiment and adjust time-to-market strategies based on that estimated sentiment. The system described in Appendix 1, characterized by the features described herein. (Note 46) The shortened portion is, When shortening time to market, the optimal method for shortening time is selected by referring to past time to market data. The system described in Appendix 1, characterized by the features described herein. (Note 47) The shortened portion is, We estimate user sentiment and determine priority for reducing time to market based on the estimated user sentiment. The system described in Appendix 1, characterized by the features described herein. (Note 48) The shortened portion is, When shortening time to market, the optimal method for shortening time is selected by considering the geographical location of the launch. The system described in Appendix 1, characterized by the features described herein. (Note 49) The aforementioned reinforced section is We estimate user sentiment and adjust quality assurance enhancements based on the estimated user sentiment. The system described in Appendix 1, characterized by the features described herein. (Note 50) The aforementioned reinforced section is When strengthening quality assurance, refer to past quality assurance data to select the optimal strengthening method. The system described in Appendix 1, characterized by the features described herein. (Note 51) The aforementioned reinforced section is Estimate the user's emotion and determine the priority of quality assurance enhancement based on the estimated user emotion The system according to Supplementary Note 1, characterized by the above (Supplementary Note 52) The enhancement unit When enhancing quality assurance, select an optimal enhancement method considering the geographical location information of quality The system according to Supplementary Note 1, characterized by the above
Explanation of reference numerals
[0217] 10, 210, 310, 410 Data processing system 12 Data processing device 14 Smart device 214 Smart glasses 314 Headset-type terminal 414 Robot
Claims
1. A bug detection unit, A proposal unit that proposes a correction based on the bug detected by the detection unit, An analysis unit analyzes the code in real time based on the proposed modifications submitted by the aforementioned proposal unit, The system includes a correspondence unit that corresponds to multiple programming languages based on the code analyzed by the aforementioned analysis unit. A system characterized by the following features.
2. It includes a learning unit that performs bug pattern learning using deep learning. The system according to feature 1.
3. It is equipped with an improved section to enhance the bug detection rate. The system according to feature 1.
4. It includes a reduction unit that reduces code review time. The system according to feature 1.
5. It features a shortening mechanism to reduce the time to market. The system according to feature 1.
6. It includes a cost reduction unit to reduce development costs. The system according to feature 1.
7. It is equipped with an improvement section to increase development speed. The system according to feature 1.
8. It is equipped with a reinforced section to strengthen quality assurance. The system according to feature 1.
9. The detection unit is We estimate user sentiment and adjust the timing of bug detection based on the estimated user sentiment. The system according to feature 1.
10. The detection unit is Analyze past bug detection history and select the optimal detection method. The system according to feature 1.