Information device, information processing method, and information processing program product

By designing an information processing device and method for static analysis results review, automatically matching and determining the replication source and replication destination, the cost and human error problems caused by the huge number of warnings in the review of static analysis results in the prior art are solved, and an efficient and safe review process is achieved.

CN120216015APending Publication Date: 2025-06-27DENSO CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411914611.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-12-26
Filing Date
2024-12-24
Publication Date
2025-06-27

AI Technical Summary

Technical Problem

In the review of static analysis results, the existing technology faces a huge number of warnings that need to be confirmed one by one, resulting in high costs and easy missed problems caused by human error.

Method used

An information processing device and method are designed to store static analysis results and review results through a database to realize automatic matching and judgment of replication sources and replication destinations, prevent human errors, and improve review efficiency.

Benefits of technology

By automatically determining the appropriateness of the replication destination, the occurrence of human errors is reduced, the review efficiency of static analysis results is improved, and the quality of review is ensured.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120216015A_ABST
    Figure CN120216015A_ABST
Patent Text Reader

Abstract

The invention relates to an information device, an information processing method, and an information processing program product. This information processing device is provided with: a database that stores static analysis results of source codes and review results for the static analysis results; an input unit that accepts a selection of a copy source from the reviewed static analysis results, accepts a selection of a plurality of copy destinations, and accepts a copy processing request to copy the review results of the copy source for the static analysis results from the copy source to the plurality of copy destinations; an acquisition unit that acquires copy source information of a copy source and copy destination information of a plurality of copy destinations from the database in response to receipt of the copy processing request; a determination unit that determines whether or not each copy destination is appropriate on the basis of the copy source information and the copy destination information; and an output unit that outputs a determination result by the determination unit.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information device, an information processing method, and an information processing program product. Background Art

[0002] As one of the technologies widely used as a means to ensure the quality and reliability of software, there is static analysis. There are also many tools for static analysis, which can be easily executed. On the other hand, the number of warnings is huge. Software engineers need to confirm each of the huge number of warnings one by one to judge whether it is a bad situation. Since it is a task for a huge number of warnings, it requires a great deal of cost. In addition, there are concerns about the quality because there may be an oversight of bad situations caused by human error.

[0003] The following review support device is described in Patent Document 1: By displaying past review results as reuse candidates, the review time for one warning is reduced. In the review support device described in Patent Document 1, the evaluation and correction examples given to the warnings are appropriately transferred, so that the correspondence between the reset warnings and the evaluation and correction examples can be automatically constructed every time the version is updated, reducing the burden of review.

[0004] Patent Document 1: Japanese Unexamined Patent Application Publication No. 2011-081496

[0005] However, in the review support device described in Patent Document 1, the task of recording the determination results one by one for a huge number of warnings remains unchanged, so there remains the problem that the recording takes time. Summary of the Invention

[0006] In view of the above problems, an object of the present invention is to provide an information processing device capable of efficiently and with safe quality performing a review of static analysis results.

[0007] An object of the present invention is to provide an information processing method and a program product capable of efficiently and with safe quality performing a review of static analysis results.

[0008] An information processing apparatus according to one aspect of the present invention includes: a database that stores a static analysis result of source code and a review result for the static analysis result; an input unit that receives a selection of a copy source from among the reviewed static analysis results, receives a selection of a plurality of copy destinations, and receives a copy processing request to copy the review result for the static analysis result from the copy source to the plurality of copy destinations; an acquisition unit that, in response to receiving the copy processing request, acquires copy source information of the copy source and copy destination information of the plurality of copy destinations from the database; a determination unit that determines whether each of the plurality of copy destinations is appropriate based on the copy source information and the copy destination information; and an output unit that outputs a determination result based on the determination by the determination unit.

[0009] According to this configuration, the determination unit can determine whether a plurality of copy destinations are appropriate based on the copy source information and the copy destination information. Thereby, it is possible to prevent human errors that may occur during copying of the review result, and it is possible to perform the review of the static analysis result with stable quality. Further, when a plurality of copy destinations are appropriate, it is possible to copy the review result of the copy source to the plurality of copy destinations all at once, and thus it is possible to efficiently perform the review of the static analysis result.

[0010] An information processing apparatus according to one aspect of the present invention includes: a database that stores a static analysis result of source code and a review result for the static analysis result; an input unit that receives a selection of the static analysis result to be used as a copy source from among the reviewed static analysis results and receives a copy processing request to copy the review result for the static analysis result; a candidate selection unit that, in response to receiving the selection of the copy source, automatically selects candidates for a plurality of copy destinations based on the copy source information of the copy source; and a writing unit that, in response to receiving the copy processing request, writes the review result of the copy source to the plurality of copy destinations.

[0011] According to this configuration, the candidate selection unit automatically selects a plurality of copy destinations based on the copy source information. Thereby, the user can select a copy destination to which the review result should be copied from among the candidates for the plurality of copy destinations automatically selected, and thus it is possible to efficiently perform the operation of selecting a copy destination, and it is possible to prevent human errors that may occur during copying, and it is possible to perform the review of the static analysis result with stable quality. Further, it is possible to copy the review result of the copy source to the plurality of copy destinations all at once, and thus it is possible to efficiently perform the review of the static analysis result.

[0012] An information processing method according to one embodiment of the present invention is an information processing method of an information processing apparatus having a database, where the database stores static analysis results of source code and review results for the static analysis results. The information processing method includes: an input step of receiving a selection of a copy source from the reviewed static analysis results, receiving selections of a plurality of copy destinations, and receiving a copy processing request to copy the review results for the static analysis results of the copy source from the copy source to the plurality of copy destinations; an acquisition step of, in response to receiving the copy processing request, acquiring copy source information of the copy source and copy destination information of the plurality of copy destinations from the database; a determination step of determining whether each of the copy destinations is appropriate based on the copy source information and the copy destination information; and an output step of outputting a determination result based on the determination step of the determination result.

[0013] An information processing program product according to one embodiment of the present invention is an information processing program product of an information processing apparatus having a database, where the database stores static analysis results of source code and review results for the static analysis results. The information processing program product causes a computer to execute: an input step of receiving a selection of a copy source from the reviewed static analysis results, receiving selections of a plurality of copy destinations, and receiving a copy processing request to copy the review results for the static analysis results of the copy source from the copy source to the plurality of copy destinations; an acquisition step of, in response to receiving the copy processing request, acquiring copy source information of the copy source and copy destination information of the plurality of copy destinations from the database; a determination step of determining whether each of the copy destinations is appropriate based on the copy source information and the copy destination information; and an output step of outputting a determination result based on the determination step of the determination result.

[0014] According to the present invention, it is possible to provide an information processing apparatus and the like that can efficiently and with security quality perform a review of static analysis results. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1 is a diagram showing an example of the system configuration of an information processing system.

[0016] Figure 2 is a diagram showing an example of the hardware configuration of a user terminal and an information processing apparatus.

[0017] Figure 3 is a block diagram showing the functions of an information processing apparatus.

[0018] Figure 4A is an example of data of static analysis results.

[0019] Figure 4BThis is a diagram showing an example of data representing the examination result.

[0020] Figure 5 This is a diagram showing an example of a browser display screen for a user to manually select a copy source and a copy destination.

[0021] Figure 6 This is a diagram showing an example of a browser display screen that displays information copied to the copy destination and information not copied to the copy destination.

[0022] Figure 7A This is a warning screen that does not allow copying.

[0023] Figure 7B This is a diagram showing a warning screen that displays whether to copy in the form of "Yes / No".

[0024] Figure 8 This is a diagram showing an example of a browser display screen that displays a decision screen.

[0025] Figure 9 This is a diagram showing an example of a browser display screen that shows the result after the candidate selection section automatically selects a candidate for the copy destination based on the warning content when the user selects a copy source.

[0026] Figure 10 This is a flowchart showing the operation process of the information processing device.

[0027] Figure 11 This is a flowchart showing the operation process of the information processing device that presents candidates for the copy destination and prompts the user for confirmation. Detailed implementation mode

[0028] Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In addition, the embodiments described below represent an example of implementing the present invention, and do not limit the present invention to the specific structures described below. When implementing the present invention, specific structures corresponding to the embodiments can be appropriately adopted.

[0029] 1. System structure

[0030] Figure 1 This is a diagram showing an example of the system structure of the information processing system according to this embodiment. As Figure 1As shown, the information processing system includes a user terminal 100, an information processing device 110 serving as a server device, and a network 120. The user terminal 100 and the information processing device 110 are communicably connected via the network 120. Users such as software developers access the information processing device 110 from the user terminal 100 through a web browser to manage data of static analysis results. The information processing device 110 receives the input of the results obtained by analyzing the source code of software using a static analysis tool and manages the static analysis result data. The information processing device 110 receives the input of static analysis results based on multiple static analysis tools.

[0031] 2. Hardware Structure

[0032] Figure 2 FIG. is an example of the hardware structures of the user terminal 100 and the information processing device 110 according to the present embodiment. The user terminal 100 is a terminal used by a user, such as a laptop computer. In addition, the type of the terminal of the user terminal 100 may also be a desktop computer, a tablet terminal, a smart phone, etc. The user terminal 100 includes a control unit 201, a storage unit 202, a communication unit 203, an input unit 204, and a display unit 205, and these components are electrically connected via a communication bus inside the user terminal 100.

[0033] The control unit 201 processes and controls the overall operations related to the user terminal 100. The control unit 201 is, for example, a Central Processing Unit (CPU). The control unit 201 reads a prescribed program stored in the storage unit 202 and, by executing the program, implements various functions of the user terminal 100. That is, the information processing based on the software stored in the storage unit 202 is specifically implemented by the control unit 201 as an example of hardware, and thus can be executed as each functional unit included in the control unit 201. In addition, the control unit 201 is not limited to being a single unit, and may also be implemented as having multiple control units 201 according to each function. Alternatively, it may be a combination thereof.

[0034] The storage unit 202 can be implemented, for example, as a storage device such as a Solid State Drive (SSD) that stores various programs and the like related to the user terminal 100 executed by the control unit 201, or as a memory such as a Random Access Memory (RAM) that stores information (independent variables, arrays, etc.) temporarily required for the operation of the program. The storage unit 202 stores various programs, variables, and data used by the control unit 201 when executing processing based on the program, etc., related to the user terminal 100. The program is a program for causing a computer to function as the control unit of the user terminal 100.

[0035] The communication unit 203 is preferably a wired communication unit such as USB, IEEE 1394, Thunderbolt (registered trademark), or wired LAN network communication, but may also include wireless LAN network communication, mobile communication such as 3G / LTE / 5G, BLUETOOTH (registered trademark) communication, etc., as needed. That is, it is more preferably implemented as a collection of these multiple communication units. That is, the user terminal 100 can also communicate various information from the outside via the communication unit 203 and the network 120.

[0036] The input unit 204 may be included in the housing of the user terminal 100 or may be external. For example, the input unit 204 may be integrated with the display unit 205 and implemented as a touch panel. If it is a touch panel, the user can input click operations, tapping operations, etc. Of course, instead of the touch panel, a switch button, a mouse, a QWERTY keyboard, etc. may be used. That is, the input unit 204 receives operation inputs made by the user. This input is forwarded as a command signal to the control unit 201 via the communication bus, and the control unit 201 can perform prescribed control and operations as needed.

[0037] The display unit 205 may be included in the housing of the user terminal 100, for example, or may be external. The display unit 205 displays a screen of a graphical user interface (GUI) that the user can operate. This is preferably implemented using display devices such as a CRT monitor, a liquid crystal display, an organic EL display, a plasma display, etc., separately according to the type of the user terminal 100.

[0038] In addition, the information processing device 110 has at least a control unit 211, a storage unit 212, and a communication unit 213, and these components are electrically connected via a communication bus inside the information processing device 110. For the control unit 211, the storage unit 212, and the communication unit 213 of the information processing device 110, reference is made to the control unit 201, the storage unit 202, and the communication unit 203 of the user terminal 100.

[0039] 3. Functional Structure

[0040] Regarding the various functions of the information processing device 110, the control unit 211, as an example of hardware, specifically implements information processing based on software stored in the storage unit 212, so that it can be executed as each functional unit included in the information processing device 110.

[0041] Figure 33 is a block diagram showing the functions of the information processing device 110. Specifically, the information processing device 110 includes an input unit 301, an acquisition unit 302, a determination unit 303, an output unit 304, a candidate selection unit 305, a writing unit 306, and a selection cancellation unit 307. In addition, the information processing device 110 includes an analysis result database 308.

[0042] The analysis result database 308 stores the results obtained by analyzing the source code of the software using the static analysis tool, that is, the static analysis results and the review results for the static analysis results. The analysis result database 308 can also store the source code. The analysis result database 308 stores the static analysis results in units of multiple software constituting the product project.

[0043] Static analysis results are data related to warnings for source code that contain descriptions of possible defects (bugs), and are data indicating where in the source code there are syntax errors, etc. Review results are the results of the user's review of warnings, and include information such as the user who conducted the review, the review evaluation after the review, and the review status indicating whether the review is complete.

[0044] There are various tools as static analysis tools. The analysis result database 308 stores the static analysis results after being analyzed by different static analysis tools. The static analysis results vary depending on the static analysis tool, and sometimes a description detected as a warning in a certain static analysis tool is not detected as a warning in other static analysis tools. This is because the fields that the tools are good at analyzing are different based on the specifications of the static analysis tools. The analysis result database 308 stores the static analysis results of multiple static analysis tools, so that high-precision reviews can be performed.

[0045] Figure 4A This shows an example of static analysis result data stored in the analysis result database 308. The static analysis result data includes file ID, tool ID, warning ID, warning message, severity, row, column, and file characteristic data in association with hash values.

[0046] The hash value is identification information for specifying a warning, and is calculated based on data related to the warning and data of the line of code involved in the warning. By using the hash value as identification information, the same warning can be easily identified between source files of different versions. This can save the trouble of re-examining warnings that have already been reviewed, and significantly reduce the time for reviewing the source code.

[0047] The file ID is the file ID of the source file that is the object of static analysis. The tool ID is the ID of the static analysis tool that detected the warning. The warning message is the message used to notify the user of the content of the warning. The warning ID is the ID that determines the warning associated with the warning message. In this specification, this warning ID is referred to as the warning content.

[0048] The severity is the data indicating the severity level of the warning. For example, it is represented by a numerical value from 0 to 30, and the larger the number, the more severe the content of the warning. The line and column are the data determining the position of the code involved in the warning. The line indicates the line number where the warning starts, and the column indicates the column number within the file. The characteristics of the file are the data indicating the characteristics of the object file. For example, it indicates automatically generated source code, source code purchased from other companies, or source code below a certain folder, etc. In Figure 4A "below folder A" means the files saved in the folders below folder A. In addition, what is shown here is an example, and the data of the static analysis result may also include Figure 4A data other than those shown.

[0049] Figure 4B An example of the data representing the review result stored in the analysis result database. The data of the review result has data such as status, confirmator, confirmation date and time, review evaluation, and mark associated with the hash value based on the above static analysis result.

[0050] The hash value is associated with the hash value included in the static analysis result data and determines the warning. The status is the status of the review situation of the warning determined by the hash value. For example, "confirmed" means the confirmation is completed, and "unreviewed" means it has not been reviewed yet. The confirmator is the name of the user who conducts the review of the warning and changes the status. The confirmation date and time is the data of the date and time when the content of the warning is confirmed (i.e., reviewed). The review evaluation is the evaluation left by the confirmator who conducted the review of the warning during the review. The mark is the data indicating that the review result is a duplicate. For example, "〇" means the review result is a duplicate. In addition, what is shown here is an example, and the data of the review result may also include Figure 4B data other than those shown.

[0051] The input unit 301 accepts the selection of the copy source and the copy destination. One copy source is manually selected from the static analysis results that have been reviewed via the user's browser operation. One or more copy destinations are manually selected via the user's browser operation. Multiple copy destinations can also be selected together according to the common elements of the multiple copy destinations. As an example, multiple copy destinations can also be sorted according to the warning content and selected together.

[0052] Figure 5FIG. is an example of a browser display screen for a user to manually select a copy source and a copy destination. As Figure 5 shown, the user can select the copy source by checking the radio button of the copy source. In addition, the user can select the copy destination by checking the checkbox of the copy destination.

[0053] The input unit 301 receives a copy processing request for copying the review result of the static analysis result of the copy source to the copy destination. The user clicks "COPY&PASTE" on the browser (refer to Figure 5 ), so that the input unit 301 receives the copy processing request. In addition, the input unit 301 receives various commands or requests via the user's browser operations. For example, the input unit 301 receives a command to copy the review result of the copy source to the copy destination, or receives a selection cancellation request to cancel the selection of the selected copy destination all at once.

[0054] In response to receiving the copy processing request, the acquisition unit 302 acquires the copy source information of the copy source and the copy destination information of the copy destination from the analysis result database 308. The copy source information is the reviewed information in the static analysis result, so it includes the static analysis result and the review result for the static analysis result. On the other hand, the copy destination information also includes the static analysis result that has not been reviewed, so there is also information that does not include the review result for the static analysis result.

[0055] The determination unit 303 determines whether the copy destination is appropriate based on the copy source information and the copy destination information. Specifically, the determination unit 303 determines whether the copy destination is appropriate based on the warning content of the copy source information and the warning content of the copy destination information. When the warning content of the copy source information and the warning content of the copy destination information are the same, the determination unit 303 determines that the copy destination is appropriate. When the warning content of the copy source information and the warning content of the copy destination information are different, the determination unit 303 determines that the copy destination is inappropriate. And the determination unit 303 determines whether the copy destination is appropriate based on the review status of the copy destination information. Specifically, if the review status is "unreviewed", the determination unit 303 determines that the copy destination is appropriate. In addition, the determination of whether the copy destination is appropriate can also be further considered based on the review evaluation of the copy destination.

[0056] In this embodiment, when the warning contents of the copy source and the copy destination are the same and the copy destination is in an unexamined state, the determination unit 303 determines that the copy destination is appropriate. However, the determination of whether the copy destination is appropriate by the determination unit 303 is not limited to this. Whether the copy destination is appropriate varies according to the user's process and ideas, and thus can be customized. For example, it is also possible to determine whether the copy destination is appropriate according to the characteristics of the target file. When the characteristics of the file are at least any one of automatically generated source code, source code purchased from other companies, or source code below a certain folder, etc., it can also be set as "excluded from the target" of the copy destination.

[0057] The output unit 304 outputs the determination result based on the determination unit 303. Specifically, the output unit 304 displays the determination result based on the determination unit 303 on the display unit 205 of the user terminal 100 via the browser. In addition, the output unit 304 displays various information on the display unit 205 of the user terminal 100 via the browser. For example, when the input unit 301 receives a copy processing request, the output unit 304 outputs the information of copying to the copy destination and the information of not copying to the copy destination in the review result of the copy source information. The information of copying to the copy destination includes, for example, the review status and review evaluation in the review result of the copy source information. The information of not copying to the copy destination includes, for example, the hash value, the confirmor, the confirmation date and time, etc.

[0058] Figure 6 FIG. is an example of a browser display screen showing the information of copying to the copy destination and the information of not copying to the copy destination. As Figure 6 shown, by the output unit 304 displaying such information, the user can simply know which information is copied to the copy destination and which information is not copied to the copy destination.

[0059] In addition, when it is determined by the determination unit 303 that the copy destination is inappropriate, the output unit 304 outputs a warning screen as the determination result. The warning screen includes at least one of the review status and review evaluation in the review result of the copy destination information. Figure 7A And Figure 7B FIG. is an example of a browser display screen showing the warning screen. As Figure 7A shown, when the warning contents of the copy source and the copy destination are inconsistent, a warning screen not allowing copying is displayed. "Warning contents are inconsistent" is displayed on the warning screen, and the user can only select to cancel the copy. Thereby, it is possible to prevent the user from erroneously copying to the copy destination and prevent human errors. In addition, as Figure 7BAs shown, when the warning contents at the copy source and the copy destination are the same, but the copy destination information is not "unreviewed", the review status indicating that the review of the copy destination information has been completed and its review evaluation are displayed as a warning screen, showing "There is already a review status or evaluation set at the copy destination. Do you want to overwrite and copy?" Thus, it is possible to prevent the user from erroneously copying to the copy destination and prevent human errors. In Figure 7B this case, even if a warning screen appears, it is still possible to execute the copy. Therefore, the warning screen includes an area that, like the decision screen described later, displays whether to copy in the form of "Yes / No".

[0060] In addition, when the determination unit 303 determines that the copy destination is appropriate, the output unit 304 outputs a decision screen that enables the user to decide whether to copy the review result of the copy source from the copy source to the copy destination as the determination result. For example, the decision screen is a screen that displays whether to copy in the form of "Yes / No". Figure 8 is a diagram showing an example of a browser display screen that shows the decision screen. As Figure 8 shown, the output unit 304 displays "Copy all to the copy destination?" and shows an area for selecting "Yes" or "No". In addition, when the determination unit 303 determines that the copy destination is appropriate, it is also possible to perform the copy without causing the output unit 304 to output the decision screen. In addition, as described later, the output unit 304 displays the candidates for the copy destination automatically selected by the candidate selection unit 305 on the browser display screen.

[0061] The candidate selection unit 305 automatically selects candidates for the copy destination based on the copy source information of the copy source. Specifically, in response to the input unit 301 receiving a selection of the copy source by the user, the candidate selection unit 305 selects candidates for the copy destination based on the warning contents of the selected copy source. Figure 9 is a diagram showing an example of a browser display screen that shows the result after the candidate selection unit 305 automatically selects candidates for the copy destination based on the warning contents of the selected copy source when the user selects one copy source. The user selects from these candidates for the copy destination by checking the copy destination in the checkbox.

[0062] As Figure 9 shown on the left side, if the user selects the hash value 94b276b42e… as the copy source information, the candidate selection unit 305 automatically selects candidates for the copy destination based on the warning contents of the selected copy source. Then, as Figure 9 shown on the right side, the copy destination information with the same warning contents is displayed as candidates for the copy destination under the copy source information.

[0063] In addition, when the user selects a copy source, the copy source needs to be reviewed. Therefore, for data with a review status of "unreviewed", the GUI can also be controlled to prevent selection. For example, as shown on the left side of Figure 9 it is also possible to disable the function of the radio button for data that cannot be selected.

[0064] In addition, the candidate selection unit 305 can also use a machine learning model that outputs candidates for the copy destination based on the input of the copy source information of the copy source, and select candidates for the copy destination based on the copy source information of the selected copy source. This machine learning model is a model generated by learning using data on the past performance of the user copying the review result of the copy source to the copy destination.

[0065] This model can be, for example, a model that takes the copy source information of the copy source as input and the copy destination information of the copy destination as output, or a model that takes the copy source information of the copy source and the copy destination information of the copy destination as input and outputs the probability of being suitable as the copy destination. If it is the former model, the candidate selection unit 305 inputs the copy source information of the copy source into the model, obtains the attributes required for the warning of the copy destination, and selects a copy destination that matches the attributes. If it is the latter model, the candidate selection unit 305 sequentially inputs the copy source information of the copy source and the copy destination information of the copy destination, and selects a copy destination with a high accuracy rate.

[0066] The writing unit 306 writes data to the analysis result database 308. Specifically, when the input unit 301 receives a command indicating the intention to copy the review result of the copy source from the copy source to the copy destination (that is, when Figure 8 the user selects "Yes"), the writing unit 306 writes the review result of the copy source to the copy destination together. In addition, when writing the copy source information together, the writing unit 306 writes at least one piece of information, such as the confirmor who decides to copy and a mark indicating that the review result of the copy destination is a copy, in the review result of the copy destination.

[0067] When the input unit 301 receives a selection cancellation request to cancel the selection of the selected copy destination (that is, when Figure 5 the user clicks "DESELECT ALL"), the selection cancellation unit 307 cancels the selection of the selected copy source and copy destination together. As a result, before performing the next operation, the user does not need to cancel the selection of the selected copy source and copy destination one by one, and the operability is excellent.

[0068] 4. Information Processing Method

[0069] Next, the information processing method of the information processing apparatus 110 will be described. Figure 10 It is a flowchart showing the process of the operation of the information processing apparatus 110.

[0070] In step S101, the input unit 301 receives the selection of the copy source and the selection of the copy destination from the static analysis result that has been reviewed from the user terminal 100, and receives a copy processing request to copy the review result of the static analysis result of the copy source from the copy source to the copy destination. In addition, the acceptance of the selection of the copy source is performed by checking a radio button, and the acceptance of the selection of the copy destination is performed by checking a checkbox (refer to Figure 5 ). In addition, the acceptance of the copy processing request is performed by the user clicking the "COPY&PASTE" button (refer to Figure 5 ).

[0071] In step S102, in response to the input unit 301 receiving the copy processing request, the acquisition unit 302 acquires the copy source information of the copy source and the copy destination information of the copy destination from the analysis result database 308. At this time, as Figure 6 shown, the output unit 304 can also display, via the browser, a screen showing the information to be copied to the copy destination and the information not to be copied to the copy destination on the display unit 205 of the user terminal 100.

[0072] In step S103, the determination unit 303 determines whether the copy destination is appropriate based on the copy source information and the copy destination information. In addition, this determination can also be made by the user clicking the "COPY DETERMINATION" button in the screen showing the information to be copied to the copy destination and the information not to be copied to the copy destination output by the output unit 304 when the input unit 301 receives the copy processing request (refer to Figure 6 ), or can be automatically made at the moment when the acquisition unit 302 acquires the copy source information and the copy destination information. The determination of whether the copy destination is appropriate is made based on the warning content of the copy source and the warning content of the copy destination as described above. And based on the review status of the copy destination, it is determined whether the copy destination is appropriate. In addition, the review evaluation of the copy destination can be further considered to determine whether the copy destination is appropriate. When the copy destination is appropriate, the process proceeds to step S104. When the copy destination is inappropriate, the process proceeds to step S105.

[0073] In step S104, the output unit 304 displays a decision screen (refer to Figure 8 ) as the determination result on the browser display screen. In addition, when directly performing the copy when it is determined that the copy destination is appropriate, this step S104 is omitted.

[0074] In step S105, the output unit 304 displays a warning screen as the determination result on the browser display screen. In the warning screen, for example, as Figure 7B shown, the review status such as the copy destination information being reviewed and its review evaluation are displayed.

[0075] In step S106, the input unit 301 confirms whether a decision meaning "copy" from the user is received. The reception of the decision meaning "copy" is performed when "Yes" is selected in the decision screen or when "Yes" is selected in the warning screen. When the input unit 301 receives a command meaning "copy", the process proceeds to step S107. When the input unit 301 receives a command meaning "do not copy" (i.e., when "No" is selected in the decision screen or the warning screen), the process proceeds to step S108.

[0076] In step S107, the writing unit 306 writes the review result of the copy source into the copy destination together. Then, the process ends.

[0077] In step S108, the output unit 304 displays a dialogue meaning the cancellation of copying on the browser display screen. Then, the process ends.

[0078] In addition, after steps S107 and S108, the selected copy source and copy destination are checked on the browser display screen. Therefore, the user clicks Figure 5 "DESELECT ALL" as shown. If "DESELECT ALL" is clicked, the input unit 301 receives a selection cancellation request for canceling the selection of the selected copy source and copy destination, and the selection cancellation unit 307 cancels the selection of the selected copy source and copy destination together. In addition, after steps S107 and S108, the check of the selected copy source and copy destination can also be canceled on the browser display screen.

[0079] (Other Embodiments)

[0080] The embodiments of the present disclosure have been described above, but the present disclosure is not construed as being limited to the above embodiments, and can be applied to various embodiments and combinations without departing from the gist of the present disclosure.

[0081] (Modification Examples)

[0082] In this embodiment, the candidate selection unit 305 selects candidates for the copy destination. After the user designates the copy destination from among the candidates for the copy destination, the determination unit 303 determines whether the copy destination is appropriate. However, it is also possible to determine whether the candidates for the copy destination are appropriate when the candidate selection unit 305 selects the candidates for the copy destination. In this case, the candidate selection unit 305 selects the candidates for the copy destination based on the copy source information of the copy source. Specifically, similar to the processing of the determination unit 303, the candidates for the copy destination can be selected based on the warning content of the copy source and the warning content of the candidates for the copy destination. In addition, the candidate selection unit 305 can also select the candidates for the copy destination based on the warning content of the copy source, the warning content of the candidates for the copy destination, and the review status of the candidates for the copy destination, similar to the processing of the determination unit 303. In addition, the candidate selection unit 305 can also use the above-mentioned machine learning model to select the candidates for the copy destination based on the copy source information of the selected copy source. The candidate selection unit 305 can also select the copy destination instead of the candidates for the copy destination.

[0083] In the above embodiment, first, the process of the user selecting the copy source and multiple copy destinations and determining whether the selected multiple copy destinations are appropriate has been described. However, the information processing device 110 can also perform the process of first selecting candidates for the copy destination by the candidate selection unit 305 and presenting them to the user, and the user selects the copy destination from among them. That is, the information processing device 110 can also have a function of suggesting the copy destination to the user.

[0084] Figure 11 It is a flowchart showing the process of the information processing device 110 presenting candidates for the copy destination and having the user confirm them.

[0085] In step S111, the input unit 301 receives the selection of the copy source from the user terminal 100.

[0086] In step S112, the candidate selection unit 305 selects candidates for the copy destination based on the copy source information of the copy source. The candidate selection unit 305, for example, uses a pre-generated machine learning model to obtain candidates for the copy destination based on the copy source information of the selected copy source. This machine learning model is a model generated by learning using data on the past performance of the user copying the review result of the copy source to the copy destination.

[0087] Next, the information processing device 110 sends the data of the candidates for the copy destination to the user terminal 100. The user terminal 100 displays the data of the candidates for the copy destination on the user terminal.

[0088] In step S113, the input unit 301 receives the selection of the copy destination from the user terminal 100. That is, in this step S113, the user selects a copy destination that is judged to be okay to copy from the warnings displayed as candidates for the copy destination.

[0089] In step S114, the input unit 301 receives a copy process request.

[0090] In step S115, the writing unit 306 writes the review result of the copy source to the copy destination together. Then, the process ends.

[0091] In this way, the information processing apparatus 110 presents the copy destination of the warning data of the copy source, thereby limiting the objects that the user should see, so the operation of finding the copy destination becomes easy.

[0092] In addition, when the user manually selects a copy destination, if the selected copy destination is inappropriate, the output unit 304 can also immediately display a warning window indicating that the selected copy destination is inappropriate. The determination of whether the copy destination is appropriate in this case can be the same as the processing of the determination unit 303, and can be determined based on the warning content of the copy source and the warning content of the copy destination. Or, it can be determined based on the warning content of the copy source, the warning content of the copy destination, and the review status of the copy destination. In addition, the above-mentioned machine learning model can also be used for determination.

[0093] The control unit and its method described in the present disclosure can also be implemented by a dedicated computer, and this dedicated computer constitutes a processor programmed to execute one or more functions embodied by a computer program. Or, the apparatus and its method described in the present disclosure can also be implemented by dedicated hardware logic circuits. Or, the apparatus and its method described in the present disclosure can also be implemented by one or more dedicated computers, and the one or more dedicated computers are composed of a combination of a processor that executes a computer program and one or more hardware logic circuits. In addition, the computer program can also be stored as instructions executed by a computer in a computer-readable non-transitory tangible recording medium.

[0094] In addition, the processing flow described in the above embodiment is also an example, and unnecessary steps can be deleted, new steps can be added, or the processing order can be changed without departing from the gist of the present invention.

Claims

1. An information processing device, wherein: have: A database storing static analysis results of source code and review results of the static analysis results; an input unit that receives a selection of a copy source and a plurality of copy destinations from the reviewed static analysis results, and receives a copy processing request for copying the review result of the static analysis result of the copy source from the copy source to the plurality of copy destinations; an acquisition unit that acquires, in response to receiving the copy processing request, copy source information of the copy source and copy destination information of the plurality of copy destinations from the database; a determination unit that determines whether each of the copy destinations is appropriate based on the copy source information and the copy destination information; as well as The output unit outputs a determination result by the determination unit.

2. The information processing device according to claim 1, wherein: The system further includes a candidate selection unit that automatically selects a candidate for a copy destination.

3. The information processing device according to claim 2, wherein: The candidate selection unit selects a candidate for the copy destination based on the warning content of the selected copy source in the static analysis result.

4. The information processing device according to claim 2, wherein: The candidate selection unit uses a machine learning model that outputs candidates for a copy destination based on input of copy source information of a copy source, and selects the candidate for the copy destination based on the selected copy source information of the copy source.

5. The information processing device according to any one of claims 1 to 4, wherein: The output unit outputs information to be copied to the plurality of copy destinations and information not to be copied to the plurality of copy destinations in the review result of the copy source information.

6. The information processing device according to claim 5, wherein: The information copied to the copy destination includes the review status and review evaluation in the review result of the copy source information.

7. The information processing device according to claim 1, wherein: The determination unit determines whether the plurality of copy destinations are appropriate based on the warning content for the source code as the copy source information and the warning content for the source code as the copy destination information.

8. The information processing device according to claim 7, wherein: The determination unit determines whether the plurality of copy destinations are appropriate using a review status of a warning as the copy destination information.

9. The information processing device according to claim 1, wherein: When the determination unit determines that the copy destination is inappropriate, the output unit outputs a warning screen as the determination result.

10. The information processing device according to claim 9, wherein: The warning screen includes at least one of a review status and a review evaluation in the review result of the copy destination information.

11. The information processing device according to claim 1, wherein: The database stores the static analysis results in units of a plurality of software constituting a product item.

12. The information processing device according to claim 1, wherein: The static analysis result and the review result for the static analysis result are associated with a hash value based on the static analysis result.

13. The information processing device according to claim 1, wherein: further comprising a writing unit, the writing unit writing data into the database, When the determination unit determines that the plurality of copy destinations are appropriate, the output unit outputs, as the determination result, a decision screen for allowing a user to determine whether to copy the copy source from the copy source to the plurality of copy destinations. When the input unit receives a command to copy the examination result of the copy source from the copy source to the plurality of copy destinations, the writing unit writes the examination result of the copy source to the copy destinations.

14. The information processing device according to claim 13, wherein: When writing the copy source information, the writing unit writes at least one of a confirmer who determines to perform copying and a flag indicating that the review results of the plurality of copy destinations are copies, into the review results of the plurality of copy destinations.

15. The information processing device according to claim 1, wherein: The method further includes a deselection unit configured to deselect the selected copy source and the selected copy destinations when the input unit receives a deselection request to deselect the selected copy destinations.

16. An information processing device, wherein: have: A database storing static analysis results of source code and review results of the static analysis results; An input unit that receives a selection of a static analysis result to be used as a copy source from among the reviewed static analysis results, and receives a copy processing request for copying the review result for the static analysis result; a candidate selection unit that automatically selects a plurality of copy destination candidates based on copy source information of the copy source in response to receiving the selection of the copy source; as well as The writing unit writes the examination result of the copy source to the plurality of copy destinations in response to receiving the copy processing request.

17. An information processing method, comprising an information processing device having a database, wherein the database stores static analysis results of source code and review results of the static analysis results, wherein: The information processing method comprises: An input step of accepting selection of a copy source and a plurality of copy destinations from the reviewed static analysis results, and accepting a copy processing request for copying the review results of the static analysis results of the copy source from the copy source to the plurality of copy destinations; an acquisition step of acquiring, in response to receiving the copy processing request, copy source information of the copy source and copy destination information of the plurality of copy destinations from the database; a determination step of determining whether each of the copy destinations is appropriate based on the copy source information and the copy destination information; as well as The output step outputs the determination result based on the determination step.

18. An information processing program product, which is an information processing program product of an information processing device having a database, wherein the database stores static analysis results of source code and review results of the static analysis results, wherein: The information processing program product causes a computer to execute: An input step of accepting selection of a copy source and a plurality of copy destinations from the reviewed static analysis results, and accepting a copy processing request for copying the review results of the static analysis results of the copy source from the copy source to the plurality of copy destinations; an acquisition step of acquiring, in response to receiving the copy processing request, copy source information of the copy source and copy destination information of the plurality of copy destinations from the database; a determination step of determining whether each of the copy destinations is appropriate based on the copy source information and the copy destination information; as well as The output step outputs the determination result based on the determination step.

Citation Information

Patent Citations

  • Result product review support device

    JP2011081496A