Information processing system, module estimation method, and program

JP2026137295APending Publication Date: 2026-08-27KONICA MINOLTA INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2025023308
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-17
Publication Date
2026-08-27

AI Technical Summary

Benefits of technology

【0026】 本発明によれば、本発明は、ログファイルに記録された時系列情報をパターン画像に変換し、そのパターン画像に対する画像認識によって複数のモジュールのうちからバグが存在するモジュールを推定することができる。したがって、本発明は、バグが存在する可能性があるモジュールを、効率的に、且つ、高い信頼度で推定することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026137295000001_ABST
    Figure 2026137295000001_ABST
Patent Text Reader

Abstract

Time-series information recorded in log files is converted into a pattern image, and image recognition is used on that pattern image to estimate which module contains the bug from among multiple modules. [Solution] The information processing system 1 includes an acquisition unit 40 that acquires a log file 30 recorded when a software 20 including multiple modules 21 is executed, an image generation unit 50 that generates a pattern image 70 corresponding to the log file 30 by individually assigning a color to each module 21 recorded in chronological order in the log file 30, and an estimation unit 60 that estimates which module 21 has a bug from among the multiple modules 21 based on the pattern image 70.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing system, a module estimation method, and a program.

Background Art

[0002] In the development of software including a plurality of modules, it is frequently performed that a plurality of persons in charge develop different modules respectively. When a defect occurs during the test execution of software, there is a high possibility that a bug exists in any of the plurality of modules. In that case, the person in charge of debugging identifies in which of the plurality of modules the bug exists and performs the work of removing the bug. However, when software is composed of a large number of modules, it is not easy to identify the module including the bug.

[0003] Conventionally, in order to identify the location where a bug exists in software, it has been proposed to utilize a log file (for example, Patent Documents 1 and 2). Software records the operation and state during execution in a log file. Therefore, the log file is one of the useful information sources in the debugging work. The log file is generally recorded as text data. Therefore, the person in charge of debugging performs a text search for keywords recorded at the time of occurrence of an abnormality and identifies a module in which a bug may exist.

[0004] However, when each of the plurality of modules is created by a different person in charge, the information and format recorded in the log file may not be unified by each module. In that case, when analyzing the log file, it is necessary to perform an analysis according to the information and format recorded by each module. Therefore, it is difficult to efficiently identify a module in which a bug may exist by a unified search process or the like. In particular, when there is a fluctuation in the text recorded in the log file by each module, there is a problem that a module in which a bug may exist may be missed from the search results in a unified keyword search.

[0005] On the other hand, considering that log files are text data, AI (Artificial Intelligence) analysis using Large Language Models (LLMs) might be useful. However, AI analysis using large language models can rearrange or omit the time-series information recorded in log files. Furthermore, AI analysis using large language models may generate misinformation due to hallucination. Therefore, even when applying AI analysis using large language models, it is difficult to accurately identify modules that may contain bugs. [Prior art documents] [Patent Documents]

[0006] [Patent Document 1] Japanese Patent Publication No. 2005-92609 [Patent Document 2] Japanese Patent Publication No. 2023-27673 [Overview of the project] [Problems that the invention aims to solve]

[0007] This invention was made to solve the above-mentioned problems of the conventional method. Specifically, the present invention aims to convert time-series information recorded in a log file into a pattern image and to estimate the module containing a bug from among multiple modules by image recognition of that pattern image. The present invention provides an information processing system, a module estimation method, and a program that can achieve this objective. [Means for solving the problem]

[0008] To achieve the above objective, the invention according to claim 1 is an information processing system characterized by comprising: an acquisition unit that acquires a log file recorded during the execution of software including a plurality of modules; an image generation unit that generates a pattern image corresponding to the log file by individually assigning a color to each module recorded in chronological order in the log file; and an estimation unit that estimates which of the plurality of modules has a bug based on the pattern image.

[0009] The invention according to claim 2 is characterized in that, in the information processing system of claim 1, the estimation unit has created a learning model that has been pre-trained using a first pattern image in which a module with a bug is identified among the plurality of modules as training data, and when a second pattern image in which a module with a bug is not identified is input, the estimation unit estimates the module with a bug from the second pattern image based on the learning model.

[0010] The invention according to claim 3 is characterized in that, in the information processing system of claim 1 or 2, the image generation unit generates the pattern image by aggregating the records of the same module in successive chronological order in the log file.

[0011] The invention according to claim 4 is characterized in that, in the information processing system of claim 3, the image generation unit assigns one color to the module name of the module recorded in the log file.

[0012] The invention according to claim 5 is an information processing system according to claim 1 or 2, characterized in that the image generation unit generates the pattern image by individually assigning a color to each of the module name and message recorded in the log file.

[0013] The invention according to claim 6 is characterized in that, in the information processing system of claim 5, the image generation unit generates the pattern image by vectorizing the module name and message and converting them into numerical data, and individually assigning a color to the numerical data of each vector component.

[0014] The invention according to claim 7 is a module estimation method, characterized by comprising: an acquisition step of acquiring a log file recorded during the execution of software including a plurality of modules; an image generation step of generating a pattern image corresponding to the log file by individually assigning a color to each module recorded in chronological order in the log file; and an estimation step of estimating which of the plurality of modules has a bug based on the pattern image.

[0015] The invention according to claim 8 is a module estimation method according to claim 7, wherein the estimation step is characterized in that a learning model is created in advance by training a first pattern image in which a module with a bug is identified among the plurality of modules as training data, and when a second pattern image in which a module with a bug is not identified is input, the module with a bug is estimated from the second pattern image based on the learning model.

[0016] The invention according to claim 9 is a module estimation method according to claim 7 or 8, wherein the image generation step is characterized in that, when the same module is recorded consecutively in chronological order in the log file, the consecutive records of the same module are aggregated into one to generate the pattern image.

[0017] The invention according to claim 10 is a module estimation method according to claim 9, characterized in that the image generation step assigns one color to the module name of the module recorded in the log file.

[0018] The invention according to claim 11 is a module estimation method according to claim 7 or 8, characterized in that the image generation step generates the pattern image by individually assigning a color to each of the module name and message recorded in the log file.

[0019] The invention according to claim 12 is a module estimation method according to claim 11, wherein the image generation step is characterized in that the module name and message are vectorized and converted into numerical data, and a pattern image is generated by individually assigning a color to the numerical data of each vector component.

[0020] The invention according to claim 13 is a program characterized by causing a computer to perform the following steps: an acquisition step of acquiring a log file recorded during the execution of software including a plurality of modules; an image generation step of generating a pattern image corresponding to the log file by individually assigning a color to each module recorded in chronological order in the log file; and an estimation step of estimating which of the plurality of modules has a bug based on the pattern image.

[0021] The invention according to claim 14 is characterized in that, in the program of claim 13, the estimation step is characterized in that a learning model is created in advance by training a first pattern image in which a module with a bug is identified among the plurality of modules as training data, and when a second pattern image in which a module with a bug is not identified is input, the learning model is used to estimate the module with a bug from the second pattern image.

[0022] The invention according to claim 15 is characterized in that, in the program of claim 13 or 14, the image generation step generates the pattern image by aggregating the records of the same module in successive chronological order in the log file.

[0023] The invention according to claim 16 is configured such that, in the program of claim 15, the image generation step assigns one color to the module name of the module recorded in the log file.

[0024] The invention according to claim 17 is configured such that, in the program of claim 13 or 14, the image generation step generates the pattern image by individually assigning colors to each of the module name and the message recorded in the log file.

[0025] The invention according to claim 18 is configured such that, in the program of claim 17, the image generation step generates the pattern image by vectorizing each of the module name and the message, converting them into numerical data, and individually assigning colors to the numerical data of each vector component.

Advantages of the Invention

[0028] Preferred embodiments of the present invention will be described in detail below with reference to the drawings. In the embodiments described below, elements common to all are denoted by the same reference numerals, and redundant explanations of these elements will be omitted.

[0029] (First Embodiment) Figure 1 is a diagram showing the schematic configuration of an information processing system 1 in a first embodiment of the present invention. This information processing system 1 has the configuration of, for example, a general computer. This information processing system 1 is used in debugging work in software development to identify software defects. This information processing system 1 comprises a control unit 2, a storage unit 3, an input / output unit 4, a display unit 5, and an operation unit 6.

[0030] The control unit 2 comprises a processor 7 and a memory 8. The processor 7 is a hardware processor such as a CPU (Central Processing Unit). The processor 7 reads and executes the program 10 stored in the memory unit 3. The memory 8 is, for example, RAM (Random Access Memory). The memory 8 is used as a work area to store temporary data when the processor 7 executes processing based on the program 10.

[0031] The storage unit 3 is a non-volatile storage device consisting of a hard disk drive (HDD) or a solid-state drive (SSD). The storage unit 3 stores the program 10, color definition information 11, and the learning model 12.

[0032] The input / output unit 4 performs data input and output with external devices. For example, the input / output unit 4 is configured as a network interface card and communicates with external devices via a network such as a LAN (Local Area Network).

[0033] The display unit 5 is comprised of a display device such as a color liquid crystal display. The operation unit 6 is comprised of a keyboard or mouse, for example, and accepts user input.

[0034] Figure 2 illustrates software 20 that is subject to debugging. The software 20 to be debugged includes multiple modules 21. Each module 21 is a program that performs a predetermined process. Each of the multiple modules 21 performs a different process. The software 20 starts these multiple modules 21 in a predetermined order and coordinates the processes performed by each module 21 to execute the desired process as a whole. If a bug exists in any of the multiple modules 21, the software 20 cannot complete the desired process properly. In that case, the software 20 becomes subject to debugging.

[0035] When software 20 is executed by a computer, it generates a log file. This log file records the execution history of each module 21 in chronological order. Even if software 20 does not terminate normally, the log file remains stored in the computer's memory.

[0036] Figure 3 shows an example of a log file 30 recorded during the execution of software 20. For example, the log file 30 shown in Figure 3 is an excerpt of information recorded during the execution of software 20. The log file 30 shown in Figure 3 contains log information recorded line by line in chronological order by module 21 which was started during the execution of software 20. The log information is recorded as text data. The log information for each line is written as text data and includes date and time 31, log ID 32, module name 33, and message 34. Date and time 31 indicates the date and time when the log information was written by module 21. Log ID 32 is identification information that indicates the log information for each line. Module name 33 indicates the name of module 21 which was started by software 20. Message 34 is information that records the processing status, processing results, and values ​​used in processing by module 21.

[0037] Information processing system 1 identifies the faulty parts in software 20 by inputting and analyzing a log file 30 as shown in Figure 3. Specifically, information processing system 1 estimates which of the multiple modules 21 included in software 20 may contain a bug. Note that the process of executing software 20 and recording log file 30 may be performed by information processing system 1. However, it is not limited to this, and the process of executing software 20 and recording log file 30 may be performed on a computer other than information processing system 1.

[0038] Figure 4 shows the functional configuration of the control unit 2 in the information processing system 1. The processor 7 reads and executes the program 10 from the storage unit 3, thereby causing the control unit 2 to function as an acquisition unit 40, an image generation unit 50, and an estimation unit 60.

[0039] The acquisition unit 40 acquires the log file 30 recorded when the software 20 is executed. For example, the acquisition unit 40 acquires the log file 30 from an external device via the input / output unit 4. Also, when the software 20 is executed in the information processing system 1, the log file 30 is stored in the storage unit 3. In that case, the acquisition unit 40 acquires the log file 30 stored in the storage unit 3. The acquisition unit 40 then outputs the log file 30 to the image generation unit 50.

[0040] The log file 30 acquired by the acquisition unit 40 records the modules 21 that were launched during the execution of the software 20 in chronological order. The log file 30 also records the processing status of each module 21 on a line-by-line basis.

[0041] The image generation unit 50 generates a pattern image corresponding to the log file 30 based on the time-series log information recorded in the log file 30. For example, the image generation unit 50 generates a pattern image corresponding to the log file 30 by individually assigning a color to each module 21 recorded in time series in the log file 30.

[0042] Figure 5 shows the processing concept by the image generation unit 50. As shown in Figure 5, the image generation unit 50 includes a module name extraction unit 51, a module aggregation unit 52, and an image conversion unit 53.

[0043] The module name extraction unit 51 extracts the module names 33 recorded in the log file 30 in chronological order. The module name extraction unit 51 extracts the module names 33 one by one from the line-by-line log information recorded in the log file 30. The module name extraction unit 51 then generates data D1, which is a list of the module names 33 extracted from the log file 30.

[0044] For example, when the acquisition unit 40 acquires the log file 30 shown in Figure 3, the module name extraction unit 51 generates the data D1 shown in Figure 6. The module name extraction unit 51 selects log information recorded in the log file 30 line by line in chronological order and extracts one module name 33 from each line of log information. The log file 30 shown in Figure 3 contains 9 lines of log information. Therefore, the module name extraction unit 51 generates data D1, which is a list of 9 module names 33 in chronological order, as shown in Figure 6.

[0045] The module aggregation unit 52 aggregates identical module names 33 contained in the data D1 generated by the module name extraction unit 51 into one. For example, if there are identical module names 33 that are consecutive in time series in the data D1, the module aggregation unit 52 aggregates those identical module names 33 into one.

[0046] For example, in data D1 in Figure 6, the second and third module names 33 are "armada_thermal," meaning the same module name 33 appears consecutively. The module aggregation unit 52 aggregates the second and third module names 33 into one. Also, in data D1 in Figure 6, the fifth and sixth module names 33 are "mvri_iris," meaning the same module name 33 appears consecutively. The module aggregation unit 52 aggregates the fifth and sixth module names 33 into one. As a result, data D1 shown in Figure 6 is rewritten as data D2. In data D2, the number of module names 33 included in the list has decreased. Therefore, the aggregation of module names 33 by the module aggregation unit 52 reduces the amount of data used to generate the pattern image.

[0047] The module aggregation unit 52 aggregates the module names 33, which allows for more efficient processing in the image conversion unit 53, described later. Furthermore, the aggregation of module names 33 reduces the size of the pattern image 70 generated by the image conversion unit 53, which also has the advantage of improving the efficiency of processing by the estimation unit 60. The module aggregation unit 52 then outputs the data D2 to the image conversion unit 53.

[0048] The image conversion unit 53 generates a pattern image 70 based on the data D2 output from the module aggregation unit 52. The image conversion unit 53 generates a pattern image 70 corresponding to the log file 30 by individually assigning a color to each of the modules 21 that are listed in chronological order in the data D2. For example, the image conversion unit 53 reads color definition information 11 from the storage unit 3 and assigns a color to each of the multiple modules 21 included in the data D2 based on that color definition information 11.

[0049] Figure 7 shows an example of color definition information 11. As shown in Figure 7, color definition information 11 is information that defines a different color for each of the multiple modules 21 included in the software 20. Therefore, the number of colors used in color definition information 11 matches the number of modules 21 included in the software 20. Note that the color definition information 11 shown in Figure 7 shows an example in which a different color is defined for each of the seven modules 21 included in data D2.

[0050] The image conversion unit 53 generates a pattern image 70 by assigning a color defined in the color definition information 11 to each of the multiple modules 21 contained in the data D2, thereby imaging the time-series information contained in the log file 30. Figure 8 shows the pattern image 70 generated from data D2 in which the modules 21 are aggregated. This pattern image 70 is an image that represents the modules 21 contained in data D2 generated from the log file 30 using colors. This pattern image 70 represents the time-series information recorded in the log file 30 in the vertical direction. Therefore, the pattern image 70 is an image in which many colors are arranged along the vertical direction. In this embodiment, the pattern image 70 is an image in which the same color is distributed in the horizontal direction. In order to reduce the amount of data in the pattern image 70, the image conversion unit 53 may reduce the size of each color area placed in the pattern image 70. For example, the minimum size of each color area is 1 pixel.

[0051] The estimation unit 60 receives the pattern image 70 generated by the image conversion unit 53 as input. Based on the pattern image 70, the estimation unit 60 estimates which of the multiple modules 21 may contain a bug.

[0052] Figure 9 shows an example of the configuration of the estimation unit 60. The estimation unit 60 comprises a learning model generation unit 61 and a module estimation unit 62.

[0053] The learning model generation unit 61 functions when a first pattern image is input in which a module 21 containing a bug has been identified among multiple modules 21. The learning model generation unit 61 generates a learning model by performing machine learning using the first pattern image in which the presence of the bug has been identified as training data.

[0054] Figure 10 shows the concept of processing by the learning model generation unit 61. The estimation unit 60 receives training data 36, ​​which includes a log file 30 and module information 35, and activates the learning model generation unit 61. The log file 30 included in the training data 36 is acquired by the acquisition unit 40 as described above. The log file 30 is then supplied to the image generation unit 50. The image generation unit 50 generates a pattern image 70 corresponding to the time-series module 21 recorded in the log file 30. This pattern image 70 becomes the first pattern image 71. The first pattern image 71 is then supplied to the learning model generation unit 61 of the estimation unit 60.

[0055] Meanwhile, the control unit 2 supplies module information 35 contained in the training data 36 to the learning model generation unit 61 of the estimation unit 60. The module information 35 is information that identifies the module 21 containing a bug among the modules 21 recorded in the log file 30.

[0056] When the learning model generation unit 61 acquires the first pattern image 71, it performs machine learning on the first pattern image 71 based on the module information 35. That is, the learning model generation unit 61 learns the colors of the modules 21 in which bugs exist. If a module 21 contains a bug, the bug does not necessarily become apparent every time that module 21 is activated. For example, a bug contained in module 21 may become apparent when the modules 21 activated before and after that module 21 are in a specific combination. Also, a bug contained in module 21 may only become apparent when a specific process is performed while that module 21 is running. Therefore, by learning many first pattern images 71, the learning model generation unit 61 can learn not only the bugs contained in a single module 21, but also the existence of bugs that become apparent under specific conditions, such as combinations of modules 21.

[0057] The learning model generation unit 61 generates a learning model 12 after learning training data including the first pattern image 71. Furthermore, the learning model generation unit 61 sequentially updates the learning model 12 each time it learns training data. The learning model 12 is used to estimate the module 21 containing the bug from the pattern image 70. Therefore, once the learning model generation unit 61 generates the learning model 12, it stores the learning model 12 in the storage unit 3.

[0058] The module estimation unit 62 functions when a second pattern image is input in which the module 21 containing the bug has not been identified among the multiple modules 21. When the module estimation unit 62 receives a second pattern image in which the presence of the bug has not been identified, it reads the learning model 12, which has been pre-generated by the learning model generation unit 61, from the storage unit 3. The module estimation unit 62 then inputs the second pattern image into the learning model 12 and performs inference processing to estimate the module 21 containing the bug among the multiple modules 21.

[0059] Figure 11 shows the concept of processing by the module estimation unit 62. If the module 21 containing the bug has not been identified, the control unit 2 inputs only the log file 30 as shown in Figure 11. The log file 30 is acquired by the acquisition unit 40 as described above. The log file 30 is then supplied to the image generation unit 50. The image generation unit 50 generates a pattern image 70 corresponding to the time-series module 21 recorded in the log file 30. This pattern image 70 becomes the second pattern image 72. The second pattern image 72 is then supplied to the module estimation unit 62 of the estimation unit 60.

[0060] When the module estimation unit 62 acquires the second pattern image 72, it reads the learning model 12 and performs inference processing based on the learning model 12. Through this inference processing, the module 21 that is most likely to contain a bug among the second pattern image 72 is estimated. The module estimation unit 62 then outputs module information 37 describing the module 21 that is most likely to contain a bug among the multiple modules 21.

[0061] Based on the module information 37 output from the module estimation unit 62, the control unit 2 displays, for example, the module 21 that is highly likely to contain a bug on the display unit 5. Therefore, by looking at the screen displayed on the display unit 5, the debugner can identify the module 21 that is likely to contain a bug from among multiple modules 21. In other words, the debugner can identify the module 21 that is likely to contain a bug simply by inputting the log file 30 recorded during the execution of the software 20 into the information processing system 1. The control unit 2 may also output the module information 37 to an external device via the input / output unit 4.

[0062] Figure 12 is a flowchart showing an example of a processing procedure by the information processing system 1. Each process shown in this procedure is performed by the control unit 2 when the processor 7 executes the program 10.

[0063] When the control unit 2 starts this process, it obtains a log file 30 recorded by executing the software 20 (step S10). The control unit 2 extracts the module names 33 recorded in chronological order from the obtained log file 30 and generates data D1 (step S11). Then, the control unit 2 aggregates the module names 33 of the same module 21 that are consecutive in chronological order in data D1 into one and generates data D2 (step S12). Then, the control unit 2 refers to the color definition information 11 and assigns a color individually to each of the multiple module names 33 included in data D2 (step S13). The control unit 2 generates a pattern image 70 in which each of the multiple module names 33 arranged in chronological order has been converted into a color (step S14).

[0064] Next, when the control unit 2 obtains a log file 30, it determines whether or not module information 35 is associated with that log file 30 (step S15). If module information 35 is associated with the log file 30, then the log file 30 and module information 35 are training data 36.

[0065] If log file 30 is obtained as training data 36 (YES in step S15), the pattern image 70 generated in step S14 is the first pattern image 71. In this case, the control unit 2 executes the learning model generation process (step S20). In this learning model generation process, the control unit 2 performs machine learning on the first pattern image 71 based on module information 35 (step S21) and generates a learning model 12 (step S22). The control unit 2 then stores the learning model 12 in the storage unit 3 (step S23).

[0066] On the other hand, if module information 35 is not associated with log file 30 (NO in step S15), the pattern image 70 generated in step S14 is the second pattern image 72. In this case, the control unit 2 performs a module estimation process to estimate the module 21 in which the bug exists (step S30). In the module estimation process, the control unit 2 reads out the learning model 12 (step S31). Then, the control unit 2 performs an inference process on the second pattern image 72 based on the learning model 12 to estimate the module 21 in which the bug exists (step S32). If the module 21 can be estimated by the inference process, the control unit 2 outputs module information 37 describing the module 21 that may contain the bug (step S33). This completes the processing by the control unit 2.

[0067] As described above, the information processing system 1 of this embodiment is configured to estimate the module 21 containing a bug based on the log file 30 recorded during the execution of the software 20. Specifically, the information processing system 1 generates a pattern image 70 corresponding to the log file 30 by individually assigning a color to each module 21 recorded chronologically in the log file 30. Then, based on the pattern image 70, the information processing system 1 estimates the module 21 containing the bug from among the multiple modules 21. Therefore, the person in charge of debugging the software 20 can identify the module 21 that may contain a bug by inputting the log file 30 recorded during the execution of the software 20 into the information processing system 1. Thus, the person in charge of debugging does not need to perform operations on the log file 30 themselves, resulting in excellent work efficiency.

[0068] Furthermore, instead of processing the log file 30 as text, the information processing system 1 converts it into a pattern image 70 to estimate the module 21 where the bug exists. Therefore, even if there are fluctuations in the text recorded in the log file 30, the impact of these text fluctuations can be reduced.

[0069] Furthermore, since the information processing system 1 estimates the module 21 containing the bug based on the pattern image 70, it does not generate misinformation due to hallucination or other factors, unlike AI analysis using large-scale language models. Therefore, the information processing system 1 can accurately estimate the module 21 that may contain the bug.

[0070] In particular, the information processing system 1 of this embodiment can utilize the learned model 12 in inference processing by pre-training a learned model 12 on a first pattern image 71 in which the module 21 containing the bug is identified. That is, when the information processing system 1 receives a second pattern image 72 in which the module 21 containing the bug is not identified, it performs inference processing based on the learned model 12. In this inference processing, image recognition (pattern recognition) is performed by comparing the pattern images accumulated in the learned model 12 with the second pattern image 72. As a result, the information processing system 1 can estimate the module 21 containing the bug from the second pattern image 72. For example, the inference processing can be performed by applying known pattern recognition techniques using AI. By performing inference processing using AI, the module 21 containing the bug can be estimated efficiently.

[0071] (Second Embodiment) Next, a second embodiment of the present invention will be described. In the first embodiment described above, an example was given in which a pattern image 70 is generated by converting the module name 33 recorded in the log file 30 into a color. However, as described above, the log file 30 contains a message 34 written by each module 21. The message 34 recorded in the log file 30 is one of the important sources of information when estimating which module 21 has a bug. Therefore, in this embodiment, an example will be given in which a pattern image 70 is generated not only based on the module name 33 but also based on a string containing the message 34.

[0072] Figure 13 shows an example of the configuration of the image generation unit 50 in the second embodiment. This image generation unit 50 includes a module name extraction unit 51, a vector conversion unit 54, and an image conversion unit 53.

[0073] The module name extraction unit 51 extracts module names 33 and messages 34 in chronological order from the line-by-line log information recorded in the log file 30. The module name extraction unit 51 then generates data D1, which is a list of the sets of module names 33 and messages 34 extracted from the log file 30.

[0074] For example, when the acquisition unit 40 acquires the log file 30 shown in Figure 3, the module name extraction unit 51 generates data D1 as shown in Figure 14. The log file 30 shown in Figure 3 contains 9 lines of log information. The module name extraction unit 51 extracts combinations of module names 33 and messages 34 from each of these 9 lines of log information and generates data D1. In this embodiment, the control unit 2 performs processing that takes into account the content of the message 34, so it is not necessary to consolidate identical module names 33 arranged in chronological order into one, as in the first embodiment.

[0075] The vector transformation unit 54 vectorizes the time-series string contained in data D1 and converts it into numerical data. Figure 15 is a diagram illustrating the concept of processing by the image generation unit 50. As shown in Figure 15, the vector transformation unit 54 vectorizes the string consisting of the module name 33 and message 34 contained in data D1 and generates vector data D3 consisting of multiple vector components. The "vectorization" referred to here can be the same process as known vectorization in natural language processing. Therefore, a detailed explanation of the vectorization by the vector transformation unit 54 is omitted.

[0076] The vector data D3 generated by vectorization is data containing multiple vector components, depending on the string consisting of the module name 33 and message 34 contained in data D1. For example, each vector component can take any value within the range of -1 to +1. The vector transformation unit 54 individually vectorizes the string of each line contained in data D1. Therefore, the vector data D3 generated by the vector transformation unit 54 is vector data corresponding to the number of lines contained in data D1. For example, in the case of data D1 as shown in Figure 14, the vector transformation unit 54 generates vector data D3 for 9 lines. The vector transformation unit 54 then outputs this vector data D3 to the image transformation unit 53.

[0077] The image conversion unit 53 converts the vector data D3 output from the vector conversion unit 54 into a pattern image 70. The image conversion unit 53 acquires color definition information 11. This color definition information 11 defines a unique color for numerical values ​​within the range of -1 to +1. For example, the color definition information 11 assigns a first color to a value of -1 and a second color to a value of +1. The color definition information 11 assigns colors that gradually change from the first color to the second color within the range of -1 to +1. Therefore, by referring to the color definition information 11, the image conversion unit 53 can assign a color to each vector component contained in the vector data D3 according to the value of that vector component. The image conversion unit 53 then generates a pattern image 70 as shown in Figure 15 based on each vector component contained in the vector data D3.

[0078] The pattern image 70 shown in Figure 15 is an image having a color distribution that reflects the content of the message 34 contained in the log file 30. Such a pattern image 70 is generated from the vector data D3 of each line contained in the log file 30. The image conversion unit 53 generates the pattern image 70 from the vector data D3 of each line contained in the log file 30 and combines them in chronological order. As a result, the image conversion unit 53 generates a pattern image 70 that is represented as a two-dimensional pattern, as shown in Figure 16. In order to reduce the amount of data in the pattern image 70 shown in Figure 16, the image conversion unit 53 may reduce the size of each color region placed in the pattern image 70. For example, if each color region is composed of 1 pixel, the amount of data in the pattern image 70 can be minimized.

[0079] The pattern image 70 shown in Figure 16 represents the time-series information recorded in the log file 30 in the vertical direction of the image. Furthermore, the pattern image 70 represents detailed information, such as messages 34, recorded in the log file 30 in the horizontal direction of the image. Therefore, the pattern image 70 generated in the information processing system 1 of this embodiment contains more information than the pattern image 70 described in the first embodiment.

[0080] In this embodiment, the estimation unit 60 estimates the module 21 that may contain a bug based on a pattern image 70 with more information than in the first embodiment. For example, the learning model generation unit 61 generates a learning model 12 based on a first pattern image 71 with more information. The module estimation unit 62 estimates the module 21 that may contain a bug based on a second pattern image 72 with more information. In other words, the estimation unit 60 can perform inference processing considering the content of the message 34 described by each module 21. Therefore, the estimation unit 60 in this embodiment can estimate the module 21 that may contain a bug with higher confidence than in the first embodiment.

[0081] In this embodiment, the information processing system 1 generates a pattern image 70 by individually assigning a color to each of the module name 33 and message 34 recorded in the log file 30. At this time, the image generation unit 50 vectorizes each of the module name 33 and message 34 into numerical data, and generates the pattern image 70 by individually assigning a color to the numerical data of each vector component. Therefore, the information processing system 1 can estimate the module 21 in which a bug exists by considering not only the module name 33 recorded in the log file 30 but also the message 34.

[0082] (modified version) Preferred embodiments of the present invention have been described above. However, the present invention is not limited to those described in the above embodiments, and various modifications are applicable.

[0083] For example, in the above embodiment, we described a case in which the function for generating a learning model 12 and the function for estimating the module 21 containing a bug by performing inference processing using the learning model 12 are implemented in one information processing system 1. However, the function for generating the learning model 12 and the function for estimating the module 21 containing a bug may be implemented in separate information processing systems 1.

[0084] Furthermore, in the above embodiment, an example was described in which the image generation unit 50 and the estimation unit 60 function in the same control unit 2. However, the image generation unit 50 and the estimation unit 60 may also function in different control units 2.

[0085] Furthermore, in the second embodiment described above, an example was explained in which not only message 34 but also the string of module name 33 is vectorized and converted into numerical data. However, the present invention is not limited to this. For example, the information processing system 1 may be configured to assign one color to the string of module name 33, vectorize only the string of message 34 and convert it into numerical data, and then assign a color to each numerical data, similar to the first embodiment.

[0086] Furthermore, in the above embodiment, an example was described in which the program 10 executed by the processor 7 of the control unit 2 is pre-stored in the storage unit 3. However, the program 10 can be the subject of a transaction on its own. Therefore, the program 10 may be a program that is installed in the information processing system 1 as needed. In this case, the program 10 is provided in a manner that allows it to be downloaded, for example, via a network such as the Internet. Alternatively, the program 10 may be provided in a manner that is recorded on a recording medium such as a CD-ROM or USB memory. The program 10 may also be provided in other manners. [Explanation of Symbols]

[0087] 1. Information Processing System 2 Control Unit 3 Storage section 10 Programs 11 Color definition information 12 Learning Models 20 Software 21 modules 30 log files 33 Module name 34 Messages 35 Module Information 36 Training Data 40 Acquisition Department 50 Image generation unit 51 Module name extraction section 52 Module Integration Unit 53 Image conversion unit 54 Vector Transformation Section 60 Estimation part 61 Learning Model Generation Unit 62 Module Estimation Unit 70 pattern images 71 First pattern image 72. Second pattern image

Claims

1. A unit that acquires log files recorded during the execution of software containing multiple modules, An image generation unit generates a pattern image corresponding to the log file by individually assigning a color to each module recorded in chronological order in the log file. An estimation unit that estimates which module has a bug from among the plurality of modules based on the pattern image, An information processing system characterized by comprising the following features.

2. The information processing system according to claim 1, characterized in that the estimation unit creates a learning model in advance by using a first pattern image in which a module with a bug is identified among the plurality of modules as training data, and when a second pattern image in which a module with a bug is not identified is input, it estimates the module with a bug from the second pattern image based on the learning model.

3. The information processing system according to claim 1 or 2, characterized in that, when the same module is recorded consecutively in chronological order in the log file, the image generation unit aggregates the consecutive records of the same module into one to generate the pattern image.

4. The information processing system according to claim 3, characterized in that the image generation unit assigns one color to the module name of the module recorded in the log file.

5. The information processing system according to claim 1 or 2, characterized in that the image generation unit generates the pattern image by individually assigning a color to each of the module name and message recorded in the log file.

6. The information processing system according to claim 5, characterized in that the image generation unit vectorizes the module name and message respectively into numerical data, and generates the pattern image by individually assigning a color to the numerical data of each vector component.

7. A step to obtain log files recorded during the execution of software containing multiple modules, An image generation step that generates a pattern image corresponding to the log file by individually assigning a color to each module recorded in chronological order in the log file, An estimation step of estimating which module has a bug from among the plurality of modules based on the pattern image, A module estimation method characterized by having the following features.

8. The module estimation method according to claim 7, characterized in that the estimation step involves creating a learning model that has been pre-trained using a first pattern image in which a module with a bug is identified among the plurality of modules as training data, and when a second pattern image in which a module with a bug is not identified is input, the module with a bug is estimated from the second pattern image based on the learning model.

9. The module estimation method according to claim 7 or 8, characterized in that, if the same module is recorded consecutively in chronological order in the log file, the image generation step aggregates the consecutive records of the same module into one to generate the pattern image.

10. The module estimation method according to claim 9, characterized in that the image generation step assigns one color to the module name of the module recorded in the log file.

11. The module estimation method according to claim 7 or 8, characterized in that the image generation step generates the pattern image by individually assigning a color to each of the module names and messages recorded in the log file.

12. The module estimation method according to claim 11, characterized in that the image generation step generates the pattern image by vectorizing the module name and message and converting them into numerical data, and individually assigning a color to the numerical data of each vector component.

13. On the computer, A step to obtain log files recorded during the execution of software containing multiple modules, An image generation step that generates a pattern image corresponding to the log file by individually assigning a color to each module recorded in chronological order in the log file, An estimation step of estimating which module has a bug from among the plurality of modules based on the pattern image, A program characterized by causing the execution of a specific action.

14. The program according to claim 13, wherein the estimation step involves creating a learning model that has been pre-trained using a first pattern image in which a module with a bug is identified among the plurality of modules as training data, and when a second pattern image in which a module with a bug is not identified is input, the program estimates the module with a bug from the second pattern image based on the learning model.

15. The program according to claim 13 or 14, wherein the image generation step is characterized in that, if the same module is recorded consecutively in chronological order in the log file, the recordings of consecutive identical modules are aggregated into one to generate the pattern image.

16. The program according to claim 15, wherein the image generation step is characterized by assigning one color to the module name of the module recorded in the log file.

17. The program according to claim 13 or 14, wherein the image generation step generates the pattern image by individually assigning a color to each of the module names and messages recorded in the log file.

18. The program according to claim 17, wherein the image generation step generates the pattern image by vectorizing the module name and message and converting them into numerical data, and individually assigning a color to the numerical data of each vector component.

Citation Information

Patent Citations

  • Sequence diagram display apparatus and sequence diagram display program

    JP2005092609A

  • Method, program, system, and device for estimating failure cause

    JP2023027673A