System

The system uses generative AI for automated version control, enhancing efficiency and productivity by analyzing code, generating appropriate histories, detecting confidential information, and identifying test omissions, thus improving developer focus and quality.

JP2026018561APending Publication Date: 2026-02-05SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024119883
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-25
Publication Date
2026-02-05

AI Technical Summary

Technical Problem

Conventional technologies do not sufficiently improve the efficiency of version control and developer productivity.

Method used

A system utilizing generative AI for code analysis, history generation, confidential information detection, and test omission detection to automate version control, including a code analysis unit, history generation unit, and test omission detection unit to analyze code, understand intent, generate appropriate histories, detect confidential information, and identify test omissions.

Benefits of technology

Improves the efficiency of version management and developer productivity by reducing the burden on developers, enabling them to focus on adding and modifying code, while ensuring high-quality features and security through automated detection of confidential information and test omissions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026018561000001_ABST
    Figure 2026018561000001_ABST
Patent Text Reader

Abstract

An object of a system according to an embodiment is to improve the efficiency of version management and improve the productivity of a developer.SOLUTION: A system includes a code analysis unit, a history generation unit, a secret information detection unit, and a test omission detection unit. The code analysis unit analyzes the code added by the developer. The history generation unit understands the intention of the code analyzed by the code analysis unit and automatically generates an appropriate history. The secret information detection unit detects mixing of secret information at the timing of the history generated by the history generation unit. The test omission detection unit detects an addition omission of the unit test at a timing of the history generated by the history generation unit.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The technology of the present disclosure relates to a system. [Background technology]

[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]

[0004] Conventional technologies do not sufficiently improve the efficiency of version control, and there is room for improvement in improving developer productivity.

[0005] The system according to the embodiment aims to improve the efficiency of version management and the productivity of developers. [Means for solving the problem]

[0006] The system according to the embodiment includes a code analysis unit, a history generation unit, a confidential information detection unit, and a test omission detection unit. The code analysis unit analyzes code added by a developer. The history generation unit understands the intent of the code analyzed by the code analysis unit and automatically generates an appropriate history. The confidential information detection unit detects the inclusion of confidential information at the timing of the history generated by the history generation unit. The test omission detection unit detects the omission of additional unit tests at the timing of the history generated by the history generation unit. [Effects of the Invention]

[0007] The system according to the embodiment can improve the efficiency of version management and the productivity of developers. [Brief explanation of the drawings]

[0008] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10]1 shows an emotion map onto which multiple emotions are mapped. DETAILED DESCRIPTION OF THE INVENTION

[0009] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.

[0010] First, the terms used in the following description will be explained.

[0011] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, the processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), or a TPU (Tensor Processing Unit).

[0012] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.

[0013] In the following embodiments, the coded storage is one or more nonvolatile storage devices that store various programs, various parameters, etc. Examples of nonvolatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.

[0014] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), and Bluetooth (registered trademark).

[0015] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."

[0016] [First embodiment] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.

[0017] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.

[0018] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0019] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.

[0020] The reception device 38 includes a touch panel 38A and a microphone 38B, and receives user input. The touch panel 38A detects contact with a pointer (for example, a pen or a finger) to receive user input by the touch of the pointer. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 (see FIG. 2) acquires the data indicating the user input.

[0021] Output device 40 includes a display 40A and a speaker 40B, and presents data to a user by outputting the data in a form of expression that the user can perceive (e.g., audio and / or text). Display 40A displays visible information such as text and images in accordance with instructions from processor 46. Speaker 40B outputs audio in accordance with instructions from processor 46. Camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0022] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.

[0023] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.

[0024] 2, in the data processing device 12, a specific process 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" according to the technology of the present 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 process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0025] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.

[0026] In the smart device 14, the specific processing is performed by the processor 46. The storage 50 stores a specific processing program 60. The specific processing program 60 is used together with the specific processing program 56 by the data processing system 10. The processor 46 reads the specific processing program 60 from the storage 50 and executes the read specific processing program 60 on the RAM 48. The specific processing is realized by the processor 46 operating as the control unit 46A in accordance with the specific processing program 60 executed on the RAM 48. Note that the smart device 14 may have a data generation model and an emotion identification model similar to the data generation model 58 and the emotion identification model 59.

[0027] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device (e.g., a generation server) may have the data generation model 58. In this case, the data processing device 12 obtains a processing result (prediction result, etc.) using the data generation model 58 by communicating with the server device having the data generation model 58. Furthermore, the data processing device 12 may be a server device, or may be a terminal device owned by a user (e.g., a mobile phone, a robot, a home appliance, etc.). Next, an example of processing by the data processing system 10 according to the first embodiment will be described.

[0028] (Example 1) The version control system according to the embodiment of the present invention automates version control using generative AI, significantly improving the efficiency of the development flow. This allows developers to focus on adding and modifying code, improving productivity and quickly providing high-quality features to users.

[0029] A version control system according to an embodiment includes a code analysis unit, a history generation unit, a confidential information detection unit, and a test omission detection unit. The code analysis unit analyzes code added by a developer. For example, the code analysis unit analyzes the structure of the code using a static analysis tool. The code analysis unit can also analyze runtime behavior using a dynamic analysis tool. The code analysis unit can also analyze code comments to understand the intent. The history generation unit understands the intent of the code analyzed by the code analysis unit and automatically generates an appropriate history. For example, the history generation unit divides code changes into small parts and commits each change. The history generation unit can also learn the coding style of developers and select an optimal version control strategy. The history generation unit can also perform commits at the optimal timing, taking into account the progress and deadline of the project. The confidential information detection unit detects the inclusion of confidential information in the history generated by the history generation unit. For example, the confidential information detection unit analyzes specific patterns in the code and issues a warning if confidential information is included. The secret information detection unit can also learn from past cases of secret information intrusion and perform detection with higher accuracy. The secret information detection unit can also analyze code change history and identify locations where there is a high possibility of intrusion. The test omission detection unit detects omissions in adding unit tests at the timing of the history generated by the history generation unit. For example, when a new function is added, the test omission detection unit checks whether a unit test for that function exists and issues a warning if one does not exist. The test omission detection unit can also learn from past cases of test omissions and perform detection with higher accuracy. The test omission detection unit can also analyze code change history and identify locations where there is a high possibility of intrusion. As a result, the version control system according to the embodiment can reduce the burden on developers and significantly improve the efficiency of the development flow. For example, developers can focus on adding and modifying code, which improves productivity and enables high-quality functions to be provided to users more quickly. Preventing the intrusion of secret information and omissions in unit tests also improves security and quality.

[0030] The history generation unit can learn the developer's coding style or past history and automatically select the optimal version control strategy. For example, the history generation unit automatically selects the optimal version control strategy by using a generation AI to learn the developer's coding style and analyze past commit history. For example, it determines the appropriate commit timing based on the code change patterns frequently made by a particular developer. The history generation unit can also automatically generate commit message templates based on the developer's coding style. The history generation unit can also select the optimal branch strategy based on past history. This makes it possible to provide a version control strategy that is optimal for the developer's coding style.

[0031] The history generation unit can make commits at the optimal timing, taking into account the progress or deadline of the project. For example, the generation AI in the history generation unit analyzes the progress of the project in real time and makes commits at the optimal timing to match the deadline. For example, it can concentrate commits before important milestones. The history generation unit can also adjust the frequency of commits according to the progress of the project. The history generation unit can also increase the frequency of commits as the deadline approaches. This makes it possible to provide the optimal commit timing according to the progress of the project.

[0032] The history generation unit can compare the version control data of other projects and propose the optimal management method. For example, the generation AI collects version control data from other projects and performs comparative analysis to propose the optimal management method. For example, the history generation unit selects the optimal commit strategy based on success stories from similar projects. The history generation unit can also optimize the branch strategy based on data from other projects. The history generation unit can also propose a release management method based on data from other projects. This makes it possible to provide the optimal version control method based on data from other projects.

[0033] The history generation unit can customize version control according to the developer's work environment. For example, the generation AI in the history generation unit analyzes the IDE or tools used by the developer and customizes version control accordingly. For example, it automatically generates commit messages optimized for a specific IDE. The history generation unit can also customize the branch strategy according to the developer's work environment. The history generation unit can also customize the release management method according to the developer's work environment. This makes it possible to provide version control that is optimal for the developer's work environment.

[0034] The code analysis unit can refer to a developer's past commit history to more accurately understand their intent. For example, the generative AI in the code analysis unit can refer to a developer's past commit history to more accurately understand their intent when analyzing code. For example, it can infer the intent of the current code change based on past commit messages and change contents. The code analysis unit can also learn code change patterns based on past commit history. The code analysis unit can also evaluate the quality of the code based on past commit history. This makes it possible to accurately understand their intent based on past commit history.

[0035] The code analysis unit can extract intent from code comments or documents using natural language processing technology. For example, the generative AI in the code analysis unit uses natural language processing technology to extract intent from code comments and documents and uses this information during code analysis. For example, the intent can be understood based on the reason for a change stated in a comment. The code analysis unit can also understand the intent of a code change based on the design intent stated in the document. The code analysis unit can also extract important information from code comments and documents using natural language processing technology. This makes it possible to extract intent from code comments and documents.

[0036] The code analysis unit can compare the code with that of other developers and find common points of intent. For example, the generative AI in the code analysis unit compares the code with that of other developers and finds common points of intent. For example, it extracts common code patterns when implementing the same function and understands the intent. The code analysis unit can also suggest the optimal coding style based on the code of other developers. The code analysis unit can also evaluate the quality of the code based on the code of other developers. This makes it possible to compare the code with that of other developers and find common points of intent.

[0037] The history generation unit can analyze code dependencies and determine the optimal commit unit. For example, the generation AI in the history generation unit analyzes code dependencies and determines the optimal commit unit to maintain history consistency. For example, it can combine code changes with strong dependencies into one commit. The history generation unit can also optimize the order of commits based on code dependencies. The history generation unit can also adjust the timing of branch creation and merging based on code dependencies. This makes it possible to analyze code dependencies and determine the optimal commit unit.

[0038] The history generation unit can automatically refactor code and reduce the size of the history by deleting unnecessary parts. The history generation unit, for example, uses a generation AI to automatically refactor code and reduce the size of the history by deleting unnecessary parts. For example, it deletes unnecessary comments and dead code. The history generation unit can also improve the readability of code by refactoring the code. The history generation unit can also improve the performance of code by refactoring the code. In this way, it is possible to automatically refactor code and reduce the size of the history.

[0039] The history generation unit can compare the historical data of other projects and propose the optimal consistency maintenance method. For example, the generation AI collects historical data of other projects and performs comparative analysis to propose the optimal consistency maintenance method. For example, the history generation unit selects the optimal commit strategy based on successful cases of similar projects. The history generation unit can also optimize the branch strategy based on data from other projects. The history generation unit can also propose a release management method based on data from other projects. This makes it possible to provide the optimal consistency maintenance method based on data from other projects.

[0040] The history generation unit can reduce the size of the history data by using code compression technology. For example, the generation AI in the history generation unit reduces the size of the history data by using code compression technology. For example, it compresses duplicated parts of code to reduce the size of the history data. The history generation unit can also improve the efficiency of storing the history data by using code compression technology. The history generation unit can also improve the transfer speed of the history data by using code compression technology. This makes it possible to reduce the size of the history data by using code compression technology.

[0041] The secret information detection unit can learn from past cases of secret information intrusion and perform more accurate detection. For example, the secret information detection unit can perform more accurate intrusion detection by having the generation AI learn from past cases of secret information intrusion and analyze specific patterns in the code. For example, it can detect patterns similar to past intrusion cases. The secret information detection unit can also evaluate the risk of secret information intrusion based on past intrusion cases. The secret information detection unit can also propose measures to prevent secret information intrusion based on past intrusion cases. This allows the unit to learn from past intrusion cases and perform more accurate detection.

[0042] The secret information detection unit can analyze the code change history and identify areas where there is a high possibility of confidential information being mixed in. For example, the secret information detection unit uses a generation AI to analyze the code change history and identify areas where there is a high possibility of confidential information being mixed in. For example, the analysis can focus on code parts that are frequently changed. The secret information detection unit can also evaluate the risk of confidential information being mixed in based on the code change history. The secret information detection unit can also propose measures to prevent confidential information from being mixed in based on the code change history. In this way, it is possible to analyze the code change history and identify areas where there is a high possibility of confidential information being mixed in.

[0043] The confidential information detection unit can compare the detection data with that of other projects and propose the optimal detection method. For example, the confidential information detection unit proposes the optimal method for detecting the inclusion of confidential information by having the generation AI collect detection data from other projects and perform comparative analysis. For example, the optimal detection strategy is selected based on successful cases of similar projects. The confidential information detection unit can also evaluate the risk of confidential information being mixed in based on data from other projects. The confidential information detection unit can also propose measures to prevent the inclusion of confidential information based on data from other projects. This makes it possible to provide the optimal detection method based on data from other projects.

[0044] The secret information detection unit can work in cooperation with static code analysis tools to improve detection accuracy. For example, the generation AI can work in cooperation with static code analysis tools to improve the accuracy of detecting the inclusion of secret information. For example, the secret information detection unit can focus its analysis on potential problem areas detected by the static analysis tool. The secret information detection unit can also evaluate the risk of secret information being included based on the results of the static analysis tool. The secret information detection unit can also propose measures to prevent the inclusion of secret information based on the results of the static analysis tool. This makes it possible to improve detection accuracy by working in cooperation with static analysis tools.

[0045] The test omission detection unit can analyze the code change history and identify areas where there is a high possibility of omissions. For example, the test omission detection unit uses a generation AI to analyze the code change history and identify areas where there is a high possibility of missing unit tests. For example, the test omission detection unit can focus its analysis on code parts that are frequently changed. The test omission detection unit can also evaluate the risk of test omissions based on the code change history. The test omission detection unit can also propose measures to prevent test omissions based on the code change history. This makes it possible to analyze the code change history and identify areas where there is a high possibility of omissions.

[0046] The test omission detection unit can compare test data from other projects and propose the optimal detection method. For example, the test omission detection unit proposes the optimal unit test omission detection method by having the generation AI collect test data from other projects and perform comparative analysis. For example, the optimal detection strategy is selected based on successful cases from similar projects. The test omission detection unit can also evaluate the risk of test omissions based on data from other projects. The test omission detection unit can also propose measures to prevent test omissions based on data from other projects. This makes it possible to provide the optimal detection method based on data from other projects.

[0047] The test omission detection unit can work in conjunction with automatic test generation tools to prevent omissions. For example, the test omission detection unit prevents omissions in adding unit tests by using a generation AI in conjunction with an automatic test generation tool. For example, when a new function is added, test cases are automatically generated. The test omission detection unit can also evaluate the risk of test omissions based on the results of the automatic test generation tool. The test omission detection unit can also propose measures to prevent test omissions based on the results of the automatic test generation tool. In this way, omissions can be prevented by working in conjunction with the automatic test generation tool.

[0048] The history generation unit can learn past review history during code review and propose the optimal review method. For example, the history generation unit uses a generation AI to learn past review history and propose the optimal review method during code review. For example, it selects the optimal review strategy based on review methods that have been successful in the past. The history generation unit can also adjust the focus of the review based on the past review history. The history generation unit can also optimize the review procedure based on the past review history. This makes it possible to provide the optimal review method based on the past review history.

[0049] The history generation unit can automatically highlight changes to the code, allowing the reviewer to focus on the important parts. For example, the history generation unit uses a generation AI to automatically highlight changes to the code, allowing the reviewer to focus on the important parts. For example, important changes may be displayed in different colors. The history generation unit can also automatically generate comments to attract the reviewer's attention based on the changes to the code. The history generation unit can also automatically generate summaries to reduce the reviewer's burden based on the changes to the code. This allows the reviewer to focus on the important parts.

[0050] The history generation unit can compare the review history with that of other projects and propose the optimal review method. For example, the generation AI collects the review history of other projects and performs comparative analysis to propose the optimal review method. For example, the history generation unit selects the optimal review strategy based on successful cases of similar projects. The history generation unit can also adjust the focus of the review based on data from other projects. The history generation unit can also optimize the review procedure based on data from other projects. This makes it possible to provide the optimal review method based on data from other projects.

[0051] The history generation unit can automatically analyze the reviewer's feedback and reflect it in the next review. In the history generation unit, for example, a generation AI automatically analyzes the reviewer's feedback and reflects it in the next review. For example, the focus of the review can be adjusted based on past feedback. The history generation unit can also optimize the review procedure based on the reviewer's feedback. The history generation unit can also provide review support based on the reviewer's feedback. This allows the reviewer's feedback to be reflected in the next review.

[0052] The system according to the embodiment is not limited to the above-described example, and various modifications are possible, for example, as follows.

[0053] The history generation unit can customize version control according to the developer's work environment. For example, the generation AI analyzes the IDE and tools used by the developer and customizes version control accordingly. This includes automatically generating commit messages optimized for a specific IDE, customizing branching strategies according to the developer's work environment, and customizing release management methods. This makes it possible to provide version control that is optimal for the developer's work environment.

[0054] The history generation unit can compare the version control data of other projects and propose the optimal management method. For example, the generation AI can collect version control data from other projects and perform comparative analysis to propose the optimal management method. It can select the optimal commit strategy based on successful examples of similar projects, or optimize the branch strategy based on data from other projects. This makes it possible to provide the optimal version control method based on data from other projects.

[0055] The code analysis unit can refer to a developer's past commit history to more accurately understand their intent. For example, the generative AI can refer to a developer's past commit history to more accurately understand their intent during code analysis. It can infer the intent of the current code change based on past commit messages and change details, and learn code change patterns based on past commit history. This allows for an accurate understanding of intent based on past commit history.

[0056] The code analysis unit can extract intent from code comments or documentation using natural language processing technology. For example, generative AI can use natural language processing technology to extract intent from code comments and documentation and use it during code analysis. It can understand intent based on the reason for a change written in a comment, or understand the intent of a code change based on the design intent written in the documentation. This makes it possible to extract intent from code comments and documentation.

[0057] The code analysis unit can compare the code of other developers and find commonalities in intent. For example, generative AI can compare the code of other developers and find commonalities in intent. It can extract common code patterns when implementing the same function, understand the intent, and suggest optimal coding styles based on the code of other developers. This makes it possible to compare the code of other developers and find commonalities in intent.

[0058] The history generation unit can analyze code dependencies and determine the optimal commit unit. For example, the generation AI analyzes code dependencies and determines the optimal commit unit to maintain history consistency. It can combine code changes with strong dependencies into a single commit, or optimize the order of commits based on code dependencies. This makes it possible to analyze code dependencies and determine the optimal commit unit.

[0059] The processing flow of the first embodiment will be briefly explained below.

[0060] Step 1: The code analyzer analyzes the code added by the developer. For example, it can use static analysis tools to analyze the code structure and dynamic analysis tools to analyze its runtime behavior. It can also analyze code comments to understand the intent. Step 2: The history generation unit understands the intent of the code analyzed by the code analysis unit and automatically generates an appropriate history. For example, it divides code changes into small parts and commits each change separately. It can also learn the coding style of developers and select the optimal version control strategy. It can also commit at the optimal time, taking into account the project progress and deadlines. Step 3: The secret information detection unit detects the inclusion of secret information at the timing of the history generated by the history generation unit. For example, it analyzes specific patterns in the code and issues a warning if secret information is included. It can also learn from past cases of inclusion to perform more accurate detection. It can also analyze the code change history to identify areas where there is a high possibility of inclusion. Step 4: The test omission detection unit detects omissions in the addition of unit tests at the timing of the history generated by the history generation unit. For example, when a new function is added, it checks whether a unit test for that function exists, and issues a warning if one does not. It can also learn from past cases of omissions in testing to achieve more accurate detection. It can also analyze the code change history to identify areas where omissions are likely to occur.

[0061] (Example 2) The version control system according to the embodiment of the present invention automates version control using generative AI, significantly improving the efficiency of the development flow. This allows developers to focus on adding and modifying code, improving productivity and quickly providing high-quality features to users.

[0062] A version control system according to an embodiment includes a code analysis unit, a history generation unit, a confidential information detection unit, and a test omission detection unit. The code analysis unit analyzes code added by a developer. For example, the code analysis unit analyzes the structure of the code using a static analysis tool. The code analysis unit can also analyze runtime behavior using a dynamic analysis tool. The code analysis unit can also analyze code comments to understand the intent. The history generation unit understands the intent of the code analyzed by the code analysis unit and automatically generates an appropriate history. For example, the history generation unit divides code changes into small parts and commits each change. The history generation unit can also learn the coding style of developers and select an optimal version control strategy. The history generation unit can also perform commits at the optimal timing, taking into account the progress and deadline of the project. The confidential information detection unit detects the inclusion of confidential information in the history generated by the history generation unit. For example, the confidential information detection unit analyzes specific patterns in the code and issues a warning if confidential information is included. The secret information detection unit can also learn from past cases of secret information intrusion and perform detection with higher accuracy. The secret information detection unit can also analyze code change history and identify locations where there is a high possibility of intrusion. The test omission detection unit detects omissions in adding unit tests at the timing of the history generated by the history generation unit. For example, when a new function is added, the test omission detection unit checks whether a unit test for that function exists and issues a warning if one does not exist. The test omission detection unit can also learn from past cases of test omissions and perform detection with higher accuracy. The test omission detection unit can also analyze code change history and identify locations where there is a high possibility of intrusion. As a result, the version control system according to the embodiment can reduce the burden on developers and significantly improve the efficiency of the development flow. For example, developers can focus on adding and modifying code, which improves productivity and enables high-quality functions to be provided to users more quickly. Preventing the intrusion of secret information and omissions in unit tests also improves security and quality.

[0063] The history generation unit can learn the developer's coding style or past history and automatically select the optimal version control strategy. For example, the history generation unit automatically selects the optimal version control strategy by using a generation AI to learn the developer's coding style and analyze past commit history. For example, it determines the appropriate commit timing based on the code change patterns frequently made by a particular developer. The history generation unit can also automatically generate commit message templates based on the developer's coding style. The history generation unit can also select the optimal branch strategy based on past history. This makes it possible to provide a version control strategy that is optimal for the developer's coding style.

[0064] The history generation unit can make commits at the optimal timing, taking into account the progress or deadline of the project. For example, the generation AI in the history generation unit analyzes the progress of the project in real time and makes commits at the optimal timing to match the deadline. For example, it can concentrate commits before important milestones. The history generation unit can also adjust the frequency of commits according to the progress of the project. The history generation unit can also increase the frequency of commits as the deadline approaches. This makes it possible to provide the optimal commit timing according to the progress of the project.

[0065] The history generation unit can detect the stress level of a developer using the emotion estimation function, and adjust the frequency of version control if the stress level is high. The history generation unit, for example, can analyze the stress level of a developer in real time using the emotion estimation function, and reduce the frequency of version control if the stress level is high. For example, the history generation unit can adjust the timing of commits so that the developer can concentrate on their work. The history generation unit can also simplify the content of commits according to the developer's stress level. The history generation unit can also concentrate commits during times when the developer's stress level is low. This makes it possible to adjust the frequency of version control according to the developer's stress level.

[0066] The history generation unit can compare the version control data of other projects and propose the optimal management method. For example, the generation AI collects version control data from other projects and performs comparative analysis to propose the optimal management method. For example, the history generation unit selects the optimal commit strategy based on success stories from similar projects. The history generation unit can also optimize the branch strategy based on data from other projects. The history generation unit can also propose a release management method based on data from other projects. This makes it possible to provide the optimal version control method based on data from other projects.

[0067] The history generation unit can customize version control according to the developer's work environment. For example, the generation AI in the history generation unit analyzes the IDE or tools used by the developer and customizes version control accordingly. For example, it automatically generates commit messages optimized for a specific IDE. The history generation unit can also customize the branch strategy according to the developer's work environment. The history generation unit can also customize the release management method according to the developer's work environment. This makes it possible to provide version control that is optimal for the developer's work environment.

[0068] The history generation unit can use the emotion estimation function to identify the time periods when developers can concentrate most, and perform version control during those time periods. The history generation unit, for example, can use the emotion estimation function to identify the time periods when developers can concentrate most, and perform version control during those time periods. For example, commits can be concentrated during times when developers are most focused. The history generation unit can also create and merge branches during times when developers are most focused. The history generation unit can also release during times when developers are most focused. This allows version control to be performed during times when developers are most focused.

[0069] The code analysis unit can refer to a developer's past commit history to more accurately understand their intent. For example, the generative AI in the code analysis unit can refer to a developer's past commit history to more accurately understand their intent when analyzing code. For example, it can infer the intent of the current code change based on past commit messages and change contents. The code analysis unit can also learn code change patterns based on past commit history. The code analysis unit can also evaluate the quality of the code based on past commit history. This makes it possible to accurately understand their intent based on past commit history.

[0070] The code analysis unit can extract intent from code comments or documents using natural language processing technology. For example, the generative AI in the code analysis unit uses natural language processing technology to extract intent from code comments and documents and uses this information during code analysis. For example, the intent can be understood based on the reason for a change stated in a comment. The code analysis unit can also understand the intent of a code change based on the design intent stated in the document. The code analysis unit can also extract important information from code comments and documents using natural language processing technology. This makes it possible to extract intent from code comments and documents.

[0071] The code analysis unit can analyze the emotional state of a developer using the emotion estimation function and understand intent based on the emotional state. The code analysis unit, for example, can analyze the emotional state of a developer using the emotion estimation function and understand intent based on the emotion. For example, if the developer is feeling stressed, it can determine that the developer has a strong intention to fix bugs. The code analysis unit can also infer the intent of code changes based on the developer's emotional state. The code analysis unit can also evaluate the quality of the code based on the developer's emotional state. This makes it possible to understand intent based on the developer's emotional state.

[0072] The code analysis unit can compare the code with that of other developers and find common points of intent. For example, the generative AI in the code analysis unit compares the code with that of other developers and finds common points of intent. For example, it extracts common code patterns when implementing the same function and understands the intent. The code analysis unit can also suggest the optimal coding style based on the code of other developers. The code analysis unit can also evaluate the quality of the code based on the code of other developers. This makes it possible to compare the code with that of other developers and find common points of intent.

[0073] The code analysis unit can use the emotion estimation function to automatically generate code comments so that developers can clearly express their intentions. The code analysis unit, for example, uses the emotion estimation function to automatically generate code comments so that developers can clearly express their intentions. For example, if a developer is feeling stressed, concise and clear comments are generated. The code analysis unit can also adjust the content of the comments based on the emotional state of the developer. The code analysis unit can also change the format of the comments based on the emotional state of the developer. In this way, code comments can be automatically generated so that developers can clearly express their intentions.

[0074] The history generation unit can analyze code dependencies and determine the optimal commit unit. For example, the generation AI in the history generation unit analyzes code dependencies and determines the optimal commit unit to maintain history consistency. For example, it can combine code changes with strong dependencies into one commit. The history generation unit can also optimize the order of commits based on code dependencies. The history generation unit can also adjust the timing of branch creation and merging based on code dependencies. This makes it possible to analyze code dependencies and determine the optimal commit unit.

[0075] The history generation unit can automatically refactor code and reduce the size of the history by deleting unnecessary parts. The history generation unit, for example, uses a generation AI to automatically refactor code and reduce the size of the history by deleting unnecessary parts. For example, it deletes unnecessary comments and dead code. The history generation unit can also improve the readability of code by refactoring the code. The history generation unit can also improve the performance of code by refactoring the code. In this way, it is possible to automatically refactor code and reduce the size of the history.

[0076] The history generation unit can use the emotion estimation function to select a history format that is easiest for the developer to understand and generate the history in that format. The history generation unit, for example, uses the emotion estimation function to select a history format that is easiest for the developer to understand and generates the history in that format. For example, if the developer is feeling stressed, a concise and clear history is generated. The history generation unit can also adjust the content of the history based on the emotional state of the developer. The history generation unit can also change the format of the history based on the emotional state of the developer. This makes it possible to generate the history in a format that is easiest for the developer to understand.

[0077] The history generation unit can compare the historical data of other projects and propose the optimal consistency maintenance method. For example, the generation AI collects historical data of other projects and performs comparative analysis to propose the optimal consistency maintenance method. For example, the history generation unit selects the optimal commit strategy based on successful cases of similar projects. The history generation unit can also optimize the branch strategy based on data from other projects. The history generation unit can also propose a release management method based on data from other projects. This makes it possible to provide the optimal consistency maintenance method based on data from other projects.

[0078] The history generation unit can reduce the size of the history data by using code compression technology. For example, the generation AI in the history generation unit reduces the size of the history data by using code compression technology. For example, it compresses duplicated parts of code to reduce the size of the history data. The history generation unit can also improve the efficiency of storing the history data by using code compression technology. The history generation unit can also improve the transfer speed of the history data by using code compression technology. This makes it possible to reduce the size of the history data by using code compression technology.

[0079] The history generation unit can use the emotion estimation function to identify the timing for generating history when the developer feels the least stress, and generate history at that timing. The history generation unit, for example, can use the emotion estimation function to identify the timing for generating history when the developer feels the least stress, and generate history at that timing. For example, the history is generated during a time period when the developer is relaxed. The history generation unit can also adjust the frequency of history generation according to the developer's stress level. The history generation unit can also adjust the content of the history according to the developer's stress level. This makes it possible to generate history at a time when the developer feels the least stress.

[0080] The secret information detection unit can learn from past cases of secret information intrusion and perform more accurate detection. For example, the secret information detection unit can perform more accurate intrusion detection by having the generation AI learn from past cases of secret information intrusion and analyze specific patterns in the code. For example, it can detect patterns similar to past intrusion cases. The secret information detection unit can also evaluate the risk of secret information intrusion based on past intrusion cases. The secret information detection unit can also propose measures to prevent secret information intrusion based on past intrusion cases. This allows the unit to learn from past intrusion cases and perform more accurate detection.

[0081] The secret information detection unit can analyze the code change history and identify areas where there is a high possibility of confidential information being mixed in. For example, the secret information detection unit uses a generation AI to analyze the code change history and identify areas where there is a high possibility of confidential information being mixed in. For example, the analysis can focus on code parts that are frequently changed. The secret information detection unit can also evaluate the risk of confidential information being mixed in based on the code change history. The secret information detection unit can also propose measures to prevent confidential information from being mixed in based on the code change history. In this way, it is possible to analyze the code change history and identify areas where there is a high possibility of confidential information being mixed in.

[0082] The confidential information detection unit can use the emotion estimation function to detect situations where there is a high risk that a developer will mistakenly include confidential information and issue a warning. The confidential information detection unit, for example, uses the emotion estimation function to detect situations where there is a high risk that a developer will mistakenly include confidential information and issue a warning. For example, a warning is issued when the developer is feeling stressed. The confidential information detection unit can also evaluate the risk of confidential information being included based on the emotional state of the developer. The confidential information detection unit can also suggest measures to prevent confidential information from being included based on the emotional state of the developer. In this way, it is possible to detect situations where there is a high risk that a developer will mistakenly include confidential information and issue a warning.

[0083] The confidential information detection unit can compare the detection data with that of other projects and propose the optimal detection method. For example, the confidential information detection unit proposes the optimal method for detecting the inclusion of confidential information by having the generation AI collect detection data from other projects and perform comparative analysis. For example, the optimal detection strategy is selected based on successful cases of similar projects. The confidential information detection unit can also evaluate the risk of confidential information being mixed in based on data from other projects. The confidential information detection unit can also propose measures to prevent the inclusion of confidential information based on data from other projects. This makes it possible to provide the optimal detection method based on data from other projects.

[0084] The secret information detection unit can work in cooperation with static code analysis tools to improve detection accuracy. For example, the generation AI can work in cooperation with static code analysis tools to improve the accuracy of detecting the inclusion of secret information. For example, the secret information detection unit can focus its analysis on potential problem areas detected by the static analysis tool. The secret information detection unit can also evaluate the risk of secret information being included based on the results of the static analysis tool. The secret information detection unit can also propose measures to prevent the inclusion of secret information based on the results of the static analysis tool. This makes it possible to improve detection accuracy by working in cooperation with static analysis tools.

[0085] The confidential information detection unit can use the emotion estimation function to identify time periods when there is a high risk that a developer will mix in confidential information, and strengthen warnings during those time periods. The confidential information detection unit can, for example, use the emotion estimation function to identify time periods when there is a high risk that a developer will mix in confidential information, and strengthen warnings during those time periods. For example, the warnings can be strengthened at night when the developer is tired. The confidential information detection unit can also evaluate the risk of confidential information being mixed in based on the emotional state of the developer. The confidential information detection unit can also suggest measures to prevent confidential information from being mixed in based on the emotional state of the developer. This makes it possible to strengthen warnings during high-risk time periods.

[0086] The test omission detection unit can analyze the code change history and identify areas where there is a high possibility of omissions. For example, the test omission detection unit uses a generation AI to analyze the code change history and identify areas where there is a high possibility of missing unit tests. For example, the test omission detection unit can focus its analysis on code parts that are frequently changed. The test omission detection unit can also evaluate the risk of test omissions based on the code change history. The test omission detection unit can also propose measures to prevent test omissions based on the code change history. This makes it possible to analyze the code change history and identify areas where there is a high possibility of omissions.

[0087] The test omission detection unit can use the emotion estimation function to detect situations in which a developer is likely to omit tests and issue a warning. The test omission detection unit, for example, uses the emotion estimation function to detect situations in which a developer is likely to omit tests and issue a warning. For example, a warning is issued when a developer is feeling stressed. The test omission detection unit can also evaluate the risk of test omissions based on the emotional state of the developer. The test omission detection unit can also suggest measures to prevent test omissions based on the emotional state of the developer. In this way, it is possible to detect situations in which a developer is likely to omit tests and issue a warning.

[0088] The test omission detection unit can compare test data from other projects and propose the optimal detection method. For example, the test omission detection unit proposes the optimal unit test omission detection method by having the generation AI collect test data from other projects and perform comparative analysis. For example, the optimal detection strategy is selected based on successful cases from similar projects. The test omission detection unit can also evaluate the risk of test omissions based on data from other projects. The test omission detection unit can also propose measures to prevent test omissions based on data from other projects. This makes it possible to provide the optimal detection method based on data from other projects.

[0089] The test omission detection unit can work in conjunction with automatic test generation tools to prevent omissions. For example, the test omission detection unit prevents omissions in adding unit tests by using a generation AI in conjunction with an automatic test generation tool. For example, when a new function is added, test cases are automatically generated. The test omission detection unit can also evaluate the risk of test omissions based on the results of the automatic test generation tool. The test omission detection unit can also propose measures to prevent test omissions based on the results of the automatic test generation tool. In this way, omissions can be prevented by working in conjunction with the automatic test generation tool.

[0090] The test omission detection unit can use the emotion estimation function to identify time periods when developers are likely to omit tests and strengthen warnings during those time periods. The test omission detection unit can, for example, use the emotion estimation function to identify time periods when developers are likely to omit tests and strengthen warnings during those time periods. For example, the test omission detection unit can strengthen warnings during the night when developers are tired. The test omission detection unit can also assess the risk of test omissions based on the emotional state of the developer. The test omission detection unit can also suggest measures to prevent test omissions based on the emotional state of the developer. This makes it possible to strengthen warnings during time periods when developers are likely to omit tests.

[0091] The history generation unit can learn past review history during code review and propose the optimal review method. For example, the history generation unit uses a generation AI to learn past review history and propose the optimal review method during code review. For example, it selects the optimal review strategy based on review methods that have been successful in the past. The history generation unit can also adjust the focus of the review based on the past review history. The history generation unit can also optimize the review procedure based on the past review history. This makes it possible to provide the optimal review method based on the past review history.

[0092] The history generation unit can automatically highlight changes to the code, allowing the reviewer to focus on the important parts. For example, the history generation unit uses a generation AI to automatically highlight changes to the code, allowing the reviewer to focus on the important parts. For example, important changes may be displayed in different colors. The history generation unit can also automatically generate comments to attract the reviewer's attention based on the changes to the code. The history generation unit can also automatically generate summaries to reduce the reviewer's burden based on the changes to the code. This allows the reviewer to focus on the important parts.

[0093] The history generation unit can use the emotion estimation function to identify time periods when the reviewer is most focused and perform the review during those time periods. The history generation unit, for example, can use the emotion estimation function to identify time periods when the reviewer is most focused and perform the review during those time periods. For example, the review can be performed during a time period when the reviewer is relaxed. The history generation unit can also concentrate on important parts of the review during time periods when the reviewer is most focused. The history generation unit can also provide support to reduce the burden of reviewing during time periods when the reviewer is most focused. This allows the review to be performed during time periods when the reviewer is most focused.

[0094] The history generation unit can compare the review history with that of other projects and propose the optimal review method. For example, the generation AI collects the review history of other projects and performs comparative analysis to propose the optimal review method. For example, the history generation unit selects the optimal review strategy based on successful cases of similar projects. The history generation unit can also adjust the focus of the review based on data from other projects. The history generation unit can also optimize the review procedure based on data from other projects. This makes it possible to provide the optimal review method based on data from other projects.

[0095] The history generation unit can automatically analyze the reviewer's feedback and reflect it in the next review. In the history generation unit, for example, a generation AI automatically analyzes the reviewer's feedback and reflects it in the next review. For example, the focus of the review can be adjusted based on past feedback. The history generation unit can also optimize the review procedure based on the reviewer's feedback. The history generation unit can also provide review support based on the reviewer's feedback. This allows the reviewer's feedback to be reflected in the next review.

[0096] The history generation unit can use the emotion estimation function to select a review format in which the reviewer feels the least stress, and write the review in that format. The history generation unit, for example, can use the emotion estimation function to select a review format in which the reviewer feels the least stress, and write the review in that format. For example, the reviewer writes the review in a format in which the reviewer feels relaxed. The history generation unit can also adjust the content of the review based on the emotional state of the reviewer. The history generation unit can also change the review format based on the emotional state of the reviewer. This allows the reviewer to write the review in a format in which the reviewer feels the least stress.

[0097] The system according to the embodiment is not limited to the above-described example, and various modifications are possible, for example, as follows.

[0098] The history generation unit can customize version control according to the developer's work environment. For example, the generation AI analyzes the IDE and tools used by the developer and customizes version control accordingly. This includes automatically generating commit messages optimized for a specific IDE, customizing branching strategies according to the developer's work environment, and customizing release management methods. This makes it possible to provide version control that is optimal for the developer's work environment.

[0099] The history generation unit can use the emotion estimation function to detect a developer's stress level and adjust the frequency of version control if the stress level is high. For example, the emotion estimation function can be used to analyze a developer's stress level in real time, and if the stress level is high, the frequency of version control can be reduced. The timing of commits can be adjusted to allow developers to concentrate on their work, and the content of commits can be simplified depending on the stress level. This makes it possible to adjust the frequency of version control according to the developer's stress level.

[0100] The history generation unit can compare the version control data of other projects and propose the optimal management method. For example, the generation AI can collect version control data from other projects and perform comparative analysis to propose the optimal management method. It can select the optimal commit strategy based on successful examples of similar projects, or optimize the branch strategy based on data from other projects. This makes it possible to provide the optimal version control method based on data from other projects.

[0101] The history generation unit can use the emotion estimation function to identify the time periods when developers can concentrate most, and perform version control during those time periods. For example, the emotion estimation function can be used to identify the time periods when developers can concentrate most, and perform version control during those time periods. This makes it possible to concentrate commits, create branches, and merge during times when developers can concentrate most. This allows version control to be performed during times when developers can concentrate most.

[0102] The code analysis unit can refer to a developer's past commit history to more accurately understand their intent. For example, the generative AI can refer to a developer's past commit history to more accurately understand their intent during code analysis. It can infer the intent of the current code change based on past commit messages and change details, and learn code change patterns based on past commit history. This allows for an accurate understanding of intent based on past commit history.

[0103] The code analysis unit can extract intent from code comments or documentation using natural language processing technology. For example, generative AI can use natural language processing technology to extract intent from code comments and documentation and use it during code analysis. It can understand intent based on the reason for a change written in a comment, or understand the intent of a code change based on the design intent written in the documentation. This makes it possible to extract intent from code comments and documentation.

[0104] The code analysis unit can use the emotion estimation function to analyze the emotional state of the developer and understand the intent based on the emotional state. For example, the emotion estimation function can be used to analyze the emotional state of the developer and understand the intent based on the emotion. If the developer is feeling stressed, it can be determined that the developer has a strong intention to fix a bug, or the intent of the code change can be inferred based on the developer's emotional state. This makes it possible to understand the intent based on the developer's emotional state.

[0105] The code analysis unit can compare the code of other developers and find commonalities in intent. For example, generative AI can compare the code of other developers and find commonalities in intent. It can extract common code patterns when implementing the same function, understand the intent, and suggest optimal coding styles based on the code of other developers. This makes it possible to compare the code of other developers and find commonalities in intent.

[0106] The code analysis unit can use the emotion estimation function to automatically generate code comments so that developers can clearly express their intentions. For example, the emotion estimation function can be used to automatically generate code comments so that developers can clearly express their intentions. If a developer is feeling stressed, the code analysis unit can generate concise and clear comments, or adjust the content of the comments based on the developer's emotional state. This makes it possible to automatically generate code comments so that developers can clearly express their intentions.

[0107] The history generation unit can analyze code dependencies and determine the optimal commit unit. For example, the generation AI analyzes code dependencies and determines the optimal commit unit to maintain history consistency. It can combine code changes with strong dependencies into a single commit, or optimize the order of commits based on code dependencies. This makes it possible to analyze code dependencies and determine the optimal commit unit.

[0108] The processing flow of the second embodiment will be briefly explained below.

[0109] Step 1: The code analyzer analyzes the code added by the developer. For example, it can use static analysis tools to analyze the code structure and dynamic analysis tools to analyze its runtime behavior. It can also analyze code comments to understand the intent. Step 2: The history generation unit understands the intent of the code analyzed by the code analysis unit and automatically generates an appropriate history. For example, it divides code changes into small parts and commits each change separately. It can also learn the coding style of developers and select the optimal version control strategy. It can also commit at the optimal time, taking into account the project progress and deadlines. Step 3: The secret information detection unit detects the inclusion of secret information at the timing of the history generated by the history generation unit. For example, it analyzes specific patterns in the code and issues a warning if secret information is included. It can also learn from past cases of inclusion to perform more accurate detection. It can also analyze the code change history to identify areas where there is a high possibility of inclusion. Step 4: The test omission detection unit detects omissions in the addition of unit tests at the timing of the history generated by the history generation unit. For example, when a new function is added, it checks whether a unit test for that function exists, and issues a warning if one does not. It can also learn from past cases of omissions in testing to achieve more accurate detection. It can also analyze the code change history to identify areas where omissions are likely to occur.

[0110] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0111] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> Examples of generative AIs include the data generation model 58, such as a neural network model (e.g., a neural network model), and a neural network model (e.g., a neural network model). The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating speech, text data indicating text, and image data indicating an image is also input to the data generation model 58. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specification processing unit 290 performs the above-mentioned specification processing using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction. In this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. The data processing device 12 and the like include multiple types of data generation models 58, and the data generation model 58 includes AIs other than the generative AI. The AI ​​other than the generative AI may be, for example, linear regression, logistic regression, decision tree, random forest, support vector machine (SVM), k-means clustering, convolutional neural network (CNN), recurrent neural network (RNN), generative adversarial network (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. The AI ​​may also be an AI agent. When the processes of each of the above-mentioned parts are performed by AI, the processes may be performed in part or entirely by AI, but are not limited to these examples. The processes performed by AI, including the generative AI, may be replaced with rule-based processes.

[0112] Furthermore, the processing by the data processing system 10 described above is executed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the smart device 14, but may also be executed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the smart device 14. Furthermore, the specific processing unit 290 of the data processing device 12 acquires or collects information 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.

[0113] [Second embodiment] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.

[0114] 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.

[0115] 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, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN and / or a LAN.

[0116] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.

[0117] The microphone 238 receives instructions and the like from the user by receiving voice uttered by the user. The microphone 238 captures the voice uttered by the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to instructions from the processor 46.

[0118] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the user's surroundings (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[0119] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[0120] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0121] The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0122] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.

[0123] In the smart glasses 214, the specific processing is performed by the processor 46. A specific processing program 60 is stored in the storage 50. The processor 46 reads the specific processing program 60 from the storage 50 and executes the read specific processing program 60 on the RAM 48. The specific processing is realized by the processor 46 operating as the control unit 46A in accordance with the specific processing program 60 executed on the RAM 48. Note that the smart glasses 214 may have a data generation model and an emotion identification model similar to the data generation model 58 and the emotion identification model 59.

[0124] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device may have the data generation model 58. In this case, the data processing device 12 communicates with the server device having the data generation model 58 to obtain a processing result (such as a prediction result) using the data generation model 58. Furthermore, the data processing device 12 may be a server device, or may be a terminal device (for example, a mobile phone, a robot, a home appliance, etc.) owned by a user.

[0125] 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 a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0126] The data generation model 58 is a so-called generative AI. An example of the data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 receives a prompt containing an instruction, as well as inference data such as voice data representing speech, text data representing text, and image data representing an image. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The identification processing unit 290 performs the above-mentioned identification processing using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction. In this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. The data processing device 12 and the like include multiple types of data generation models 58, and the data generation model 58 includes AIs other than the generative AI. The AI ​​other than the generative AI may be, for example, linear regression, logistic regression, decision tree, random forest, support vector machine (SVM), k-means clustering, convolutional neural network (CNN), recurrent neural network (RNN), generative adversarial network (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. The AI ​​may also be an AI agent. When the processes of each of the above-mentioned parts are performed by AI, the processes may be performed in part or entirely by AI, but are not limited to these examples. The processes performed by AI, including the generative AI, may be replaced with rule-based processes.

[0127] The data processing system 210 according to the second embodiment performs the same processing as the data processing system 10 according to the first embodiment. The processing by the data processing system 210 is executed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the smart glasses 214, but may also be executed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the smart glasses 214. Furthermore, the specific processing unit 290 of the data processing device 12 acquires or collects information required for processing from the smart glasses 214 or an external device, etc., and the smart glasses 214 acquires or collects information required for processing from the data processing device 12 or an external device, etc.

[0128] [Third embodiment] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.

[0129] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.

[0130] 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, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN and / or a LAN.

[0131] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.

[0132] The microphone 238 receives instructions and the like from the user by receiving voice uttered by the user. The microphone 238 captures the voice uttered by the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to instructions from the processor 46.

[0133] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the user's surroundings (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[0134] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[0135] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0136] The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0137] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.

[0138] In the headset type terminal 314, the identification process is performed by the processor 46. A identification program 60 is stored in the storage 50. The processor 46 reads the identification program 60 from the storage 50 and executes the read identification program 60 on the RAM 48. The identification process is realized by the processor 46 operating as a control unit 46A in accordance with the identification program 60 executed on the RAM 48. Note that the headset type terminal 314 may also have a data generation model and an emotion identification model similar to the data generation model 58 and the emotion identification model 59.

[0139] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device may have the data generation model 58. In this case, the data processing device 12 communicates with the server device having the data generation model 58 to obtain a processing result (such as a prediction result) using the data generation model 58. Furthermore, the data processing device 12 may be a server device, or may be a terminal device (for example, a mobile phone, a robot, a home appliance, etc.) owned by a user.

[0140] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0141] The data generation model 58 is a so-called generative AI. An example of the data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 receives a prompt containing an instruction, as well as inference data such as voice data representing speech, text data representing text, and image data representing an image. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The identification processing unit 290 performs the above-mentioned identification processing using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction. In this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. The data processing device 12 and the like include multiple types of data generation models 58, and the data generation model 58 includes AIs other than the generative AI. The AI ​​other than the generative AI may be, for example, linear regression, logistic regression, decision tree, random forest, support vector machine (SVM), k-means clustering, convolutional neural network (CNN), recurrent neural network (RNN), generative adversarial network (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. The AI ​​may also be an AI agent. When the processes of each of the above-mentioned parts are performed by AI, the processes may be performed in part or entirely by AI, but are not limited to these examples. The processes performed by AI, including the generative AI, may be replaced with rule-based processes.

[0142] The data processing system 310 according to the third embodiment performs the same processing as the data processing system 10 according to the first embodiment. The processing by the data processing system 310 is executed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the headset type terminal 314, but may also be executed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the headset type terminal 314. Furthermore, the specific processing unit 290 of the data processing device 12 acquires or collects information required for processing from the headset type terminal 314 or an external device, etc., and the headset type terminal 314 acquires or collects information required for processing from the data processing device 12 or an external device, etc.

[0143] [Fourth embodiment] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

[0144] 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.

[0145] 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, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN and / or a LAN.

[0146] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.

[0147] The microphone 238 receives instructions and the like from the user by receiving voice uttered by the user. The microphone 238 captures the voice uttered by the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to instructions from the processor 46.

[0148] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS image sensor or a CCD image sensor, and captures images of the user's surroundings (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[0149] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[0150] The control 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 emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.

[0151] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0152] The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0153] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.

[0154] In the robot 414, the processor 46 performs the identification process. A identification program 60 is stored in the storage 50. The processor 46 reads the identification program 60 from the storage 50 and executes the read identification program 60 on the RAM 48. The identification process is realized by the processor 46 operating as a control unit 46A in accordance with the identification program 60 executed on the RAM 48. The robot 414 may have a data generation model and an emotion identification model similar to the data generation model 58 and the emotion identification model 59.

[0155] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device may have the data generation model 58. In this case, the data processing device 12 communicates with the server device having the data generation model 58 to obtain a processing result (such as a prediction result) using the data generation model 58. Furthermore, the data processing device 12 may be a server device, or may be a terminal device (for example, a mobile phone, a robot, a home appliance, etc.) owned by a user.

[0156] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.

[0157] The data generation model 58 is a so-called generative AI. An example of the data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 receives a prompt containing an instruction, as well as inference data such as voice data representing speech, text data representing text, and image data representing an image. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The identification processing unit 290 performs the above-mentioned identification processing using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction. In this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. The data processing device 12 and the like include multiple types of data generation models 58, and the data generation model 58 includes AIs other than the generative AI. The AI ​​other than the generative AI may be, for example, linear regression, logistic regression, decision tree, random forest, support vector machine (SVM), k-means clustering, convolutional neural network (CNN), recurrent neural network (RNN), generative adversarial network (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. The AI ​​may also be an AI agent. When the processes of each of the above-mentioned parts are performed by AI, the processes may be performed in part or entirely by AI, but are not limited to these examples. The processes performed by AI, including the generative AI, may be replaced with rule-based processes.

[0158] The data processing system 410 according to the fourth embodiment performs the same processing as the data processing system 10 according to the first embodiment. The processing by the data processing system 410 is executed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the robot 414, but may also be executed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the robot 414. Furthermore, the specific processing unit 290 of the data processing device 12 acquires or collects information required for processing from the robot 414 or an external device, etc., and the robot 414 acquires or collects information required for processing from the data processing device 12 or an external device, etc.

[0159] The emotion identification model 59 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 an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.

[0160] FIG. 9 illustrates an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and behaviors arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion encompasses both emotions and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.

[0161] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.

[0162] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).

[0163] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is expressed, and when they approach the ideal, a state of pleasure is expressed. Emotions can also be created for robots, cars, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is expressed, and when they approach the ideal, a state of pleasure is expressed. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on speech emotion recognition and brain physiological signal analysis systems for emotions, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the area called "reaction," where sensation is dominant. The right half of the emotion map lists emotions belonging to the area called "situation," where situational awareness is dominant.

[0164] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs 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 a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."

[0165] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values ​​indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values ​​indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.

[0166] In the above embodiment, an example was given in which a specific process is performed by one computer 22, but the technology disclosed herein is not limited to this, and distributed processing of the specific process may be performed by multiple computers including computer 22.

[0167] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.

[0168] 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.

[0169] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.

[0170] The hardware resource for executing a specific process can be any of the following processors: A CPU is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. A dedicated electrical circuit, such as a field-programmable gate array (FPGA), a programmable logic device (PLD), or an application-specific integrated circuit (ASIC), is a processor with a circuit configuration specifically designed to execute a specific process. Each processor has built-in or connected memory, and uses the memory to execute the specific process.

[0171] The hardware resource that executes the specific process may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific process may be a single processor.

[0172] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.

[0173] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.

[0174] In the above example, the first to fourth embodiments have been described separately, but some or all of these embodiments may be combined. The smart device 14, smart glasses 214, headset terminal 314, and robot 414 are merely examples, and they may be combined, or other devices may be used. In the above example, the first and second embodiments have been described separately, but they may be combined.

[0175] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.

[0176] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference. [Explanation of symbols]

[0177] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot

Claims

1. A code analysis part that analyzes the code added by the developer; a history generation unit that understands the intent of the code analyzed by the code analysis unit and automatically generates an appropriate history; a confidential information detection unit that detects the inclusion of confidential information at the timing of the history generated by the history generation unit; a test omission detection unit that detects omissions in adding unit tests at the timing of the history generated by the history generation unit. A system characterized by:

2. The history generation unit Detecting the stress level of the developer using an emotion estimation function, and adjusting the frequency of version control if the stress level is high The system of claim 1 .

3. The code analysis unit Analyzing the emotional state of the developer using an emotion estimation function and understanding the developer's intention based on the emotional state The system of claim 1 .

4. The confidential information detection unit Using emotion estimation functionality, the system detects situations where there is a high risk that the developer may accidentally include the confidential information and issues a warning. The system of claim 1 .

5. The test omission detection unit Using emotion estimation function, the system detects situations where the developer is likely to miss a test and issues a warning. The system of claim 1 .

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A