Determination device

The determination device analyzes development tool usage to assess bug embedding likelihood, addressing the inaccuracies of previous methods by comparing user behavior with skilled patterns, enhancing code inspection efficiency.

JP7852323B2Active Publication Date: 2026-04-28NEC CORP
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
NEC CORP
Filing Date
2022-03-22
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

Existing technologies struggle to accurately determine the possibility of bug embedding during high-skill tasks like code implementation, as concentration levels alone are insufficient, and development difficulty does not necessarily correlate with bug embedding probability.

Method used

A determination device that acquires and analyzes information on the usage status of development tools through image data and operation inputs to compare with pre-defined usage patterns of skilled users, determining the likelihood of bug embedding based on these comparisons.

Benefits of technology

Accurately determines the possibility of bug embedding by analyzing development tool usage patterns, enabling better identification of high-risk coding activities and facilitating targeted code inspections.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007852323000001
    Figure 0007852323000001
  • Figure 0007852323000002
    Figure 0007852323000002
  • Figure 0007852323000003
    Figure 0007852323000003
Patent Text Reader

Abstract

To enable appropriate determination of possibility of embedding bugs.SOLUTION: A determination device 200 is provided, comprising an acquisition unit 221 configured to acquire information indicative of usage of a development tool used for implementing source code, and a determination unit 222 configured to determine the possibility of embedding bugs according to the information indicative of usage as acquired by the acquisition unit 221.SELECTED DRAWING: Figure 14
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a determination device, a determination method, and a program.

Background Art

[0002] When implementing software source code, there is a risk of embedding bugs. Technologies that can be used to determine such risks are known.

[0003] As a technology that can be used to determine the above-described risks, for example, there is Patent Document 1. Patent Document 1 describes a computer implementation method executed in a computer system including a plurality of sensors and a central processing unit. According to Patent Document 1, in the above method, a plurality of sensors are used to detect a plurality of physiological parameters related to a person, and the central processing unit is used to aggregate the plurality of physiological parameters detected for the person. Further, the central processing unit is used to extract features of a plurality of psychological data from the plurality of physiological parameters detected for the person. Then, the extracted features of the plurality of psychological data are used together with a prediction model for predicting a person's concentration state to predict the person's concentration state.

[0004] Also, for example, Patent Document 2 describes a development difficulty calculation means for calculating a development skill level and calculating the development difficulty using an expression representing the development difficulty by the ratio of man-hours, development period, and development skill level.

Prior Art Documents

Patent Documents

[0005]

Patent Document 1

Patent Document 2

Summary of the Invention

Problems to be Solved by the Invention

[0006] The technology described in Patent Document 1 allows for the measurement of concentration levels. However, in tasks requiring high skill levels, such as code implementation, the presence or absence of concentration alone is insufficient as a basis for judgment, making it impossible to accurately determine the possibility of bug embedding. Furthermore, even when using the technology described in Patent Document 2, a high level of development difficulty does not necessarily mean a high probability of bug embedding, and it remains difficult to accurately determine the possibility of bug embedding. Thus, a problem arose in that it was difficult to determine the possibility of bug embedding.

[0007] Therefore, the objective of the present invention is to solve the above-mentioned problems. [Means for solving the problem]

[0008] A determination device, which is one embodiment of the present invention, A unit that acquires information indicating the usage status of development tools, which are tools used when implementing source code, Based on the usage information acquired by the acquisition unit, a determination unit determines the possibility of bug embedding, has This is the structure it takes.

[0009] Furthermore, a determination method which is one embodiment of the present invention is Information processing device, We obtain information showing the usage status of development tools, which are tools used when implementing source code. Based on the usage information obtained, the possibility of bug embedding is determined. This is the structure it takes.

[0010] Furthermore, a program, which is one embodiment of the present invention, In an information processing device, We obtain information showing the usage status of development tools, which are tools used when implementing source code. Based on the usage information obtained, the possibility of bug embedding is determined. It is a program for realizing a process.

Advantages of the Invention

[0011] According to each configuration as described above, it is possible to accurately determine the possibility of bug embedding.

Brief Description of the Drawings

[0012] [Figure 1] It is a block diagram showing a configuration example of a determination device in the first embodiment of the present disclosure. [Figure 2] It is a diagram showing an example of development tool information. [Figure 3] It is a diagram showing an example of image data information. [Figure 4] It is a diagram showing an example of image analysis result information. [Figure 5] It is a diagram showing an example of development information. [Figure 6] It is a diagram showing an example of comparison information. [Figure 7] It is a diagram showing another example of comparison information. [Figure 8] It is a diagram showing another example of comparison information. [Figure 9] It is a diagram for explaining an example of the process of the development status analysis unit. [Figure 10] It is a flowchart showing an example of the operation when registering development tool information. [Figure 11] It is a flowchart showing an example of the operation when acquiring image data. [Figure 12] It is a flowchart showing an example of the operation during analysis. [Figure 13] It is a diagram showing a hardware configuration example of a determination device in the second embodiment of the present disclosure. [Figure 14] It is a block diagram showing a configuration example of a determination device

Modes for Carrying Out the Invention

[0013] [First Embodiment] A first embodiment of this disclosure will be described with reference to Figures 1 to 12. Figure 1 is a block diagram showing an example configuration of the determination device 100. Figure 2 is a diagram showing an example of development tool information 152. Figure 3 is a diagram showing an example of image data information 153. Figure 4 is a diagram showing an example of image analysis result information 154. Figure 5 is a diagram showing an example of development information 155. Figures 6 to 8 are diagrams showing examples of comparison information 157. Figure 9 is a diagram illustrating an example of processing of the development status analysis unit 165. Figure 10 is a flowchart showing an example of operation when development tool information 152 is registered. Figure 11 is a flowchart showing an example of operation when image data is acquired. Figure 12 is a flowchart showing an example of operation during analysis.

[0014] In the first embodiment of this disclosure, a determination device 100 is described that determines the possibility of bug embedding based on information indicating the usage status of development tools used by a user during software source code implementation. As will be described later, the determination device 100 acquires information indicating the usage status of development tools based on image data, etc. For example, the determination device 100 acquires information indicating the usage status of development tools, such as how much time is spent looking at specifications, manuals, and other information necessary for implementation before and after implementation, and in what order each document and tool is viewed, when a predetermined line of code is implemented, by analyzing face image data, which is image data that at least includes the eyes of the worker. The determination device 100 also compares the acquired information with information acquired in advance. Then, the determination device 100 determines the possibility of bug embedding based on the results of the comparison. For example, by acquiring information indicating the usage status of development tools by highly skilled users in advance, the determination device 100 can compare it with the usage status of highly skilled users and make a determination based on the comparison results.

[0015] In this embodiment, an example is given of acquiring information indicating the usage status of the development tool based on image data. However, the determination device 100 may acquire information indicating the usage status of the development tool using any method instead of acquiring it based on image data, or in conjunction with acquisition based on image data. For example, the determination device 100 may acquire information indicating the usage status of the development tool by tracing the click locations of an operation input unit 110 such as a mouse.

[0016] Furthermore, in this embodiment, development tools refer to necessary implementation materials, applications, and other various information and tools that may be used in situations where bugs may be introduced, such as when implementing the software source code. For example, development tools include source code, specifications, manuals, and websites. Development tools may also include things other than those exemplified above.

[0017] The determination device 100 is an information processing device that determines the possibility of bug embedding based on information indicating the usage status of development tools used by the user during work. For example, the determination device 100 has a general programmable environment, such as a software source code implementation. For example, the determination device 100 may be a general personal computer or tablet with imaging functions such as a camera.

[0018] Figure 1 shows an example of the configuration of a determination device 100 characteristic of this embodiment. Referring to Figure 1, the determination device 100 has as its main components, for example, an operation input unit 110, an imaging unit 120, a screen display unit 130, a communication I / F unit 140, a storage unit 150, and an arithmetic processing unit 160.

[0019] Figure 1 illustrates a case where the functions of the determination device 100 are realized using a single information processing device. However, at least a part of the functions of the determination device 100 may be realized using multiple information processing devices, such as by being implemented on the cloud. Furthermore, the determination device 100 does not have to include some of the configurations illustrated above, and may have configurations other than those illustrated above.

[0020] The operation input unit 110 consists of an operation input device such as a keyboard or mouse. The operation input unit 110 detects the operation of the user operating the determination device 100 and outputs it to the calculation processing unit 160.

[0021] The imaging unit 120 consists of an imaging device such as a camera. The imaging unit 120 acquires image data of a user or other person using the judgment device 100 and outputs it to the calculation processing unit 160.

[0022] The screen display unit 130 consists of a screen display device such as an LCD (Liquid Crystal Display). The screen display unit 130 can display various information stored in the storage unit 150 on the screen in response to instructions from the arithmetic processing unit 160.

[0023] The communication interface unit 140 consists of data communication circuits and the like. The communication interface unit 140 performs data communication with external devices connected via a communication line.

[0024] The storage unit 150 is a storage device such as a hard disk or memory. The storage unit 150 stores processing information and programs 158 necessary for various processes in the arithmetic processing unit 160. The programs 158 are read into the arithmetic processing unit 160 and executed to realize various processing processes. The programs 158 are pre-read from external devices or recording media via data input / output functions such as the communication I / F unit 140 and stored in the storage unit 150. The main information stored in the storage unit 150 includes, for example, imaging information 151, development tool information 152, image data information 153, image analysis result information 154, development information 155, analysis result information 156, and comparison information 157.

[0025] The imaging information 151 includes information such as the conditions for acquiring development tool image data and information regarding the operation of the imaging unit 120. For example, the imaging information 151 is acquired in advance by methods such as acquiring image data using the imaging unit 120, acquiring it from an external device via the communication I / F unit 140, or inputting it using the operation input unit 110, and is stored in the storage unit 150.

[0026] Specifically, the imaging information 151 includes developer information, which includes image data of the face of the user operating the judgment device 100. This developer information may be used, for example, when performing facial recognition. The imaging information 151 may also include information indicating the acquisition time and shooting interval when acquiring development tool image data or facial image data.

[0027] The development tool information 152 includes information about the development tool, such as the name of the development tool and image data of the development tool. For example, the development tool information 152 is updated when the development tool information acquisition unit 161, described later, acquires information about the development tool.

[0028] Figure 2 shows an example of the information included in the development tool information 152. Referring to Figure 2, for example, the development tool information 152 associates the development tool name with the development tool image data. Here, the development tool name is information acquired by the development tool information acquisition unit 161 in response to user operations on the operation input unit 110, and indicates the name of the development tool. For example, in Figure 2, source code, specifications, manuals, and websites are given as examples of development tool names. The development tool name may be other than those given as examples. The development tool image data is image data of the development tool in use. The development tool image data can be acquired, for example, by cropping the display of the development tool on the screen display unit 130 using an existing method. If the development tool is a paper document, the development tool image data may be acquired using the imaging unit 120, etc. Note that the development tool image data may also be information about feature points extracted from characteristic parts of the image data of the development tool in use, or information indicating feature quantities calculated from feature points, etc.

[0029] Image data information 153 includes face image data acquired by the imaging unit 120 when the user is implementing the source code of the software. For example, the face image data included in image data information 153 includes at least the user's eyes as the subject. For example, image data information 153 is updated when the acquisition unit 162, described later, acquires face image data using the imaging unit 120.

[0030] Figure 3 shows an example of the information contained in the image data information 153. Referring to Figure 3, for example, the image data information 153 associates the time when the imaging unit 120 acquired the image data with the face image data. As mentioned above, the face image data includes at least the user's eyes.

[0031] The image analysis result information 154 includes information corresponding to the results of the analysis performed by the image data analysis unit 163, which will be described later. For example, the image analysis result information 154 includes extracted image data obtained by extracting the central portion of the eye image from the face image data included in the image data information 153. For example, the image analysis result information 154 is updated in response to the image data analysis unit 163 analyzing the face image data included in the image data information 153.

[0032] Figure 4 shows an example of the information included in the image analysis result information 154. Referring to Figure 4, for example, the image analysis result information 154 associates time with extracted image data. Here, the time included in the image analysis result information 154 corresponds to the acquisition time of the face image data from which the associated extracted image data was extracted. Furthermore, the extracted image data is generated, for example, by the image data analysis unit 163 extracting the central part of the eye from the face image data.

[0033] The development information 155 includes information indicating the development tool used when acquiring the image data, as determined by the tool usage determination unit 164 (described later) based on the extracted image data included in the image analysis result information 154 and the development tool information 152. In other words, the development information 155 includes information indicating the chronological usage status of the development tool by the user operating the determination device 100. For example, the development information 155 is updated when the tool usage determination unit 164 determines the development tool based on the extracted image data included in the image analysis result information 154.

[0034] Figure 5 shows an example of the information contained in development information 155. Referring to Figure 5, for example, development information 155 associates time and development tool name. Here, the time contained in development information 155 corresponds to the time the image data was acquired. The development tool name contains information indicating one of the development tool names contained in development tool information 152, for example.

[0035] The analysis result information 156 includes information indicating the results of the analysis performed by the development status analysis unit 165, described later, based on the development information 155, etc. For example, the analysis result information 156 may include information indicating the possibility of bug embedding, or information indicating the basis for determining the possibility of bug embedding. The analysis result information 156 is updated in accordance with the development status analysis unit 165 performing analysis processing based on the development information 155, etc.

[0036] The comparison information 157 includes information that the development status analysis unit 165 compares with the information contained in the development information 155 when analyzing the development information 155. For example, the comparison information 157 may include information showing the usage status of development tools by highly skilled users. The comparison information 157 may also include information showing the usage status of development tools by low-skilled users. For example, as described above, the comparison information 157 includes information showing the usage status of development tools by people other than the user operating the determination device 100. For example, the comparison information 157 is acquired in advance by methods such as acquiring it from an external device via the communication I / F unit 140 or inputting it using the operation input unit 110, and is stored in the storage unit 150.

[0037] Figure 6 shows an example of the information included in comparative information 157. Referring to Figure 6, comparative information 157 includes information showing the usage status of development tools, such as the usage rate of each development tool. As mentioned above, comparative information 157 may include information showing the usage status of development tools by highly skilled individuals and information showing the usage status of development tools by less skilled individuals. For example, as illustrated in Figure 6, comparative information 157 includes information showing the usage rate of each development tool by person A, who is highly skilled, and person B, who is less skilled.

[0038] Furthermore, the comparative information 157 may include information indicating the usage status of development tools other than the usage ratio. For example, referring to Figure 7, the comparative information 157 may include information indicating the usage time of each development tool within a predetermined time period. Also, as shown in Figure 8, the comparative information 157 may include information indicating the usage status of development tools in chronological order. For example, the comparative information 157 may include at least one of the information examples shown in Figures 6 to 8.

[0039] The above is the main information stored in the memory unit 150. As mentioned above, in development information 155, etc., the time and the name of the development tool are associated. Therefore, for example, by further associating information such as the time each source code was written during source code implementation, it is also possible to associate the written source code with the name of the development tool used when writing the source code.

[0040] The arithmetic processing unit 160 includes an arithmetic unit such as a CPU (Central Processing Unit) and its peripheral circuits. The arithmetic processing unit 160 reads and executes a program 158 from the storage unit 150, thereby realizing various processing functions by coordinating the hardware and the program 158. Examples of the main processing functions realized by the arithmetic processing unit 160 include a development tool information acquisition unit 161, an acquisition unit 162, an image data analysis unit 163, a tool usage determination unit 164, a development status analysis unit 165, and an output unit 166.

[0041] The development tool information acquisition unit 161 acquires development tool names, development tool image data, etc., in response to user operations on the operation input unit 110, the imaging unit 120, etc. The development tool information acquisition unit 161 also associates the acquired development tool names with the development tool image data, etc., and stores them in the storage unit 150 as development tool information 152.

[0042] For example, the development tool information acquisition unit 161 can start acquiring development tool names and development tool image data in response to instructions from a user, and then continue acquiring development tool names and development tool image data for the acquisition time indicated by the imaging information 151. The development tool information acquisition unit 161 may first acquire the development tool name using the operation input unit 110, and then, during the acquisition time, acquire development tool image data by cropping the development tool portion on the screen display unit 130 in response to instructions from a user. For example, the development tool information acquisition unit 161 may store the acquired development tool name and development tool image data in the storage unit 150 each time they are acquired, or it may store them all at once in the storage unit 150 after the acquisition time has elapsed.

[0043] The development tool information acquisition unit 161 may acquire development tool image data using the imaging unit 120 or the like. Alternatively, the development tool information acquisition unit 161 may acquire information from an external device, such as a communication interface unit 140, that associates the development tool name with the development tool image data.

[0044] The acquisition unit 162 acquires face image data using the imaging unit 120. For example, the acquisition unit 162 can acquire image data at each shooting interval indicated by the imaging information 151. The acquisition unit 162 may be configured to start acquiring face image data in response to instructions from the user and continue acquiring image data at the above shooting intervals until further instructions are received from the user. The acquisition unit 162 also stores the acquired face image data in the storage unit 150 as image data information 153, associated with the time the face image data was acquired.

[0045] Furthermore, from a privacy perspective, the acquisition unit 162 may be configured to first perform facial recognition using the developer information contained in the imaging information 151, and then acquire and store facial image data if authentication is successful.

[0046] The image data analysis unit 163 performs an analysis on the facial image data contained in the image data information 153. For example, by performing an analysis on the facial image data, the image data analysis unit 163 extracts information necessary to identify the development tool being used by the user.

[0047] For example, the image data analysis unit 163 extracts the eye region of a person based on the face image data. The image data analysis unit 163 also extracts what is captured in the center of the eye by, for example, extracting the central part of the eye from the extracted eye region of the person. For example, through the above processing, the image data analysis unit 163 extracts extracted image data from the face image data. The image data analysis unit 163 also stores the extracted results, along with the acquisition time of the corresponding face image data, in the storage unit 150 as image analysis result information 154. Note that the image data analysis unit 163 may use known techniques to extract the eye region or the central part of the eye from the face image data, for example, by using a pre-trained model that has been trained in advance by performing training using training data with the eye region as a label, or similarly, by using a pre-trained model that has been trained in advance to extract the central part of the eye.

[0048] The tool usage determination unit 164 determines the development tool currently being used by the user based on the extracted image data included in the image analysis result information 154 and the development tool information 152. The tool usage determination unit 164 also stores information indicating the determination result as development information 155 in the storage unit 150.

[0049] For example, the tool usage determination unit 164 determines the development tool corresponding to the object indicated by the extracted image data by checking whether an object identical or similar to the object indicated by the development tool image data included in the development tool information 152 is captured in the extracted image data included in the image analysis result information 154. For example, the tool usage determination unit 164 may perform the above determination using a pre-trained model that has been trained in advance, such as by training with development tool image data labeled with the development tool name as training data. It should be noted that there may be cases where the development tool cannot be identified from the extracted image data. In that case, the tool usage determination unit 164 may discard the extracted image data and perform the determination on the extracted image data for the next time point.

[0050] The development status analysis unit 165 is a determination unit that determines the possibility of bug embedding by analyzing development information 155 and the like. For example, the development status analysis unit 165 analyzes the development information 155 and the like by comparing the usage status of development tools by users of the determination device 100 indicated by the development information 155 with comparison information 157 to determine the possibility of bug embedding. The development status analysis unit 165 also stores the analysis results as analysis result information 156 in the storage unit 150.

[0051] For example, the development status analysis unit 165 calculates the usage rate of each development tool based on the development information 155, as illustrated in Figure 9. The development status analysis unit 165 also compares the calculated usage rate with the usage rates of highly skilled and low-skilled users, as illustrated in Figure 6. Based on the results of this comparison, the development status analysis unit 165 can determine the possibility of bug embedding. For example, if the comparison results indicate that the usage rate of each development tool among users of the determination device 100 is similar to that of highly skilled users, the development status analysis unit 165 can determine that the possibility of bug embedding is low. On the other hand, if the comparison results indicate that the usage rate of each development tool among users of the determination device 100 is similar to that of low-skilled users, the development status analysis unit 165 can determine that the possibility of bug embedding is high. The determination of similarity can be made using any means, for example, by determining similarity if the difference between the calculated usage rate of each development tool and the usage rate of highly skilled users is within a predetermined threshold. Furthermore, the development status analysis unit 165 may numerically determine the possibility of bug embedding by calculating the similarity with the comparison information 157. The similarity may also be calculated using any means.

[0052] Furthermore, the development status analysis unit 165 may identify the possibility of bug embedding by identifying the usage rates of development tools that exceed predetermined conditions as a result of the above comparison. For example, suppose that the usage rate of the development tool "source code" among highly skilled developers, as shown in comparison information 157, is 25%, while the usage rate of the user's development tool "source code" is calculated to be 60% based on development information 155. In this case, if, for example, the condition is predetermined that the difference in usage rates must be within 2 times, the development status analysis unit 165 can determine that the usage rate of the user's development tool "source code" is excessively high compared to the usage rate among highly skilled developers, and therefore there is a high possibility of bug embedding. In this way, the development status analysis unit 165 may determine the possibility of bug embedding by comparing the usage rates of development tools based on predetermined conditions.

[0053] As mentioned above, the comparison information 157 may include information other than the usage ratio, such as information indicating the usage time of each development tool within a predetermined time period and information indicating the usage status of development tools in chronological order. The development status analysis unit 165 may perform calculation processing according to the comparison information 157 and compare it with the comparison information 157. For example, the development status analysis unit 165 may calculate the usage time of each development tool within a predetermined time period based on the development information 155 and compare it with the comparison information 157, or it may directly compare the time-series usage status shown in the development information 155 with the comparison information 157. For example, by comparing the time-series usage status shown in the development information 155 with the comparison information 157 to determine the possibility of bug embedding, it is possible to determine that timings where there is a large difference in usage status, such as timings where the difference in usage time exceeds a predetermined threshold, are timings where there is a high possibility of bug embedding. The development status analysis unit 165 may combine the above-described examples of multiple processes.

[0054] The output unit 166 outputs analysis result information 156, etc. The output unit 166 outputs, for example, information indicating the possibility of bug embedding, a numerical value corresponding to the possibility of bug embedding, and timing information such as the time when bug embedding is most likely. The output unit 166 may also output warning information corresponding to the possibility of bug embedding, etc. For example, the output unit 166 can display the analysis result information 156, etc. on the screen display unit 130 or transmit it to an external device via the communication I / F unit 140.

[0055] The above is an example of the configuration of the determination device 100. Next, an example of the operation of the determination device 100 will be described with reference to Figures 10 to 12.

[0056] Figure 10 is a flowchart illustrating an example of the operation of the determination device 100 when development tool information 152 is registered. Referring to Figure 10, the development tool information acquisition unit 161 acquires the development tool name, development tool image data, etc., in response to user operations on the operation input unit 110, the imaging unit 120, etc. (step S101). For example, after the development tool information acquisition unit 161 starts acquiring the development tool name, development tool image data, etc., in response to instructions from the user, etc., it can continue acquiring the development tool name, development tool image data, etc., for the acquisition time indicated by the imaging information 151. The development tool information acquisition unit 161 may first acquire the development tool name using the operation input unit 110, and then, during the acquisition time, acquire development tool image data by cropping the development tool portion on the screen display unit 130 in response to user instructions, etc.

[0057] The development tool information acquisition unit 161 associates the acquired development tool name with development tool image data, etc., and stores it in the storage unit 150 as development tool information 152 (step S102).

[0058] The above is an example of the operation of the determination device 100 when development tool information 152 is registered. Next, with reference to Figure 11, an example of the operation of the determination device 100 when image data is acquired will be explained.

[0059] Referring to Figure 11, the acquisition unit 162 acquires face image data using the imaging unit 120 (step S201). For example, the acquisition unit 162 can acquire image data at each shooting interval indicated by the imaging information 151. From the standpoint of privacy, the acquisition unit 162 may be configured to first perform face authentication using the developer information contained in the imaging information 151, and then acquire face image data if authentication is successful.

[0060] The image data analysis unit 163 performs analysis on the face image data contained in the image data information 153. For example, the image data analysis unit 163 extracts the eye region of a person based on the face image data (step S202). The image data analysis unit 163 also extracts what is captured in the center of the eye by extracting the central part of the eye from the extracted eye region of the person (step S203).

[0061] The tool usage determination unit 164 determines the development tool currently being used by the user based on the extracted image data included in the image analysis result information 154 and the development tool information 152 (step S204). For example, the tool usage determination unit 164 determines the development tool corresponding to the object indicated by the extracted image data by checking whether the extracted image data included in the image analysis result information 154 contains an object that is identical or similar to the object indicated by the development tool image data included in the development tool information 152. The tool usage determination unit 164 also stores the information indicating the determination result as development information 155 in the storage unit 150 (step S205).

[0062] The above is an example of the operation of the determination device 100 during image data acquisition. Note that the processing from step S202 onward does not necessarily have to be performed immediately after the processing in step S201.

[0063] Next, with reference to Figure 12, an example of the operation of the determination device 100 during analysis will be described. Referring to Figure 12, the development status analysis unit 165 compares the usage status of development tools by users of the determination device 100, as indicated by the development information 155, with the comparison information (step S301). Before processing in step S301, the development status analysis unit 165 may perform preprocessing according to the type of comparison information 157, such as calculating the usage rate of each development tool based on the development information 155. Furthermore, the development status analysis unit 165 can determine the possibility of bug embedding, etc., based on the comparison results.

[0064] The output unit 166 outputs the result of the determination made by the development status analysis unit 165 (step S302). For example, the output unit 166 can display the determination result on the screen display unit 130 or transmit it to an external device via the communication I / F unit 140.

[0065] The above is an example of the operation during analysis.

[0066] Thus, the determination device 100 has a development status analysis unit 165. With this configuration, the development status analysis unit 165 can determine the bug embedding rate by comparing the usage status of development tools by users of the determination device 100 with comparison information 157. As a result, it is possible to make determinations according to the usage status of each development tool in accordance with the behavior of users and highly skilled individuals, and thus accurately determine the bug embedding rate.

[0067] For example, the determination device 100 described in this embodiment can output timings where bug embedding is highly likely, as mentioned above. As a result, it becomes easier to suppress bug embedding. Furthermore, with the determination device 100, when reviewers perform CDI (code inspection), they can easily check what materials the user referred to and how they implemented the relevant line, rather than just searching for bugs in the source code.

[0068] Furthermore, the determination device 100 includes an image data analysis unit 163 and a tool usage determination unit 164. With this configuration, the tool usage determination unit 164 can determine the development tool being used by the user based on the extracted image data extracted by the image data analysis unit 163.

[0069] Furthermore, the development status analysis unit 165 may determine the possibility of bug embedding by adding predetermined parameters such as "concentration level" and "break time" to the comparison result of the development tool usage status and comparison information 157. For example, the development status analysis unit 165 may change conditions such as the similarity or difference between the usage status and comparison information 157 according to the "concentration level" parameter so that it is easier to determine that the lower the "concentration level," the higher the possibility of bug embedding. The development status analysis unit 165 may make similar changes so that it is easier to determine that the shorter the "break time," the higher the possibility of bug embedding. The development status analysis unit 165 may also read "emotions" from facial expressions and add the "emotions" parameter to determine the possibility of bug embedding. The development status analysis unit 165 may also add parameters such as interruptions by other work during source code implementation. For example, the tool usage determination unit 164 may determine that an interruption by other work occurred when it is not possible to identify the development tool from the extracted image data.

[0070] [Second Embodiment] Next, a second embodiment of the present disclosure will be described with reference to Figures 13 and 14. Figure 13 is a diagram showing an example of the hardware configuration of the determination device 200. Figure 14 is a block diagram showing an example of the configuration of the determination device 200.

[0071] In a second embodiment of this disclosure, an example configuration of a determination device 200, which is an information processing device that determines the possibility of bug embedding depending on the usage status of development tools during source code implementation, is described. Figure 13 shows an example of the hardware configuration of the determination device 200. Referring to Figure 13, the determination device 200 has the following hardware configuration as an example. ·CPU (Central Processing Unit) 201 (computing unit) ROM (Read Only Memory) 202 (Storage Device) • RAM (Random Access Memory) 203 (storage device) • Program group 204 loaded into RAM203 • Storage device 205 for storing the program group 204 • Drive device 206 for reading and writing to the recording medium 210 outside the information processing device. • Communication interface 207 connecting to a communication network 211 outside the information processing device. • Input / output interface 208 for data input and output. • Bus 209 connecting each component

[0072] Furthermore, the determination device 200 can realize the functions of the acquisition unit 221 and determination unit 222 shown in Figure 14 by having the CPU 201 acquire the program group 204 and execute it. The program group 204 is, for example, stored in advance in the storage device 205 or ROM 202, and the CPU 201 loads it into RAM 203 or the like and executes it as needed. Alternatively, the program group 204 may be supplied to the CPU 201 via the communication network 211, or it may be stored in advance in the recording medium 210, and the drive device 206 may read the program and supply it to the CPU 201.

[0073] Figure 13 shows an example of the hardware configuration of the determination device 200. The hardware configuration of the determination device 200 is not limited to the case described above. For example, the determination device 200 may consist of only a part of the configuration described above, such as not having a drive device 206.

[0074] The acquisition unit 221 acquires information indicating the usage status of development tools, which are tools used when implementing source code.

[0075] The determination unit 222 determines the possibility of bug embedding based on the usage information acquired by the acquisition unit 221.

[0076] Thus, the determination device 200 has an acquisition unit 221 and a determination unit 222. With this configuration, the determination unit 222 can determine the possibility of bug embedding based on the usage information acquired by the acquisition unit 221. As a result, since a determination can be made according to the usage situation, the bug embedding rate can be accurately determined.

[0077] The aforementioned determination device 200 can be realized by incorporating a predetermined program into the information processing device such as the determination device 200. Specifically, another form of the present invention is a program that enables the information processing device such as the determination device 200 to acquire information indicating the usage status of development tools, which are tools used when implementing source code, and to determine the possibility of bug embedding based on the acquired usage status information.

[0078] Furthermore, the determination method performed by the information processing device such as the determination device 200 described above involves the information processing device such as the determination device 200 acquiring information indicating the usage status of development tools, which are tools used when implementing source code, and determining the possibility of bug embedding based on the acquired usage status information.

[0079] Even if the invention is a program, or a recording medium readable by a computer on which the program is recorded, or an auxiliary method having the above-described configuration, it can achieve the same operation and effect as the determination device 200 described above, and thus achieve the objectives of the present disclosure described above.

[0080] <Note> Some or all of the above embodiments may also be described as follows. The following outlines the determination device and other components of the present invention. However, the present invention is not limited to the following configuration.

[0081] (Note 1) A unit that acquires information indicating the usage status of development tools, which are tools used when implementing source code, Based on the usage information acquired by the acquisition unit, a determination unit determines the possibility of bug embedding, has Judgment device. (Note 2) The determination device described in Appendix 1, The determination unit determines the possibility of bug embedding by comparing the usage information acquired by the acquisition unit with information about the usage status of other people that is stored in advance. Judgment device. (Note 3) A determination device as described in Appendix 1 or Appendix 2, The determination unit determines whether the information indicating usage status acquired by the acquisition unit is similar to information indicating usage status of other people that is stored in advance, thereby determining the possibility of bug embedding. Judgment device. (Note 4) A determination device described in any one of the items from Appendix 1 to Appendix 3, The determination unit determines the possibility of bug embedding by comparing information showing usage status in a time series. Judgment device. (Note 5) A determination device described in any one of the items from Appendix 1 to Appendix 4, The determination unit performs preprocessing on the usage information acquired by the acquisition unit, according to information on the usage status of other users that is stored in advance, to determine the possibility of bug embedding. Judgment device. (Note 6) A determination device described in any one of the items from Appendix 1 to Appendix 5, The determination unit determines the possibility of bug embedding based on the usage rate of the development tool calculated based on the usage information acquired by the acquisition unit. Judgment device. (Note 7) A determination device described in any one of the items from Appendix 1 to Appendix 6, The acquisition unit acquires information indicating the usage status of the development tool based on the facial image data of the user using the determination device. Judgment device. (Note 8) The determination device described in Appendix 7, The acquisition unit acquires information indicating the usage status of the development tool based on the result of extracting the eye region from the facial image data. Judgment device. (Note 9) Information processing device, We obtain information showing the usage status of development tools, which are tools used when implementing source code. Based on the usage information obtained, the possibility of bug embedding is determined. Judgment method. (Note 10) In an information processing device, We obtain information showing the usage status of development tools, which are tools used when implementing source code. Based on the usage information obtained, the possibility of bug embedding is determined. A program to perform the processing.

[0082] Although the present invention has been described above with reference to the embodiments described above, the present invention is not limited to the embodiments described above. Various modifications to the structure and details of the present invention can be made within the scope of the present invention as can be understood by those skilled in the art. [Explanation of Symbols]

[0083] 100 Judgment device 110 Operation Input Section 120 Imaging Unit 130 Screen display section 140 Communication I / F section 150 Storage section 151 Imaging Information 152 Development Tools Information 153 Image data information 154 Image Analysis Results Information 155 Development Information 156 Analysis result information 157 Comparison Information 158 Programs 160 Arithmetic Processing Unit 161 Development Tool Information Acquisition Section 162 Acquisition Department 163 Image Data Analysis Department 164 Tool Usage Determination Unit 165 Development Status Analysis Department Output section of 166 200 Judgment device 201 CPU 202 ROM 203 RAM 204 Program Groups 205 Storage device 206 Drive unit 207 Communication Interface 208 Input / Output Interfaces Bus 209 210 Recording media 211 Communication Network 221 Acquisition Department 222 Judgment section

Claims

1. A unit that acquires information indicating the usage status of development tools, which are tools used when implementing source code, Based on the usage information acquired by the acquisition unit, a determination unit determines the possibility of bug embedding, It has, The determination unit determines the possibility of bug embedding by determining whether the usage information acquired by the acquisition unit is similar to the usage information of highly skilled users that is stored in advance. Judgment device.

2. A determination device according to Claim 1, The determination unit determines that the possibility of bug embedding is low if it can determine that the usage information acquired by the acquisition unit is similar to the usage information of highly skilled users that is stored in advance. Judgment device.

3. A determination device according to claim 1, The determination unit determines whether the usage information acquired by the acquisition unit is similar to the usage information of high-skilled users stored in advance, and also determines whether the usage information acquired by the acquisition unit is similar to the usage information of low-skilled users stored in advance, thereby determining the possibility of bug embedding. Judgment device.

4. A determination device according to any one of claims 1 to 3, The determination unit determines the possibility of bug embedding by comparing information showing usage status in a time series. Judgment device.

5. A determination device according to any one of claims 1 to 4, The determination unit performs preprocessing on the usage information acquired by the acquisition unit, according to information on the usage status of other users that is stored in advance, to determine the possibility of bug embedding. Judgment device.

6. A determination device according to any one of claims 1 to 5, The determination unit determines the possibility of bug embedding based on the usage rate of the development tool calculated based on the usage information acquired by the acquisition unit. Judgment device.

7. A determination device according to any one of claims 1 to 6, The acquisition unit acquires information indicating the usage status of the development tool based on the facial image data of the user using the determination device. Judgment device.

8. A determination device according to claim 7, The acquisition unit acquires information indicating the usage status of the development tool based on the result of extracting the eye region from the facial image data. Judgment device.

9. Information processing device, We obtain information showing the usage status of development tools, which are tools used when implementing source code. Based on the usage information obtained, the possibility of bug embedding is determined. When making a determination, the possibility of bug embedding is determined by checking whether the acquired usage information is similar to the pre-stored usage information of highly skilled users. Judgment method.

10. In an information processing device, We obtain information showing the usage status of development tools, which are tools used when implementing source code. Based on the usage information obtained, the possibility of bug embedding is determined. When making a determination, the possibility of bug embedding is determined by checking whether the acquired usage information is similar to the pre-stored usage information of highly skilled users. A program to perform the processing.

Citation Information

Patent Citations

  • Application development support program and application development support system

    JP2015162067A

  • Software quality standard computing device and software quality standard computing method

    JP2016035615A

  • Software development support apparatus, software development support method, and program

    JP2018018267A

  • System and method, computer implementation method, program and computer system for physiological detection for detecting state of concentration of person for optimization of productivity and business quality

    JP2019145067A