system

The system addresses inefficiencies in software development by automating source code analysis, documentation, and UI testing, enhancing development efficiency and quality through real-time feedback and emotional state consideration.

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

Patent Information

Application Number
JP2024119832
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 require manual detection of wasteful processing and inefficiencies in source code, making efficient software development difficult.

Method used

A system comprising a static analysis unit, documentation generation unit, test case generation unit, vulnerability detection unit, and UI test implementation unit, which automatically analyzes source code to detect inefficiencies, generates relationship diagrams, creates test cases, detects vulnerabilities, and performs UI tests, thereby streamlining the software development process.

Benefits of technology

The system effectively automates the detection of wasteful processing and inefficiencies, supports efficient software development, and improves quality by providing real-time feedback and continuous improvement based on developer feedback and emotional state analysis.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026018510000001_ABST
    Figure 2026018510000001_ABST
Patent Text Reader

Abstract

An object of a system according to an embodiment is to support efficient software development by automatically detecting unnecessary processing and inefficiency of a source code.SOLUTION: A system according to an embodiment includes a static analysis unit, a documentation generation unit, a test case generation unit, a vulnerability detection unit, and a UI test execution unit. The static analysis unit analyzes the source code and detects useless processing and inefficiency. The documentation generation unit generates a relation diagram and a transition diagram from the source code analyzed by the static analysis unit. The test case generation unit generates a test case based on the relation diagram and the transition diagram generated by the documentation generation unit. The vulnerability detection unit detects vulnerability based on the test case generated by the test case generation unit. The UI test execution unit executes a UI test based on the vulnerability detected by the vulnerability detection 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 often require manual detection of wasteful processing and inefficiencies in source code, making efficient software development difficult.

[0005] The system according to the embodiment aims to automatically detect wasteful processing and inefficiencies in source code and support efficient software development. [Means for solving the problem]

[0006] A system according to an embodiment includes a static analysis unit, a documentation generation unit, a test case generation unit, a vulnerability detection unit, and a UI test implementation unit. The static analysis unit analyzes source code and detects wasteful processing and inefficiencies. The documentation generation unit generates relationship diagrams and transition diagrams from the source code analyzed by the static analysis unit. The test case generation unit generates test cases based on the relationship diagrams and transition diagrams generated by the documentation generation unit. The vulnerability detection unit detects vulnerabilities based on the test cases generated by the test case generation unit. The UI test implementation unit implements UI tests based on vulnerabilities detected by the vulnerability detection unit. [Effects of the Invention]

[0007] The system according to the embodiment can automatically detect wasteful processing and inefficiencies in source code, and can support efficient software development. [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 integrated platform according to an embodiment of the present invention is a system that performs static analysis of source code, automatic documentation, test case creation, vulnerability advice, and UI testing, thereby streamlining the entire software development process and improving quality.

[0029] An integrated platform according to an embodiment includes a static analysis unit, a documentation generation unit, a test case generation unit, a vulnerability detection unit, and a UI test implementation unit. The static analysis unit analyzes source code to detect wasteful processing and inefficiencies. For example, the static analysis unit detects redundant loops and unnecessary variable declarations. The static analysis unit can also identify causes of performance degradation. The static analysis unit can also use generative AI to analyze the change history of source code, learn past bug fix patterns, and predict future bugs. The documentation generation unit generates relationship diagrams and transition diagrams from the source code analyzed by the static analysis unit. For example, the documentation generation unit automatically creates class diagrams and sequence diagrams. The documentation generation unit can also analyze the change history of source code and automatically identify areas in need of document updates. The test case generation unit generates test cases based on the relationship diagrams and transition diagrams generated by the documentation generation unit. For example, the test case generation unit creates test cases based on functional requirements and non-functional requirements. The test case generation unit can also analyze the change history of the specification and automatically identify areas where test cases need to be updated. The vulnerability detection unit detects vulnerabilities based on the test cases generated by the test case generation unit. For example, the vulnerability detection unit detects vulnerabilities such as SQL injection and cross-site scripting. The vulnerability detection unit can also analyze the change history of the source code and automatically identify areas where vulnerabilities need to be updated. The UI test implementation unit performs UI tests based on the vulnerabilities detected by the vulnerability detection unit. For example, the UI test implementation unit tests user interface operations such as button clicks and form input. The UI test implementation unit can also analyze the change history of the UI and automatically identify areas where test cases need to be updated. This enables the integrated platform according to the embodiment to streamline the entire software development process and improve quality. For example, the output unit displays test results and vulnerability advice to developers via a web application or a mobile application.If you prefer paper feedback, you can print out the results using a printer. Sending the results by email will provide quick feedback by sending the results directly to the developer.

[0030] The static analysis unit analyzes the change history of source code and learns past bug fix patterns to predict future bugs. The static analysis unit uses, for example, generative AI to analyze the change history of source code and learn past bug fix patterns. For example, it analyzes the frequency and type of bug fixes in specific functions or methods to predict future bugs. This makes it possible to predict future bugs and prevent them before they occur.

[0031] The static analysis unit can identify a developer's coding style and habits based on the results of source code analysis and make individual improvement suggestions. For example, the static analysis unit uses generative AI to identify a developer's coding style and habits based on the results of source code analysis. For example, it can analyze the code patterns and naming conventions frequently used by a specific developer and make individual improvement suggestions. This makes it possible to make individual improvement suggestions based on the developer's coding style and habits.

[0032] The documentation generation unit can analyze the change history of the source code and automatically identify parts of the documentation that need to be updated. The documentation generation unit can, for example, use generation AI to analyze the change history of the source code and automatically identify parts of the documentation that need to be updated. For example, it can analyze the change history of a specific function or method and identify parts of the documentation that need to be updated. This makes it possible to automatically identify parts of the documentation that need to be updated based on the change history of the source code.

[0033] The documentation generation unit can collect developer feedback on the automatically generated documentation and continuously improve it. The documentation generation unit, for example, collects developer feedback on the automatically generated documentation and continuously improves it. For example, it collects developer opinions and improvements on the content of the documentation and reflects them in the next generation of the documentation. This allows the documentation to be continuously improved based on developer feedback.

[0034] The test case generation unit can analyze the change history of the specifications and automatically identify the parts of the test cases that need to be updated. The test case generation unit can, for example, use generation AI to analyze the change history of the specifications and automatically identify the parts of the test cases that need to be updated. For example, it can analyze the change history of specific functional requirements and non-functional requirements and identify the parts of the test cases that need to be updated. This makes it possible to automatically identify the parts of the test cases that need to be updated based on the change history of the specifications.

[0035] The test case generation unit can collect developer feedback on automatically generated test cases and continuously improve them. The test case generation unit, for example, collects developer feedback on automatically generated test cases and continuously improves them. For example, it collects developer opinions and improvements on the content of test cases and reflects them in the next test case generation. This allows test cases to be continuously improved based on developer feedback.

[0036] The vulnerability detection unit can analyze the change history of source code and automatically identify parts that require vulnerability updates. The vulnerability detection unit can, for example, use generative AI to analyze the change history of source code and automatically identify parts that require vulnerability updates. For example, it can analyze the change history of specific functions or methods and identify parts that require vulnerability updates. This makes it possible to automatically identify parts that require vulnerability updates based on the change history of source code.

[0037] The vulnerability detection unit can collect developer feedback on the automatically generated vulnerability advice and continuously improve it. The vulnerability detection unit, for example, collects developer feedback on the automatically generated vulnerability advice and continuously improves it. For example, it collects developer opinions and improvements on the content of the vulnerability advice and reflects them in the next generation of advice. This allows the vulnerability advice to be continuously improved based on developer feedback.

[0038] The UI test implementation department can collect developer feedback on automatically generated UI test cases and make continuous improvements. The UI test implementation department can collect developer feedback on automatically generated UI test cases and make continuous improvements. For example, it can collect developer opinions and improvements on the content of test cases and reflect them in the next test case generation. This allows the UI test cases to be continuously improved based on developer feedback.

[0039] The static analysis department can share the results of static analysis of source code with other projects and teams and introduce best practices. For example, the static analysis department can build a platform for sharing analysis results and make them accessible to other projects and teams. This allows the static analysis results to be shared and best practices to be introduced.

[0040] The static analysis unit can provide feedback on the analysis results of the source code to the developer in real time, prompting immediate improvements. The static analysis unit can, for example, provide feedback on the analysis results of the source code to the developer in real time, prompting immediate improvements. For example, when the developer is writing code, the analysis results can be displayed in real time and points out areas for improvement. This allows the analysis results to be provided as feedback in real time, prompting immediate improvements.

[0041] The UI test implementation unit can provide feedback on the UI test results to developers in real time, prompting them to make improvements immediately.The UI test implementation unit can, for example, provide feedback on the UI test results to developers in real time, prompting them to make improvements immediately.For example, when a developer is writing code, the UI test results can be displayed in real time and points out areas for improvement.This allows feedback on the UI test results to be provided in real time, prompting them to make improvements immediately.

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

[0043] The integrated platform can further include a project management section. The project management section can monitor the progress of a project in real time and automatically notify the allocation of tasks and delays in progress. For example, the project management section can monitor the task completion status of each developer and notify the leader if progress is delayed. The project management section can also automatically reevaluate task priorities and prioritize the allocation of important tasks. Furthermore, the project management section can monitor the resource usage of the project and optimize resources.

[0044] The integrated platform can also include a code review unit. The code review unit can automatically review code written by developers and suggest areas for improvement. For example, the code review unit can identify areas that violate coding standards and prompt the developer to make corrections. The code review unit can also identify areas where performance can be improved and suggest optimizations. The code review unit can also identify areas where there are security risks and prompt the developer to make corrections.

[0045] The integrated platform may further include a user feedback collection unit. The user feedback collection unit may automatically collect feedback from users of the software and provide it to the developer. For example, the user feedback collection unit may analyze an operation log when a user uses the software and identify areas for improvement. The user feedback collection unit may also collect direct feedback from users and notify the developer. Furthermore, the user feedback collection unit may evaluate user satisfaction and make suggestions for improvement.

[0046] The integrated platform may further include a learning support section. The learning support section may provide resources for developers to learn new technologies and tools. For example, the learning support section may provide links to online courses and tutorials to help developers acquire necessary skills. The learning support section may also suggest learning plans based on the developer's skill level. Furthermore, the learning support section may provide support for developers to apply what they have learned to actual projects.

[0047] The integrated platform may further include a communication support unit. The communication support unit may provide tools to facilitate communication within the development team. For example, the communication support unit may provide real-time chat and video conferencing functions to support rapid information sharing between developers. The communication support unit may also provide a platform for sharing project progress and important notifications with the entire team. Furthermore, the communication support unit may provide a forum function to promote the exchange of opinions and discussions between developers.

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

[0049] Step 1: The static analysis unit analyzes the source code to detect wasteful processing and inefficiencies. For example, it detects redundant loops and unnecessary variable declarations and identifies the causes of performance degradation. Generative AI can also be used to analyze the source code change history and learn past bug fix patterns to predict future bugs. Step 2: The documentation generation unit generates relationship diagrams and transition diagrams from the source code analyzed by the static analysis unit. For example, it can automatically create class diagrams and sequence diagrams, and can also analyze the change history of the source code to automatically identify areas where documentation needs to be updated. Step 3: The test case generator generates test cases based on the relationship diagram and transition diagram generated by the documentation generator. For example, it can create test cases based on functional and non-functional requirements, and automatically identify areas where test cases need to be updated by analyzing the change history of the specifications. Step 4: The vulnerability detection unit detects vulnerabilities based on the test cases generated by the test case generation unit. For example, it can detect vulnerabilities such as SQL injection and cross-site scripting, and can also analyze the change history of the source code to automatically identify areas that need to be updated to address vulnerabilities. Step 5: The UI testing unit performs UI tests based on the vulnerabilities detected by the vulnerability detection unit. For example, it tests the behavior of the user interface, such as clicking a button or entering a form, and can also analyze the UI change history to automatically identify areas where test cases need to be updated.

[0050] (Example 2) The integrated platform according to an embodiment of the present invention is a system that performs static analysis of source code, automatic documentation, test case creation, vulnerability advice, and UI testing, thereby streamlining the entire software development process and improving quality.

[0051] An integrated platform according to an embodiment includes a static analysis unit, a documentation generation unit, a test case generation unit, a vulnerability detection unit, and a UI test implementation unit. The static analysis unit analyzes source code to detect wasteful processing and inefficiencies. For example, the static analysis unit detects redundant loops and unnecessary variable declarations. The static analysis unit can also identify causes of performance degradation. The static analysis unit can also use generative AI to analyze the change history of source code, learn past bug fix patterns, and predict future bugs. The documentation generation unit generates relationship diagrams and transition diagrams from the source code analyzed by the static analysis unit. For example, the documentation generation unit automatically creates class diagrams and sequence diagrams. The documentation generation unit can also analyze the change history of source code and automatically identify areas in need of document updates. The test case generation unit generates test cases based on the relationship diagrams and transition diagrams generated by the documentation generation unit. For example, the test case generation unit creates test cases based on functional requirements and non-functional requirements. The test case generation unit can also analyze the change history of the specification and automatically identify areas where test cases need to be updated. The vulnerability detection unit detects vulnerabilities based on the test cases generated by the test case generation unit. For example, the vulnerability detection unit detects vulnerabilities such as SQL injection and cross-site scripting. The vulnerability detection unit can also analyze the change history of the source code and automatically identify areas where vulnerabilities need to be updated. The UI test implementation unit performs UI tests based on the vulnerabilities detected by the vulnerability detection unit. For example, the UI test implementation unit tests user interface operations such as button clicks and form input. The UI test implementation unit can also analyze the change history of the UI and automatically identify areas where test cases need to be updated. This enables the integrated platform according to the embodiment to streamline the entire software development process and improve quality. For example, the output unit displays test results and vulnerability advice to developers via a web application or a mobile application.If you prefer paper feedback, you can print out the results using a printer. Sending the results by email will provide quick feedback by sending the results directly to the developer.

[0052] The static analysis unit analyzes the change history of source code and learns past bug fix patterns to predict future bugs. The static analysis unit uses, for example, generative AI to analyze the change history of source code and learn past bug fix patterns. For example, it analyzes the frequency and type of bug fixes in specific functions or methods to predict future bugs. This makes it possible to predict future bugs and prevent them before they occur.

[0053] The static analysis unit can identify a developer's coding style and habits based on the results of source code analysis and make individual improvement suggestions. For example, the static analysis unit uses generative AI to identify a developer's coding style and habits based on the results of source code analysis. For example, it can analyze the code patterns and naming conventions frequently used by a specific developer and make individual improvement suggestions. This makes it possible to make individual improvement suggestions based on the developer's coding style and habits.

[0054] The static analysis unit can use the emotion estimation function to analyze the emotional state of the developer and identify code sections that require particular attention during times of high stress. The static analysis unit can, for example, use the emotion estimation function to analyze the emotional state of the developer and identify code sections that require particular attention during times of high stress. For example, based on the developer's emotional data, code written during times of high stress can be identified and reviewed intensively. This makes it possible to identify code sections that require particular attention based on the developer's emotional state.

[0055] The documentation generation unit can analyze the change history of the source code and automatically identify parts of the documentation that need to be updated. The documentation generation unit can, for example, use generation AI to analyze the change history of the source code and automatically identify parts of the documentation that need to be updated. For example, it can analyze the change history of a specific function or method and identify parts of the documentation that need to be updated. This makes it possible to automatically identify parts of the documentation that need to be updated based on the change history of the source code.

[0056] The documentation generation unit can collect developer feedback on the automatically generated documentation and continuously improve it. The documentation generation unit, for example, collects developer feedback on the automatically generated documentation and continuously improves it. For example, it collects developer opinions and improvements on the content of the documentation and reflects them in the next generation of the documentation. This allows the documentation to be continuously improved based on developer feedback.

[0057] The documentation generation unit can use the emotion estimation function to analyze the emotional state of the developer and encourage the developer to update the document when stress is low. The documentation generation unit, for example, uses the emotion estimation function to analyze the emotional state of the developer and encourages the developer to update the document when stress is low. For example, based on the developer's emotion data, the documentation generation unit notifies the developer to update the document when stress is low. This makes it possible to encourage the developer to update the document when stress is low based on the developer's emotional state.

[0058] The test case generation unit can analyze the change history of the specifications and automatically identify the parts of the test cases that need to be updated. The test case generation unit can, for example, use generation AI to analyze the change history of the specifications and automatically identify the parts of the test cases that need to be updated. For example, it can analyze the change history of specific functional requirements and non-functional requirements and identify the parts of the test cases that need to be updated. This makes it possible to automatically identify the parts of the test cases that need to be updated based on the change history of the specifications.

[0059] The test case generation unit can collect developer feedback on automatically generated test cases and continuously improve them. The test case generation unit, for example, collects developer feedback on automatically generated test cases and continuously improves them. For example, it collects developer opinions and improvements on the content of test cases and reflects them in the next test case generation. This allows test cases to be continuously improved based on developer feedback.

[0060] The test case generation unit can use the emotion estimation function to analyze the emotional state of the developer and encourage the developer to create test cases during times of low stress. The test case generation unit can, for example, use the emotion estimation function to analyze the emotional state of the developer and encourage the developer to create test cases during times of low stress. For example, based on the developer's emotion data, the test case generation unit can notify the developer to create test cases during times of low stress. This makes it possible to encourage the developer to create test cases during times of low stress based on the developer's emotional state.

[0061] The vulnerability detection unit can analyze the change history of source code and automatically identify parts that require vulnerability updates. The vulnerability detection unit can, for example, use generative AI to analyze the change history of source code and automatically identify parts that require vulnerability updates. For example, it can analyze the change history of specific functions or methods and identify parts that require vulnerability updates. This makes it possible to automatically identify parts that require vulnerability updates based on the change history of source code.

[0062] The vulnerability detection unit can collect developer feedback on the automatically generated vulnerability advice and continuously improve it. The vulnerability detection unit, for example, collects developer feedback on the automatically generated vulnerability advice and continuously improves it. For example, it collects developer opinions and improvements on the content of the vulnerability advice and reflects them in the next generation of advice. This allows the vulnerability advice to be continuously improved based on developer feedback.

[0063] The vulnerability detection unit uses the emotion estimation function to provide vulnerability advice at a time when the developer is most motivated, thereby increasing the developer's motivation to make improvements.The vulnerability detection unit, for example, uses the emotion estimation function to provide vulnerability advice at a time when the developer is most motivated.For example, based on the developer's emotion data, vulnerability advice is notified at a time when the developer is most motivated.This allows the developer to be provided with vulnerability advice at a time when the developer is most motivated, thereby increasing the developer's motivation to make improvements.

[0064] The UI test implementation department can collect developer feedback on automatically generated UI test cases and make continuous improvements. The UI test implementation department can collect developer feedback on automatically generated UI test cases and make continuous improvements. For example, it can collect developer opinions and improvements on the content of test cases and reflect them in the next test case generation. This allows the UI test cases to be continuously improved based on developer feedback.

[0065] The UI test implementation unit can use the emotion estimation function to analyze the emotional state of the developer and implement the UI test during times when stress is low. The UI test implementation unit, for example, uses the emotion estimation function to analyze the emotional state of the developer and implement the UI test during times when stress is low. For example, based on the emotional data of the developer, the UI test implementation unit notifies the developer to implement the UI test during times when stress is low. This allows the UI test to be implemented during times when stress is low based on the developer's emotional state.

[0066] The static analysis department can share the results of static analysis of source code with other projects and teams and introduce best practices. For example, the static analysis department can build a platform for sharing analysis results and make them accessible to other projects and teams. This allows the static analysis results to be shared and best practices to be introduced.

[0067] The static analysis unit can provide feedback on the analysis results of the source code to the developer in real time, prompting immediate improvements. The static analysis unit can, for example, provide feedback on the analysis results of the source code to the developer in real time, prompting immediate improvements. For example, when the developer is writing code, the analysis results can be displayed in real time and points out areas for improvement. This allows the analysis results to be provided as feedback in real time, prompting immediate improvements.

[0068] The static analysis unit uses the emotion estimation function to provide the analysis results at the timing when the developer is most motivated, thereby increasing the developer's motivation to make improvements. The static analysis unit, for example, uses the emotion estimation function to provide the analysis results at the timing when the developer is most motivated. For example, based on the developer's emotion data, the static analysis unit notifies the developer of the analysis results at the timing when the developer is most motivated. This allows the developer to be provided with the analysis results at the timing when the developer is most motivated, thereby increasing the developer's motivation to make improvements.

[0069] The vulnerability detection unit uses the emotion estimation function to provide vulnerability advice at a time when the developer is most motivated, thereby increasing the developer's motivation to make improvements.The vulnerability detection unit, for example, uses the emotion estimation function to provide vulnerability advice at a time when the developer is most motivated.For example, based on the developer's emotion data, vulnerability advice is notified at a time when the developer is most motivated.This allows the developer to be provided with vulnerability advice at a time when the developer is most motivated, thereby increasing the developer's motivation to make improvements.

[0070] The UI test implementation unit can provide feedback on the UI test results to developers in real time, prompting them to make improvements immediately.The UI test implementation unit can, for example, provide feedback on the UI test results to developers in real time, prompting them to make improvements immediately.For example, when a developer is writing code, the UI test results can be displayed in real time and points out areas for improvement.This allows feedback on the UI test results to be provided in real time, prompting them to make improvements immediately.

[0071] The UI test implementation unit uses the emotion estimation function to implement UI tests at the timing when the developer is most motivated, thereby increasing the developer's motivation to make improvements. The UI test implementation unit, for example, uses the emotion estimation function to implement UI tests at the timing when the developer is most motivated. For example, based on the developer's emotion data, the UI test implementation unit notifies the developer of the UI test at the timing when the developer is most motivated. This allows the developer to implement UI tests at the timing when the developer is most motivated, thereby increasing the developer's motivation to make improvements.

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

[0073] The integrated platform can further include a project management section. The project management section can monitor the progress of a project in real time and automatically notify the allocation of tasks and delays in progress. For example, the project management section can monitor the task completion status of each developer and notify the leader if progress is delayed. The project management section can also automatically reevaluate task priorities and prioritize the allocation of important tasks. Furthermore, the project management section can monitor the resource usage of the project and optimize resources.

[0074] The integrated platform can also include a code review unit. The code review unit can automatically review code written by developers and suggest areas for improvement. For example, the code review unit can identify areas that violate coding standards and prompt the developer to make corrections. The code review unit can also identify areas where performance can be improved and suggest optimizations. The code review unit can also identify areas where there are security risks and prompt the developer to make corrections.

[0075] The integrated platform may further include a user feedback collection unit. The user feedback collection unit may automatically collect feedback from users of the software and provide it to the developer. For example, the user feedback collection unit may analyze an operation log when a user uses the software and identify areas for improvement. The user feedback collection unit may also collect direct feedback from users and notify the developer. Furthermore, the user feedback collection unit may evaluate user satisfaction and make suggestions for improvement.

[0076] The integrated platform may further include a learning support section. The learning support section may provide resources for developers to learn new technologies and tools. For example, the learning support section may provide links to online courses and tutorials to help developers acquire necessary skills. The learning support section may also suggest learning plans based on the developer's skill level. Furthermore, the learning support section may provide support for developers to apply what they have learned to actual projects.

[0077] The integrated platform may further include a communication support unit. The communication support unit may provide tools to facilitate communication within the development team. For example, the communication support unit may provide real-time chat and video conferencing functions to support rapid information sharing between developers. The communication support unit may also provide a platform for sharing project progress and important notifications with the entire team. Furthermore, the communication support unit may provide a forum function to promote the exchange of opinions and discussions between developers.

[0078] The integrated platform can also use its emotion estimation function to analyze a developer's emotional state and provide appropriate support when motivation is low. For example, the emotion estimation function can be used to suggest a break to refresh a developer when they are feeling stressed. The emotion estimation function can also be used to suggest reducing task loads when a developer is feeling tired. Furthermore, the emotion estimation function can be used to prioritize tasks that are likely to motivate developers.

[0079] The integrated platform can also use its emotion estimation function to analyze the emotional state of developers and suggest events and activities to boost the morale of the entire team. For example, the emotion estimation function can be used to suggest a team-building event to refresh the team when the entire team is feeling stressed. The emotion estimation function can also be used to suggest a workshop to boost the team's motivation when the team's motivation is low. The emotion estimation function can also be used to suggest activities to promote communication throughout the team.

[0080] The integrated platform can also use its emotion estimation function to analyze a developer's emotional state and provide personalized mental health support. For example, the emotion estimation function can be used to provide counseling opportunities when a developer is feeling stressed. The emotion estimation function can also be used to provide relaxation resources when a developer is feeling fatigued. The emotion estimation function can also be used to make suggestions for creating an environment that helps developers stay motivated.

[0081] The integrated platform can also use emotion estimation to analyze a developer's emotional state and provide appropriate feedback according to the progress of the project. For example, the emotion estimation function can be used to provide positive feedback when a developer is feeling stressed. The emotion estimation function can also be used to point out specific areas for improvement when a developer is likely to be motivated. The emotion estimation function can also be used to make suggestions to reduce task load when a developer is feeling fatigued.

[0082] The integrated platform can also use emotion estimation to analyze a developer's emotional state and provide appropriate feedback according to the progress of the project. For example, the emotion estimation function can be used to provide positive feedback when a developer is feeling stressed. The emotion estimation function can also be used to point out specific areas for improvement when a developer is likely to be motivated. The emotion estimation function can also be used to make suggestions to reduce task load when a developer is feeling fatigued.

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

[0084] Step 1: The static analysis unit analyzes the source code to detect wasteful processing and inefficiencies. For example, it detects redundant loops and unnecessary variable declarations and identifies the causes of performance degradation. Generative AI can also be used to analyze the source code change history and learn past bug fix patterns to predict future bugs. Step 2: The documentation generation unit generates relationship diagrams and transition diagrams from the source code analyzed by the static analysis unit. For example, it can automatically create class diagrams and sequence diagrams, and can also analyze the change history of the source code to automatically identify areas where documentation needs to be updated. Step 3: The test case generator generates test cases based on the relationship diagram and transition diagram generated by the documentation generator. For example, it can create test cases based on functional and non-functional requirements, and automatically identify areas where test cases need to be updated by analyzing the change history of the specifications. Step 4: The vulnerability detection unit detects vulnerabilities based on the test cases generated by the test case generation unit. For example, it can detect vulnerabilities such as SQL injection and cross-site scripting, and can also analyze the change history of the source code to automatically identify areas that need to be updated to address vulnerabilities. Step 5: The UI testing unit performs UI tests based on the vulnerabilities detected by the vulnerability detection unit. For example, it tests the behavior of the user interface, such as clicking a button or entering a form, and can also analyze the UI change history to automatically identify areas where test cases need to be updated.

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

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

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

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

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

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

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

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

[0093] 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).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0108] 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).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0123] 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).

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

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

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

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

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

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

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

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

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

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

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

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

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

[0137] 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).

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

[0139] 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."

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

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

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

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

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

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

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

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

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

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

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

[0151] 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]

[0152] 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 static analysis unit that analyzes source code to detect wasteful processing and inefficiencies, and a documentation generation unit that generates a relationship diagram and a transition diagram from the source code analyzed by the static analysis unit; a test case generation unit that generates test cases based on the relationship diagram and the transition diagram generated by the documentation generation unit; a vulnerability detection unit that detects vulnerabilities based on the test cases generated by the test case generation unit; a UI test execution unit that executes a UI test based on the vulnerability detected by the vulnerability detection unit. A system characterized by:

2. The static analysis unit Analyze the change history of the source code, learn past bug fix patterns, and predict future bugs.

2. The system of claim 1.

3. The documentation generation unit Analyze the change history of the source code and automatically identify areas where documentation needs to be updated.

2. The system of claim 1.

4. The test case generation unit Analyze the change history of the specification and automatically identify the parts of the test cases that need to be updated.

2. The system of claim 1.

5. The vulnerability detection unit Analyzing the change history of the source code and automatically identifying the parts that need to be updated for the vulnerability 2. The system of claim 1.

6. The static analysis unit Use emotion estimation to analyze a developer's emotional state and identify code parts that need special attention during times of high stress 2. The system of claim 1.

7. The documentation generation unit Using emotion estimation, we analyze the emotional state of developers and encourage them to update documents when they are least stressed.

2. The system of claim 1.

8. The test case generation unit Using emotion estimation, the developer's emotional state is analyzed and the test case is created during a low-stress period.

2. The system of claim 1.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A