WO2025008219A1 - Computer-implemented method for reducing error logfiles of a system - Google Patents
Computer-implemented method for reducing error logfiles of a system Download PDFInfo
- Publication number
- WO2025008219A1 WO2025008219A1 PCT/EP2024/067671 EP2024067671W WO2025008219A1 WO 2025008219 A1 WO2025008219 A1 WO 2025008219A1 EP 2024067671 W EP2024067671 W EP 2024067671W WO 2025008219 A1 WO2025008219 A1 WO 2025008219A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- log files
- error
- computer
- log
- characters
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0787—Storage of error reports, e.g. persistent data storage, storage using memory protection
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
- G06F11/3082—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved by aggregating or compressing the monitored data
Definitions
- the invention relates to a computer-implemented method for reducing error-indicating log files from at least one system and an associated computer program product, reduction system and environmental system with the reduction system and a system.
- Testing is the process of interacting with the product to check that it meets the requirements and is free from product defects that could affect its functionality. The goal is to decide whether the product can be released or not. For small products, testing can be successfully performed manually, but as the size and complexity of the product increases, especially with the aforementioned machine tools, this task becomes impossible to perform manually. In this case, it is convenient to perform automatic testing of the product using a computer-based testing system.
- test procedures known from the state of the art can be used for troubleshooting and identification, they are not as suitable for preventing product defects as would be desirable.
- the known test procedures require a very large amount of data to be analyzed in log files, which places a very heavy load on the processor and data storage.
- log files can hardly be processed manually by service engineers when required, particularly if this is necessary in addition to computer-aided analysis. This means that defects can remain in the product which only appear later at the customer's site and lead to complications which can only be resolved with great effort through a new test phase.
- the invention is therefore based on the object of increasing the reliability of the products, in particular to propose a particularly robust computer-implemented method for reducing error-indicating log files.
- the object is achieved by a computer-implemented method for reducing error-indicating log files from at least one system.
- the method comprises the following steps:
- the reduction method according to the invention thus provides a reduced log file which has been cleaned of error-free characters or, in other words, tokens, so that the log file has a smaller amount of data and file size. It can therefore be processed more easily both on a computer basis, i.e. by means of a processor, and manually, e.g. by a test engineer, in order to carry out error detection, analysis and correction.
- the reduction process according to the invention can comprise a plurality of further steps, as explained in more detail below.
- the reduction process according to the invention Reduction process can also be in the form of a
- the data can be stored in a memory using a grouping method, as will be explained in more detail later.
- a grouping method a database is created from different log file groups of different situations, in particular error situations.
- a robust database can be created by the inventive extraction of predefined, error-inconspicuous characters, which can be used for troubleshooting, analysis and correction.
- the log files can be read in by a system, in particular a test system, which carries out one or more processes, for example system tests, service processes, etc., whereby several systems can also be used.
- the log files are error-indicating, i.e. they indicate an error, in particular that the corresponding system test was interrupted by an error message, which is noted in the log file over one or more lines as an entry or entries.
- the processes for example system tests, can be carried out in particular on the products with the computer programs to be tested, in particular machines, for example machine tools.
- the system tests can be represented by a computer program that can be carried out by a corresponding processor, in particular on the product.
- a corresponding test sequence or a test phase of the test system can be carried out by a computer, in particular a processor, of the respective machine.
- the system in particular a test system, thus enables a process, in particular a test of the Functionality of the machine, in particular in its functionality or with regard to possible errors at least in relation to one or more computer programs that can be executed on the machine.
- Such a test can in particular be designed as a UI (user interface) test, in particular GUI (graphical user interface) test, which can run on a corresponding system screen.
- the result of the test sequence can be a test report, whereby the test report can include the log file and possibly other attachments as a test report appendix.
- the method according to the invention can of course also comprise the step of the process, in particular testing or test sequence itself, in particular in the form of that described above.
- the predefined, error-free characters can be, for example, N-grams, syllables, letters. Error-free means in particular that characters do not contain any information, at least no relevant information about errors, or, in other words, are inconspicuous with regard to possible errors. In particular, error-free can mean error-irrelevant. Such error-free characters can have been identified in log files that do not contain any errors.
- the predefined, error-free characters can in particular come from a created database. This database or the characters contained therein, for example N-grams, can be compared with the content or the entries, in particular by transforming the entries in the log files into characters, in particular N-grams, as explained in more detail later.
- the log file groups obtained from the grouping of the log files mentioned above can be used.
- the N-grams can be, for example, monograms, bigrams, trigrams, etc. and can be written in any language, e.g. German or English.
- the predefined, error-free characters can be removed from the log files if they match, in particular deleted, and/or the log files shortened by the error-free characters can be output, in particular for further use.
- the method can further comprise the step of transforming the entries of the log files into characters, in particular n-grams. This enables a quick and accurate comparison of the predefined, error-free characters with the log files.
- the method can also further comprise the step of generating sequences from the error-free characters of the shortened log files that remain after removal in order to obtain the reduced log files.
- the log files transformed with characters are converted back into a character string of sequences.
- this makes it possible to obtain the reduced log files, which can then be used for further purposes, for example in other methods of processors for error investigation or by service technicians.
- the method can further comprise the step of merging the entries or sequences into blocks, wherein the blocks each comprise one or more lines. This is advantageous in order to carry out a subsequent similarity analysis between individual log files and thus to identify log files with similar error situations.
- the merging step can be carried out by calculating the longest substring or the longest repeated substring.
- the method may further comprise the step of calculating similarity values between the different log files.
- the similarity value is a value relating to a similarity between two log files, which should in particular correspond to the human intuitive concept of similarity. This is in particular a real value, which can for example be restricted to an interval such as the unit interval, i.e. [0, 1], or a Boolean value.
- the similarity value can in particular be symmetrical in order to ensure that the similarity between two log files is always the same, regardless of the order in which they are determined using a similarity operator. It has been shown that the similarity calculation with blocks is particularly robust against events that are broken into several lines and can contain many words. Otherwise, the robustness is increased by the prior extraction of the predefined, error-free characters.
- Jaccard similarities are calculated for the calculation of the similarity values.
- This metric quantifies the similarity between two sample sets. It is equal to the ratio between the number of elements in the intersection and the union of these sets. That is, the more elements they have in common, the greater the similarity.
- the presence or number of matching elements, such as lines, blocks, words, etc., between the compared log files can be compared.
- the method may further comprise the step of grouping the different reduced log files into at least two log file groups of different error situations based on the previously calculated similarity values.
- An error situation is understood to mean at least one error or a combination of several errors that are the same or similar to one another. This refers in particular to the cause of the error, for example incorrect programming in a certain part of the computer program executed by the system, a certain category of hardware errors, etc.
- the similarity values determined in each case are used, in particular by comparing the similarity values with one another.
- Various grouping operations are possible here.
- the similarity values can be compared with a grouping logic in order to group the different log files into at least two log file groups with different error situations.
- the similarity values of the log files can be compared with individual grouping limits of the grouping logic and for each similarity value, the defined grouping limit can be used to determine whether there is sufficient similarity to assign the log files to the same error situation.
- the grouping logic can also be designed as a maximum value or a maximum requirement in such a way that it requires the maximum of individual similarity values of a log file with its compared log files.
- an artificial intelligence (AI) model particularly one based on machine learning, can be used to continuously improve the grouping. Through machine learning, the AI model can select ever more optimized grouping limits, in particular different grouping limits for different error situations.
- the result of the log file groups can be used in a variety of ways, and this use can be a further component of the method.
- the result can be transmitted to the test system(s) carrying out the system test to improve testing, in particular in the form of a machine learning algorithm, to the product(s) being tested, for example to output or display the specific error situation on a corresponding screen or a control element of the product, to a service technician for rectifying product errors, etc. and used by this or that technician.
- At least one group-based metric is determined for each log file group, in particular a ratio of a number of log files of one of the error situations to a total number of log files.
- This metric can be used to very easily determine the most frequent error situation.
- This metric is preferably applied to the log files of a predetermined period of time, e.g. the log files of the last week.
- An error situation can describe both a product error and a false alarm.
- the metric can be used to Therefore, the most common product errors and false alarms can be determined. This allows the developers' work to be prioritized.
- the method can also further comprise the step of combining the log files of at least one of the log file groups into a group error log file that is aggregated in particular with regard to the error situation.
- the group error log file can then be used to resolve errors more quickly.
- the method can further comprise the step of determining an error criticality of the log file groups and in particular a prioritization of the log file groups according to the determined error criticality.
- an error severity of the log file groups is determined.
- the error criticality can be determined, for example, on the basis of one or more of the previously mentioned metrics. This allows prioritization during error correction in order to make the product, for example the machine tool, as fully functional or error-free as possible as quickly as possible.
- a corresponding Kl model can thus increase the robustness of the process, for example by better determining predefined, error-free characters, grouping limits, etc.
- the object mentioned at the outset is further achieved by a computer program product according to claim 12.
- the computer program product comprises instructions which, when the computer program product is executed by a computer, cause the computer to carry out the method according to the invention.
- the computer program product may be a computer program as such or a computer-readable storage medium on which the computer program or its instructions are stored.
- the storage medium may be a tangible device that can store and save instructions for use by an instruction execution device, i.e. a computer, in particular a processor.
- the computer-readable storage medium may be, for example, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the aforementioned devices, but is not limited thereto.
- a non-exhaustive list of more specific examples of a computer-readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch cards or raised structures in a groove with recorded data commands, and any suitable combination of the foregoing.
- RAM random access memory
- ROM read-only memory
- EPROM or flash memory erasable programmable read-only memory
- SRAM static random access memory
- CD-ROM compact disc read-only memory
- DVD digital versatile disk
- memory stick a floppy disk
- mechanically encoded device such as punch cards or raised structures in a groove with recorded data commands
- a computer-readable storage medium should not be understood to mean transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., pulses of light traveling through a fiber optic cable), or electrical signals transmitted through a wire.
- the computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to the respective computing/processing devices or to an external computer or storage device over a network, such as the Internet, a local area network, a wide area network, and/or a wireless network.
- the network may include copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers, and/or edge servers.
- a network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium within the respective computing/processing device.
- the computer-readable program instructions for carrying out operations within the scope of the present invention may be assembler instructions, ISA instructions (instruction set architecture), machine instructions, machine-dependent instructions, microcode, firmware instructions, state data, configuration data for integrated circuits, or either source code or object code written in any combination of one or more programming languages, including an object-oriented programming language such as Smalltalk, C++, or similar, and procedural programming languages such as the "C" programming language or similar programming languages.
- the computer-readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer over any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (e.g. over the Internet using an Internet service provider).
- electronic circuits including, for example, programmable logic circuits, field programmable gate arrays (FPGA), or programmable logic arrays (PLA), may execute the computer readable program instructions by using state information of the computer readable program instructions to personalize the electronic circuits to perform aspects of the present invention.
- the object mentioned at the outset is also achieved by a reduction system according to claim 13.
- the reduction system according to the invention comprises a memory and a processor connected to the memory, wherein the computer program product according to the invention is stored on the memory and the processor is configured to execute the instructions of the computer program product.
- the reduction system may have at least one interface to at least one system, wherein the at least one system is configured to generate log files.
- Figure 1 is a schematic view of a method according to an embodiment of the invention.
- FIG. 2 - 7 schematic views of the steps of the
- Figure 8 is a schematic view of a system environment according to an embodiment of the invention, comprising a reduction system according to an embodiment of the invention and several systems.
- Figure 1 shows purely schematically the steps 102 to 118 of a computer-implemented method 100 for reducing and grouping error-identifying log files 10 (see Figs. 2 to 7).
- a step 102 that can be attributed to the method 100 or is separate from it is the testing or system test of a system 1, in particular a test system (see Fig. 8).
- a test system see Fig. 8
- other processes of the system are also possible, for example a service process, whereby only testing is discussed below as an example and the method 100 can be carried out and used analogously for such other processes.
- a product is tested by such a system 1, in particular a computer program product on a machine, for example a machine tool.
- Each of the systems 1 from Fig. 8 can be used on one or more products (not shown), e.g. computer programs for machine tools.
- the testing in step 102 can otherwise be carried out according to known principles, in particular as an automated testing of the respective system 1. For example, GUI tests can be used.
- the result of the test is in each case the output of a log file 10.
- Log files 10 are machine-generated files that record all these operations. They can also be described as containers of extensive and varied information that can be valuable for troubleshooting. Although there are no standards for their format and size, they are typically structured in entries EI, where each entry EI comprises one or more lines ZE (see Figs. 2 to 6) and reports a specific event together with a timestamp indicating the exact time of the event and, if necessary, even identification numbers and paths (not shown here).
- the length of the log files 10 in the dataset can vary greatly.
- the log file length depends directly on the type of test. Some tests are very short and simply start and stop the test sequence, while others are longer and perform several consecutive subtests to test the endurance of the product.
- client and server logs are preferred for analysis, as they have proven to be particularly informative for machines, especially machine tools.
- These files are similar in format, but differ in the The client protocol is responsible for capturing the events on the user interface of the machine under test or its processor, while the server protocol collects the information about the process in the backend of the same processor.
- the log files 10 generated during the system test(s) in step 102 are read in step 104.
- only the log files 10 with errors can be read in, since only these contain an error message and are relevant for error analysis in order to increase the robustness of the products.
- Protocol files 10 are a subformat of a text file that is attached to the test report. They can also be referred to as log files. In Figs. 2 to 6, the schematically illustrated protocol files 10 are also referred to as "Log 1" and “Log 2" and are thus distinguished from one another.
- Figure 2 shows an example of two log files 10 placed side by side that are to be reduced and grouped. They each have a large number of entries EI that are distributed over different lines ZE.
- step 106 of the method 100 the entries EI of the two log files 10 are now transformed into characters 20, in this case particularly N-grams, for example monograms.
- characters 20 in this case particularly N-grams, for example monograms.
- Fig. 3 The result of the transformation for the two log files 10 can be seen in Fig. 3.
- N-grams a corresponding lexicon with various characters 20, in particular N-grams, e.g. in German and/or English, e.g. monograms, Bigrams, trigrams, etc.
- N-grams are understood to mean at least monograms, bigrams and trigrams.
- predefined characters 20 are now removed from the log files 10, in particular deleted, as illustrated in Fig. 4, so that shortened log files 10 are obtained.
- the predefined characters 20 can, for example, come from a corresponding negative list.
- the negative list can include characters 20 that are error-free or, in other words, not error-relevant or error-irrelevant.
- the negative list can, for example, be generated by using the log file groups 40 explained in more detail later.
- step 110 of the method 100 sequences are generated from the remaining characters 20 of the log files 10, as shown in Fig. 5.
- the existing characters 20 of each line ZE are each concatenated to form a sequence.
- Reduced log files 10 can now be output, which have been cleaned of error-irrelevant content and thus offer a better overview of the error pattern of the log file 10.
- the file size of the log files 10 is significantly reduced, which is gentle on the processor and data memory and thus allows faster error detection.
- step 112 of the method 100 the entries EI or sequences are combined into blocks BL, wherein the blocks BL each comprise one or more rows ZE, as illustrated in Fig. 6.
- the combination in step 112 can for example by calculating the longest substring or the longest repeated substring.
- step 114 of the method 100 the two log files 10 are compared with each other to calculate their similarity.
- the similarity is carried out by using the blocks BL.
- step 114 of the method 100 a similarity value 30 is calculated based on the blocks BL of each of two different log files 10. This is illustrated schematically in Fig. 7.
- the two log files 10 read in and processed according to steps 104 to 112 are compared with each other by a similarity operator 20.
- the log files 10 can also be compared with already grouped log files 10 from log file groups 40 with different error situations 41, 42 in order to enable the log files 10 to be grouped based on their error pattern, as illustrated in Figure 7 by the arrow reference of the log file groups 40 to the similarity operator 20.
- the similarity operator 20 can be designed in particular as a Jaccard similarity operator of the presence of the blocks BL of the log files 10 compared with each other. In this case, the number of blocks of both log files 10 is compared with each other. This provides the respective similarity value 30 for each compared pair of log files 10.
- the respective blocks BL can optionally be weighted, e.g. based on their time of occurrence in the log files 10 or by determining a Tf-idf measure (statistical measure with frequency of occurrence and inverse document frequency).
- the similarity values 30 are compared using a grouping logic 35, which can in particular have one or more grouping limit values.
- the grouping logic 35 can, for example, be a real value or a requirement, e.g. for the highest similarity value 30 from the comparisons with different log files 10. If the grouping limit value required by the grouping logic 35 is met by the respective similarity value 30, the grouping takes place in the corresponding log file group 40 of different error situations 41, 42.
- the result of the log file groups 40 can now be used in a variety of ways, with the optional step 118 being shown as an example in the further course of the method 100 in order to increase the possible uses.
- the result can be sent to the system(s) 1 to improve testing, in particular in the form of a machine learning algorithm, to the product(s) tested, for example to output or display the specific error situation on a corresponding screen or a control element of the product, to a service technician for rectifying product errors, etc. transmitted to and used by this or that person.
- At least one group-based metric can be determined for each of the log file groups 40, in particular a ratio of a number of log files 10 of one of the error situations 41, 42 to a total number of log files 10.
- Figure 8 schematically shows a system environment 200 which shows a reduction system 5 (and grouping system) according to an embodiment of the invention.
- the reduction system 5 here comprises a processor 6 and a memory 7 on which a computer program product 8 is stored, which comprises instructions which, when the computer program product 8 is executed by the processor 6, cause the processor 6 to carry out the method 100 according to Figure 1.
- the computer program product 8 requires the log files 10 of the system(s) 1.
- the system(s) 1 are part of the comprehensive system environment 200 shown, which also includes the reduction system 5.
- the reduction system 5 has an interface 9 through which it can receive the log files 10 from the systems 1.
- the systems 1 can include a corresponding interface (not shown) for data communication.
- the transmission can be wired or wireless in the case of physical interfaces, for example.
- the systems 1 each have a Test processor 2 and a test memory 3 on which a test computer program 4 is stored for carrying out step 102 of the method 100.
- the system or systems 1 can each be the products themselves, with the test computer program 4 being executed thereon in order to test the products or their computer programs.
- system 1 and the reduction system 5 can also be implemented on one of the two systems 1, 5, for which only one memory 7 and one
- Processor 6 can be present, whereby both computer programs 4, 8 can be stored in the memory 7.
- the interface 9 can be implemented by computer program code.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
Titel : Computerimplementiertes Verfahren zum Reduzieren von fehlerausweisenden Protokolldateien aus einem System Title: Computer-implemented method for reducing error-indicating log files from a system
Beschreibung Description
Die Erfindung betri f ft ein computerimplementiertes Verfahren zum Reduzieren von fehlerausweisenden Protokolldateien aus zumindest einem System sowie ein damit assoziiertes Computerprogrammprodukt , Reduzierungssystem und Umgebungssystem mit dem Reduzierungssystem und einem System . The invention relates to a computer-implemented method for reducing error-indicating log files from at least one system and an associated computer program product, reduction system and environmental system with the reduction system and a system.
Für zahlreiche technische Produkte ist der Einsatz von Computerprogrammen bzw . Software unerlässlich, da sie ein wesentlicher Bestandteil dieser Produkte geworden ist . Dies ist beispielsweise der Fall bei in der Industrie eingesetzten Maschinen, insbesondere Werkzeugmaschinen, die ein oder mehrere Computerprogramme benötigen, um ihre Funktionen zu erfüllen . Beispielsweise kann es sich dabei um Werkzeugmaschinen handeln, die Lasertechnik für Metallbearbeitungsaufgaben und die Chip-Lithografie einsetzen, bei denen häufig besonders komplexe Softwareanwendungen Verwendung finden . Die technischen Produkte, einschließlich ihrer Computerprogramme, können fehlerhaft sein und entsprechende Fehlermeldungen ausgeben. Auch können Fehlermeldungen Fehlalarme sein, d.h. ohne Produkt fehler bzw. realen Fehler beim Einsatz des Produkts, z.B. der Werkzeugmaschine, oder in dem Computerprogramm. Um die Produkte möglichst fehlerfrei bereitzustellen, werden die Produkte vorab getestet. For many technical products, the use of computer programs or software is essential because it has become an integral part of these products. This is the case, for example, of machines used in industry, in particular machine tools, which require one or more computer programs to perform their functions. These may, for example, be machine tools that use laser technology for metalworking tasks and chip lithography, which often use particularly complex software applications. The technical products, including their computer programs, can be faulty and issue corresponding error messages. Error messages can also be false alarms, ie without product defects or real errors when using the product, e.g. the machine tool, or in the computer program. In order to provide the products with as few errors as possible, the products are tested in advance.
Testen ist das Verfahren, mit dem Produkt zu interagieren, um zu prüfen, ob es die Anforderungen erfüllt und frei von Produkt fehlern ist, die seine Funktionstüchtigkeit beeinträchtigen könnten. Das Ziel ist die Entscheidung, ob das Produkt freigegeben werden kann oder nicht. Bei kleinen Produkten kann das Testen erfolgreich manuell durchgeführt werden, doch mit zunehmender Größe und Komplexität des Produkts, insbesondere bei den vorgenannten Werkzeugmaschinen, wird diese Aufgabe nicht mehr manuell durchführbar. In diesem Fall ist es zweckmäßig, ein automatisches Testen des Produkts mittels eines computerbasierten Testsystems durchzuführen. Testing is the process of interacting with the product to check that it meets the requirements and is free from product defects that could affect its functionality. The goal is to decide whether the product can be released or not. For small products, testing can be successfully performed manually, but as the size and complexity of the product increases, especially with the aforementioned machine tools, this task becomes impossible to perform manually. In this case, it is convenient to perform automatic testing of the product using a computer-based testing system.
Allerdings sind automatisierte Tests selbst fehleranfällig, und jeder fehlgeschlagene Test erfordert eine manuelle Prüfung, um sein Ergebnis zu verifizieren, d. h. seine Ursache entweder als Produkt fehler oder als Fehlalarm zu klassifizieren. Fehlalarme bzw. falsche Alarme sind dabei auf Test- und Infrastrukturprobleme und nicht auf Fehler am Produkt selbst zurückzuführen. Entwickler müssen die Testberichte, die z. B. aus Fehlernachrichten, Stack Traces und Protokolldateien bestehen, untersuchen, um diese Verifizierung durchzuführen. Aus dem Stand der Technik ist es bekannt , das eingangs beschriebene Testverfahren zu automatisieren . In US 2021 / 0287109 Al wird hierzu ein computerimplementiertes Verfahren zur Analyse von Testfehlern mittels eines KI-Models beschrieben . Bei dem Verfahren wird zunächst ein Clustering durchgeführt , bei dem Testfehler in einzelne Fehlercluster geclustert werden . Das Clustering-Ergebnis wird dann für das Training des KI-Models heranzogen, um automatisiert die Ursache neuer, unklassi fi zierter Fehler identi fi zieren zu können . However, automated tests themselves are prone to errors, and each failed test requires manual review to verify its result, i.e. to classify its cause as either a product defect or a false positive. False positives are due to test and infrastructure problems and not to defects in the product itself. Developers must examine the test reports, which consist of error messages, stack traces and log files, for example, to perform this verification. It is known from the state of the art to automate the test procedure described at the beginning. In US 2021/0287109 Al, a computer-implemented method for analyzing test errors using an AI model is described. The method first carries out clustering in which test errors are clustered into individual error clusters. The clustering result is then used to train the AI model in order to automatically identify the cause of new, unclassified errors.
Die aus dem Stand der Technik bekannten Testverfahren können zwar für die Fehlersuche bzw . -Identi fi zierung verwendet werden, eignen sich aber nicht in dem Maße zur Vermeidung von Produkt fehlern, wie es wünschenswert wäre . Es hat sich beispielsweise herausgestellt , dass bei den bekannten Testverfahren eine sehr große Datenmenge in Protokolldateien zu analysieren ist , was den Prozessor und Datenspeicher sehr stark belastet . Zudem können Protokolldateien wegen ihrer hohen Datenmenge bzw . Anzahl von Einträgen bei Bedarf kaum manuell von Serviceingenieuren verarbeitet werden, insbesondere wenn dies zusätzlich zu einer computergestützten Analyse notwendig ist . So können Fehler in dem Produkt verbleiben, die erst später beim Kunden auftreten und dort zu Komplikationen führen, die nur sehr aufwändig durch eine erneute Testphase gelöst werden können . Wenn beispielsweise eine Werkzeugmaschine mit diversen Produkt fehlern nach einer vermeintlich erfolgreichen Testphase an einen Kunden ausgeliefert wird, können Produktfehler-bedingte Stillstandzeiten beim Kunden für große Produktionsaus fälle sorgen . Der Erfindung liegt folglich die Aufgabe zugrunde , die Zuverlässigkeit der Produkte zu erhöhen, insbesondere ein besonders robustes computerimplementiertes Verfahren zum Reduzieren von fehlerausweisenden Protokolldateien vorzuschlagen . Although the test procedures known from the state of the art can be used for troubleshooting and identification, they are not as suitable for preventing product defects as would be desirable. For example, it has been found that the known test procedures require a very large amount of data to be analyzed in log files, which places a very heavy load on the processor and data storage. In addition, because of the large amount of data or number of entries, log files can hardly be processed manually by service engineers when required, particularly if this is necessary in addition to computer-aided analysis. This means that defects can remain in the product which only appear later at the customer's site and lead to complications which can only be resolved with great effort through a new test phase. If, for example, a machine tool with various product defects is delivered to a customer after a supposedly successful test phase, downtimes caused by product defects can cause major production losses at the customer. The invention is therefore based on the object of increasing the reliability of the products, in particular to propose a particularly robust computer-implemented method for reducing error-indicating log files.
Die Aufgabe wird durch ein computerimplementiertes Verfahren zum Reduzieren von fehlerausweisenden Protokolldateien aus zumindest einem System gelöst . Das Verfahren weist die folgenden Schritte auf : The object is achieved by a computer-implemented method for reducing error-indicating log files from at least one system. The method comprises the following steps:
- Einlesen der fehlerausweisenden Protokolldateien, die j eweils mehrere Einträge umfassen, die auf mehrere Zeilen verteilt sind, - Reading the error-reporting log files, each of which contains several entries distributed over several lines,
- Entfernen von vordefinierten, fehlerunauf fälligen Zeichen aus den fehlerausweisenden Protokolldateien, sodass gekürzte Protokolldateien erhalten werden, und - Removing predefined, error-insensitive characters from the error-indicating log files so that truncated log files are obtained, and
- Erzeugen der reduzierten Protokolldateien aus den gekürzten Protokolldateien . - Generate the reduced log files from the truncated log files.
Im Ergebnis liefert das erfindungsgemäße Reduzierungsverfahren damit eine reduzierte Protokolldatei , die um fehlerunauf fällige Zeichen oder, mit anderen Worten, Tokens bereinigt ist , sodass die Protokolldatei eine geringere Datenmenge und Dateigröße aufweist . So kann sie sowohl computerbasiert , also mittels eines Prozessors , als auch manuell , z . B . durch einen Testingenieur , einfacher prozessiert werden, um eine Fehlersuche , -analyse und -behebung durchzuführen . As a result, the reduction method according to the invention thus provides a reduced log file which has been cleaned of error-free characters or, in other words, tokens, so that the log file has a smaller amount of data and file size. It can therefore be processed more easily both on a computer basis, i.e. by means of a processor, and manually, e.g. by a test engineer, in order to carry out error detection, analysis and correction.
Vorzugsweise kann das erfindungsgemäße Reduzierungsverfahren eine Viel zahl weiterer Schritte umfassen, wie sie im Folgenden näher erläutert werden . Das erfindungsgemäße Reduzierungsverfahren kann insbesondere auch in Gestalt einesPreferably, the reduction process according to the invention can comprise a plurality of further steps, as explained in more detail below. The reduction process according to the invention Reduction process can also be in the form of a
Gruppierungsverfahrens ausgebildet sein, wie es später näher erläutert wird . Bei einem derartigen Gruppierungsverfahren wird eine Datenbasis aus unterschiedlichen Protokolldatei- Gruppen unterschiedlicher Situation, insbesondere Fehlersituation, erstellt . Durch die Zuordnung von Protokolldateien zu den Protokolldatei-Gruppen, die dieselbe Fehlersituation umfassen, kann durch die erfindungsgemäße Extraktion von vordefinierten, fehlerunauf fälligen Zeichen eine robuste Datenbasis erstellt werden, die für die Fehlersuche , -analyse und -behebung verwendet werden kann . The data can be stored in a memory using a grouping method, as will be explained in more detail later. In such a grouping method, a database is created from different log file groups of different situations, in particular error situations. By assigning log files to the log file groups that include the same error situation, a robust database can be created by the inventive extraction of predefined, error-inconspicuous characters, which can be used for troubleshooting, analysis and correction.
Die Protokolldateien können dabei j eweils von einem System, insbesondere Testsystem eingelesen werden, welches einen oder mehrere Prozesse , beispielsweise Systemtests , Serviceprozese , usw . , durchführt , wobei auch mehrere Systeme Anwendung finden können . Dabei sind die Protokolldateien fehlerausweisend, d . h . sie weisen einen Fehler aus , insbesondere wurde der entsprechende Systemtest durch eine Fehlermeldung unterbrochen, was in der Protokolldatei über eine oder mehrere Zeilen als Eintrag oder Einträge vermerkt ist . Die Prozesse , beispielsweise Systemtests , können insbesondere auf den Produkten mit den zu testenden Computerprogrammen, insbesondere Maschinen, beispielsweise Werkzeugmaschinen, ausgeführt werden . Die Systemtests können durch ein Computerprogramm repräsentiert sein, das von einem entsprechenden Prozessor, insbesondere auf dem Produkt , ausgeführt werden kann . Ein entsprechender Testablauf oder eine Testphase des Testsystems kann insoweit von einem Computer, insbesondere Prozessor, der j eweiligen Maschine ausgeführt werden . Das System, insbesondere Testsystem, ermöglicht so einen Prozess , insbesondere Test der Funktionsfähigkeit, der Maschine, insbesondere in seiner Funktionsfähigkeit bzw. hinsichtlich möglicher Fehler zumindest in Bezug auf eines oder mehrere Computerprogramme, die auf der Maschine ausführbar sind. Ein solcher Test kann insbesondere als UI (User Interface, Benutzeroberfläche) Test, insbesondere GUI (Graphical User Interface, graphische Benutzeroberfläche) Test, ausgestaltet sein, der auf einem entsprechenden Systembildschirm ablaufen kann. Das Ergebnis des Testablaufs kann ein Testbericht sein, wobei der Testbericht als Testberichtanhang die Protokolldatei und ggf. weitere Anhänge umfassen kann. Das erfindungsgemäße Verfahren kann selbstverständlich auch den Schritt des Prozesses, insbesondere Testens bzw. Testablaufs selbst aufweisen, insbesondere in der Gestalt des zuvor beschriebenen. The log files can be read in by a system, in particular a test system, which carries out one or more processes, for example system tests, service processes, etc., whereby several systems can also be used. The log files are error-indicating, i.e. they indicate an error, in particular that the corresponding system test was interrupted by an error message, which is noted in the log file over one or more lines as an entry or entries. The processes, for example system tests, can be carried out in particular on the products with the computer programs to be tested, in particular machines, for example machine tools. The system tests can be represented by a computer program that can be carried out by a corresponding processor, in particular on the product. A corresponding test sequence or a test phase of the test system can be carried out by a computer, in particular a processor, of the respective machine. The system, in particular a test system, thus enables a process, in particular a test of the Functionality of the machine, in particular in its functionality or with regard to possible errors at least in relation to one or more computer programs that can be executed on the machine. Such a test can in particular be designed as a UI (user interface) test, in particular GUI (graphical user interface) test, which can run on a corresponding system screen. The result of the test sequence can be a test report, whereby the test report can include the log file and possibly other attachments as a test report appendix. The method according to the invention can of course also comprise the step of the process, in particular testing or test sequence itself, in particular in the form of that described above.
Die vordefinierten, fehlerunauffälligen Zeichen können beispielsweise N-Gramme, Silben, Buchstaben sein. Fehlerunauffällig meint dabei insbesondere, dass Zeichen keine Informationen, zumindest keine relevanten Informationen zu Fehlern aufweisen oder, mit anderen Worten, bezüglich von möglichen Fehlern unauffällig sind. Insbesondere kann fehlerunauffällig fehlerirrelevant bedeuten. Solche fehlerunauffälligen Zeichen können in Protokolldateien, welche keine Fehler ausweisen identifiziert worden sein. Die vordefinierten, fehlerunauffälligen Zeichen können ganz besonders aus einer angelegten Datenbank stammen. Dabei kann ein Abgleich dieser Datenbank bzw. der darin enthaltenen Zeichen, beispielsweise N-Gramme, mit dem Inhalt bzw. den Einträgen, insbesondere durch später näher erläuterte Transformierung der Einträge in den Protokolldateien in Zeichen, insbesondere N-Gramme, stattfinden. Zur Speisung dieser Datenbank kann ganz besonders auf die aus der zuvor erwähnten Gruppierung der Protokolldateien gewonnenen Protokolldatei-Gruppen zurückgegri f fen werden . Die N-Gramme können beispielsweise Monogramme , Bigramme , Trigramme , usw . sein und in beliebiger Sprache abgefasst sein, z . B . Deutsch oder Englisch . The predefined, error-free characters can be, for example, N-grams, syllables, letters. Error-free means in particular that characters do not contain any information, at least no relevant information about errors, or, in other words, are inconspicuous with regard to possible errors. In particular, error-free can mean error-irrelevant. Such error-free characters can have been identified in log files that do not contain any errors. The predefined, error-free characters can in particular come from a created database. This database or the characters contained therein, for example N-grams, can be compared with the content or the entries, in particular by transforming the entries in the log files into characters, in particular N-grams, as explained in more detail later. To feed this database, in particular the data from the previously created The log file groups obtained from the grouping of the log files mentioned above can be used. The N-grams can be, for example, monograms, bigrams, trigrams, etc. and can be written in any language, e.g. German or English.
Für das Erzeugen der reduzierten Protokolldateien können die vordefinierten, fehlerunauf fälligen Zeichen bei Übereinstimmung in den Protokolldateien aus diesen entfernt , insbesondere gestrichen, werden und/oder die um die fehlerunauf fälligen Zeichen gekürzten Protokolldateien ausgegeben werden, insbesondere zur weiteren Verwendung . To generate the reduced log files, the predefined, error-free characters can be removed from the log files if they match, in particular deleted, and/or the log files shortened by the error-free characters can be output, in particular for further use.
Insbesondere kann das Verfahren vor dem Entfernen der vordefinierten, fehlerunauf fälligen Zeichen ferner den Schritt eines Trans formierens der Einträge der Protokolldateien in Zeichen, insbesondere N-Gramme , umfassen . Dadurch ist ein schneller und genauer Abgleich der vordefinierten, fehlerunauf fälligen Zeichen mit den Protokolldateien ermöglicht . In particular, before removing the predefined, error-free characters, the method can further comprise the step of transforming the entries of the log files into characters, in particular n-grams. This enables a quick and accurate comparison of the predefined, error-free characters with the log files.
Auch kann das Verfahren ferner den Schritt eines Erzeugens von Sequenzen aus den nach dem Entfernen verbleibenden fehlerunauf fälligen Zeichen der gekürzten Protokolldateien umfassen, um die reduzierten Protokolldateien zu erhalten . In diesem Falle werden also die mit Zeichen trans formierten Protokolldateien wieder zurück in eine Zeichenfolge von Sequenzen umgewandelt . Insbesondere können dadurch die reduzierten Protokolldateien erhalten werden, die so einer weiteren Verwendung, beispielsweise anderen Verfahren von Prozessoren zur Fehleruntersuchung oder Servicetechniker, zugeführt werden können . Im Übrigen kann das Verfahren ferner den Schritt eines Zusammenfügens der Einträge oder der Sequenzen in Blöcke umfassen, wobei die Blöcke j eweils eine oder mehrere Zeilen umfassen . Dies ist vorteilhaft , um eine spätere Ähnlichkeitsanalyse zwischen einzelnen Protokolldateien durchzuführen und so Protokolldateien ähnlicher Fehlersituation zu identi fi zieren . Dabei kann der Schritt des Zusammenfügens durch Berechnung der längsten Teil zeichenfolge oder der längsten wiederholten Teil zeichenfolge erfolgen . The method can also further comprise the step of generating sequences from the error-free characters of the shortened log files that remain after removal in order to obtain the reduced log files. In this case, the log files transformed with characters are converted back into a character string of sequences. In particular, this makes it possible to obtain the reduced log files, which can then be used for further purposes, for example in other methods of processors for error investigation or by service technicians. Furthermore, the method can further comprise the step of merging the entries or sequences into blocks, wherein the blocks each comprise one or more lines. This is advantageous in order to carry out a subsequent similarity analysis between individual log files and thus to identify log files with similar error situations. The merging step can be carried out by calculating the longest substring or the longest repeated substring.
Das Verfahren kann ferner den Schritt eines Berechnens von Ähnlichkeitswerten zwischen den unterschiedlichen Protokolldateien umfassen . Der Ähnlichkeitswert ist ein Wert bezüglich einer Ähnlichkeit zwischen zwei Protokolldateien, der insbesondere dem menschlichen intuitiven Konzept der Ähnlichkeit entsprechen soll . Dabei handelt es sich insbesondere um einen reellen Wert , der beispielsweise auf ein Intervall wie das Einheitsintervall , d . h . [ 0 , 1 ] , oder einen booleschen Wert beschränkt sein kann . Der Ähnlichkeitswert kann insbesondere symmetrisch sein, um sicherzustellen, dass die Ähnlichkeit zwischen zwei Protokolldateien immer gleich ist , unabhängig von der Reihenfolge , in der sie mithil fe eines Ähnlichkeitsoperators ermittelt werden . Dabei hat sich gezeigt , dass die Ähnlichkeitsberechnung mit Blöcken besonders robust ist gegenüber Ereignissen, die in mehrere Zeilen umgebrochen sind und viele Wörter enthalten können . Ansonsten wird die Robustheit durch die vorheriger Extraktion der vordefinierten, fehlerunauf fälligen Zeichen erhöht . The method may further comprise the step of calculating similarity values between the different log files. The similarity value is a value relating to a similarity between two log files, which should in particular correspond to the human intuitive concept of similarity. This is in particular a real value, which can for example be restricted to an interval such as the unit interval, i.e. [0, 1], or a Boolean value. The similarity value can in particular be symmetrical in order to ensure that the similarity between two log files is always the same, regardless of the order in which they are determined using a similarity operator. It has been shown that the similarity calculation with blocks is particularly robust against events that are broken into several lines and can contain many words. Otherwise, the robustness is increased by the prior extraction of the predefined, error-free characters.
Insbesondere kann vorgesehen sein, dass für die Berechnung der Ähnlichkeitswerte Jaccard-Ähnlichkeiten berechnet werden . Diese Metrik quanti fi ziert die Ähnlichkeit zwischen zwei Stichprobenmengen . Sie ist gleich dem Verhältnis zwischen der Anzahl der Elemente in der Schnittmenge und der Vereinigung dieser Mengen . Das heißt , j e mehr Elemente sie gemeinsam haben, desto größer ist die Ähnlichkeit . Für die Berechnung des Ähnlichkeitswerte können so das Vorhandensein oder die Anzahl der übereinstimmenden Elemente , beispielsweise Zeilen, Blöcke , Wörter, usw . zwischen den verglichenen Protokolldateien miteinander ins Verhältnis gesetzt werden . In particular, it can be provided that Jaccard similarities are calculated for the calculation of the similarity values. This metric quantifies the similarity between two sample sets. It is equal to the ratio between the number of elements in the intersection and the union of these sets. That is, the more elements they have in common, the greater the similarity. To calculate the similarity score, the presence or number of matching elements, such as lines, blocks, words, etc., between the compared log files can be compared.
Dabei kann vorgesehen sein, dass das Berechnen der Ähnlichkeitswerte von gruppierten Protokolldateien mit eingelesenen, noch nicht gruppierten Protokolldateien erfolgt . Diese gruppierten Protokolldateien haben bereits einen Ähnlichkeitsvergleich durchlaufen und wurden bestimmten Fehlersituationen zugewiesen . Durch den Rückgri f f auf die so erzeugten Protokolldatei-Gruppen ist es einfach und schnell möglich, Protokolldateien einer gewissen Fehlersituation zuzuordnen . So können auch schnell neue Fehlersituationen identi fi ziert werden, wenn sich eine Protokolldatei in keine bisher erstellte Protokolldatei-Gruppe eingruppieren lässt , sodass eine neue Protokolldatei-Gruppe geschaf fen werden kann . It can be provided that the calculation of the similarity values of grouped log files is carried out with read-in, not yet grouped log files. These grouped log files have already undergone a similarity comparison and have been assigned to certain error situations. By accessing the log file groups created in this way, it is quick and easy to assign log files to a certain error situation. In this way, new error situations can also be quickly identified if a log file cannot be grouped into any previously created log file group, so that a new log file group can be created.
Insbesondere kann das Verfahren ferner den Schritt eines Gruppierens der unterschiedlichen reduzierten Protokolldateien in zumindest zwei Protokolldatei-Gruppen unterschiedlicher Fehlersituation anhand der zuvor berechneten Ähnlichkeitswerte umfassen . Wenn die Ähnlichkeitswerte der Protokolldateien ermittelt worden sind, kann für die einzelnen Protokolldateien nämlich ausgesagt werden, welchen Protokolldateien, mit denen sie verglichen worden sind, sie am ehesten gleichen oder ähneln, um eine Zuordnung oder Zusammenfassung von Protokolldateien gleicher oder ähnlicher Fehlersituation zu ermöglichen . Als Fehlersituation wird dabei zumindest ein Fehler oder eine Zusammenfassung mehrerer Fehler verstanden, die einander gleichen oder ähneln . Dies bezieht sich insbesondere auf die Fehlerursache , beispielsweise durch eine falsche Programmierung in einem bestimmten Teil des durch das System ausgeführten Computerprogramms , eine bestimmte Kategorie von Hardwarefehlern, usw . Um nun die Protokolldateien zu gruppieren oder, mit anderen Worten, clustern zu können, werden die j eweils ermittelten Ähnlichkeitswerte herangezogen, insbesondere durch Vergleich der Ähnlichkeitswerte miteinander . Hier sind verschiedene Operationen zur Gruppierung möglich . In particular, the method may further comprise the step of grouping the different reduced log files into at least two log file groups of different error situations based on the previously calculated similarity values. When the similarity values of the log files have been determined, it can be stated for the individual log files which log files they are most similar to or similar to, in order to assign or summarize log files with the same or similar error situations. An error situation is understood to mean at least one error or a combination of several errors that are the same or similar to one another. This refers in particular to the cause of the error, for example incorrect programming in a certain part of the computer program executed by the system, a certain category of hardware errors, etc. In order to group the log files or, in other words, cluster them, the similarity values determined in each case are used, in particular by comparing the similarity values with one another. Various grouping operations are possible here.
Beispielsweise ist es möglich, dass die Ähnlichkeitswerte mit einer Gruppierungslogik abgeglichen werden, um die unterschiedlichen Protokolldateien in die zumindest zwei Protokolldatei-Gruppen unterschiedlicher Fehlersituation zu gruppieren . So können beispielsweise für den Vergleich von j e zwei Protokolldateien die Ähnlichkeitswerte der Protokolldateien mit einzelnen Gruppierungsgrenzwerten der Gruppierungslogik verglichen werden und so für j eden Ähnlichkeitswert anhand des definierten Gruppierungsgrenzwert bestimmt werden, ob eine hinreichende Ähnlichkeit vorliegt , um die Protokolldateien derselben Fehlersituation zuzuordnen . Die Gruppierungslogik kann dabei aber auch als ein Maximalwert bzw . eine Maximal forderung derart beschaf fen sein, dass diese das Maximum von einzelnen Ähnlichkeitswerten einer Protokolldatei mit seinen verglichenen Protokolldateien fordert . So kann bei Bedarf sichergestellt werden, dass j ede Protokolldatei nur in eine Protokolldatei-Gruppe eingruppiert wird und die Sensitivität eines gewählten Gruppierungsgrenzwerts nicht zu klein oder zu groß gewählt wird . Insbesondere kann hier ein künstliche Intelligenz (KI ) - Modell , ganz besonders auf maschinellem Lernen beruhend, eingesetzt werden, um die Gruppierung kontinuierlich zu verbessern . Das Kl-Modell kann durch das maschinelle Lernen immer weiter optimierte Gruppierungsgrenzwerte , insbesondere unterschiedliche Gruppierungsgrenzwerte für verschiedene Fehlersituationen, wählen . For example, it is possible for the similarity values to be compared with a grouping logic in order to group the different log files into at least two log file groups with different error situations. For example, to compare two log files each, the similarity values of the log files can be compared with individual grouping limits of the grouping logic and for each similarity value, the defined grouping limit can be used to determine whether there is sufficient similarity to assign the log files to the same error situation. The grouping logic can also be designed as a maximum value or a maximum requirement in such a way that it requires the maximum of individual similarity values of a log file with its compared log files. This can ensure, if required, that each log file is only grouped into one log file group and the sensitivity of a selected grouping limit is not chosen to be too small or too large. In particular, an artificial intelligence (AI) model, particularly one based on machine learning, can be used to continuously improve the grouping. Through machine learning, the AI model can select ever more optimized grouping limits, in particular different grouping limits for different error situations.
Das Ergebnis der Protokolldatei-Gruppen kann viel fältig verwendet werden, wobei diese Verwendung weiterer Bestandteil des Verfahrens sein kann . Beispielsweise kann das Ergebnis an das oder die den Systemtest aus führenden Testsysteme zur Verbesserung des Testens , insbesondere in Gestalt eines maschinellen Lernen-Algorithmus , an das oder die getesteten Produkte , beispielsweise zur Ausgabe oder Anzeige der konkreten Fehlersituation auf einem entsprechenden Bildschirm oder einem Bedienelement des Produkts , an einen Service- Techniker für die Behebung von Produkt fehlem, usw . übermittelt werden und von dieser oder diesem verwendet werden . The result of the log file groups can be used in a variety of ways, and this use can be a further component of the method. For example, the result can be transmitted to the test system(s) carrying out the system test to improve testing, in particular in the form of a machine learning algorithm, to the product(s) being tested, for example to output or display the specific error situation on a corresponding screen or a control element of the product, to a service technician for rectifying product errors, etc. and used by this or that technician.
Auch kann vorgesehen sein, dass für die Protokolldatei-Gruppen j eweils zumindest eine gruppenbasierte Metrik ermittelt wird, insbesondere ein Verhältnis einer Anzahl von Protokolldateien einer der Fehlersituationen zu einer Gesamtanzahl von Protokolldateien . Mit dieser Metrik kann sehr einfach die häufigste Fehlersituation bestimmt werden . Bevorzugt wird diese Metrik auf die Protokolldateien eines vorbestimmten Zeitraums angewendet , bspw . die Protokolldateien der letzten Woche . Eine Fehlersituation kann sowohl einen Produkt fehler als auch einen Fehlalarm beschreiben . Mit der Metrik können daher die am häufigsten auftretenden Produkt fehler und Fehlalarme bestimmt werden . Dadurch kann die Arbeit der Entwickler priorisiert werden . It can also be provided that at least one group-based metric is determined for each log file group, in particular a ratio of a number of log files of one of the error situations to a total number of log files. This metric can be used to very easily determine the most frequent error situation. This metric is preferably applied to the log files of a predetermined period of time, e.g. the log files of the last week. An error situation can describe both a product error and a false alarm. The metric can be used to Therefore, the most common product errors and false alarms can be determined. This allows the developers' work to be prioritized.
Auch kann das Verfahren ferner den Schritt eines Zusammenfassens der Protokolldateien zumindest einer der Protokolldatei-Gruppen zu einem, insbesondere bezüglich der Fehlersituation aggregierten, Gruppenfehlerprotokolldatei umfassen . So liegt nur noch ein aggregierter Gruppenfehlerprotokolldatei vor, der beispielsweise nur noch fehlerrelevante Informationen über Fehlerursachen, -bilder, usw . enthalten kann . Mit dem Gruppenfehlerprotokolldatei kann dann eine schnellere Fehlerlösung erfolgen . The method can also further comprise the step of combining the log files of at least one of the log file groups into a group error log file that is aggregated in particular with regard to the error situation. This means that only one aggregated group error log file is available, which can, for example, only contain error-relevant information about error causes, error images, etc. The group error log file can then be used to resolve errors more quickly.
Zudem kann das Verfahren ferner den Schritt eines Bestimmens einer Fehlerkritikalität der Protokolldatei-Gruppen und insbesondere eine Priorisierung der Protokolldatei-Gruppen nach der bestimmten Fehlerkritikalität umfassen . Mit anderen Worten wird eine Fehlerschwere der Protokolldatei-Gruppen bestimmt . Die Fehlerkritikalität kann beispielsweise auf Basis einer oder mehrerer der zuvor erwähnten Metriken bestimmt werden . Dadurch kann eine Priorisierung bei der Fehlerbehebung erfolgen, um das Produkt , beispielsweise die Werkzeugmaschine , möglichst schnell wieder maximal funktions fähig bzw . fehlerfrei zu machen . In addition, the method can further comprise the step of determining an error criticality of the log file groups and in particular a prioritization of the log file groups according to the determined error criticality. In other words, an error severity of the log file groups is determined. The error criticality can be determined, for example, on the basis of one or more of the previously mentioned metrics. This allows prioritization during error correction in order to make the product, for example the machine tool, as fully functional or error-free as possible as quickly as possible.
Schließlich kann auch vorgesehen sein, dass in einem, mehreren oder j edem der vorstehend erläuterten Schritte maschinelles Lernen eingesetzt wird . Ein entsprechendes Kl-Modell kann so die Robustheit des Verfahrens zu erhöhen, beispielsweise durch bessere Bestimmung von vordefinierten, fehlerunauf fälligen Zeichen, von Gruppierungsgrenzwerten, usw . Die eingangs erwähnte Aufgabe wird ferner gelöst durch ein Computerprogrammprodukt nach Anspruch 12 . Das Computerprogrammprodukt umfasst Befehle , die bei der Aus führung des Computerprogrammprodukts durch einen Computer diesen veranlassen, das erfindungsgemäße Verfahren aus zuführen . Finally, it can also be provided that machine learning is used in one, several or all of the steps explained above. A corresponding Kl model can thus increase the robustness of the process, for example by better determining predefined, error-free characters, grouping limits, etc. The object mentioned at the outset is further achieved by a computer program product according to claim 12. The computer program product comprises instructions which, when the computer program product is executed by a computer, cause the computer to carry out the method according to the invention.
Bei dem Computerprogrammprodukt kann es sich um ein Computerprogramm als solches oder ein computerlesbares Speichermedium handeln, auf dem das Computerprogramm bzw . seine Befehle gespeichert sind . Bei dem Speichermedium kann es sich um eine grei fbare Vorrichtung handeln, die Befehle zur Verwendung durch eine Befehlsaus führungsvorrichtung, also einen Computer, insbesondere einen Prozessor, aufbewahren und speichern kann . Bei dem computerlesbaren Speichermedium kann es sich beispielsweise um eine elektronische Speichervorrichtung, eine magnetische Speichervorrichtung, eine optische Speichervorrichtung, eine elektromagnetische Speichervorrichtung, eine Halbleiterspeichervorrichtung oder eine beliebige geeignete Kombination der vorgenannten Vorrichtungen handeln, ist aber nicht darauf beschränkt . Eine nicht erschöpfende Liste spezi fischerer Beispiele für ein computerlesbares Speichermedium umfasst Folgendes : eine tragbare Computerdiskette , eine Festplatte , ein Direktzugri f fsspeicher (RAM) , ein Festwertspeicher (ROM) , ein löschbarer programmierbarer Festwertspeicher (EPROM oder Flash-Speicher ) , ein statischer Direktzugri f fsspeicher ( SRAM) , ein tragbarer Compact-Disc-Festwertspeicher ( CD-ROM) , eine Digital Versatile Disk ( DVD) , ein Memory-Stick, eine Diskette , eine mechanisch kodierte Vorrichtung wie Lochkarten oder erhabene Strukturen in einer Rille mit darauf auf gezeichneten Befehlen sowie j ede geeignete Kombination der vorgenannten . Ein computerlesbares Speichermedium, wie es hier verwendet wird, ist nicht so zu verstehen, dass es sich um transitorische Signale an sich handelt , wie z . B . Radiowellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten ( z . B . Lichtimpulse , die durch ein Glas faserkabel laufen) , oder elektrische Signale , die durch einen Draht übertragen werden . The computer program product may be a computer program as such or a computer-readable storage medium on which the computer program or its instructions are stored. The storage medium may be a tangible device that can store and save instructions for use by an instruction execution device, i.e. a computer, in particular a processor. The computer-readable storage medium may be, for example, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the aforementioned devices, but is not limited thereto. A non-exhaustive list of more specific examples of a computer-readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch cards or raised structures in a groove with recorded data commands, and any suitable combination of the foregoing. A computer-readable storage medium, as used herein, should not be understood to mean transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., pulses of light traveling through a fiber optic cable), or electrical signals transmitted through a wire.
Die hierin beschriebenen computerlesbaren Programmanweisungen können von einem computerlesbaren Speichermedium auf die j eweiligen Rechen-/Verarbeitungsgeräte oder auf einen externen Computer oder ein externes Speichergerät über ein Netzwerk heruntergeladen werden, z . B . das Internet , ein lokales Netzwerk, ein Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk . Das Netzwerk kann Kupferübertragungskabel , optische Übertragungs fasern, drahtlose Übertragung, Router, Firewalls , Switches , Gateway-Computer und/oder Edge-Server umfassen . Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in j edem Computer/Verarbeitungsgerät empfängt computerlesbare Programmanweisungen aus dem Netzwerk und leitet die computerlesbaren Programmanweisungen zur Speicherung in einem computerlesbaren Speichermedium innerhalb des j eweiligen Computer/Verarbeitungsgeräts weiter . The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to the respective computing/processing devices or to an external computer or storage device over a network, such as the Internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers, and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium within the respective computing/processing device.
Bei den computerlesbaren Programmanweisungen zur Durchführung von Operationen im Rahmen der vorliegenden Erfindung kann es sich um Assembler-Befehle , ISA-Befehle ( Instruktionssatzarchitektur ) , Maschinenbefehle , maschinenabhängige Befehle , Mikrocode , Firmware-Befehle , Zustandsdaten, Konfigurationsdaten für integrierte Schaltkreise oder entweder um Quellcode oder Obj ektcode handeln, der in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben ist , einschließlich einer ob ektorientierten Programmiersprache wie Smalltalk, C++ oder ähnlichen, und prozeduralen Programmiersprachen wie der Programmiersprache "C" oder ähnlichen Programmiersprachen . Die computerlesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers , teilweise auf dem Computer des Benutzers , als eigenständiges Softwarepaket , teilweise auf dem Computer des Benutzers und teilweise auf einem entfernten Computer oder vollständig auf dem entfernten Computer oder Server ausgeführt werden . Im letztgenannten Fall kann der entfernte Computer mit dem Computer des Benutzers über eine beliebige Art von Netzwerk verbunden sein, einschließlich eines lokalen Netzwerks ( LAN) oder eines Weitverkehrsnetzwerks (WAN) , oder die Verbindung kann zu einem externen Computer hergestellt werden ( z . B . über das Internet unter Verwendung eines Internetdienstanbieters ) . In einigen Aus führungs formen können elektronische Schaltungen, die beispielsweise programmierbare Logikschaltungen, feldprogrammierbare Gate- Arrays ( FPGA) oder programmierbare Logik-Arrays ( PLA) umfassen, die computerlesbaren Programmanweisungen aus führen, indem sie Zustandsinformationen der computerlesbaren Programmanweisungen verwenden, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen . The computer-readable program instructions for carrying out operations within the scope of the present invention may be assembler instructions, ISA instructions (instruction set architecture), machine instructions, machine-dependent instructions, microcode, firmware instructions, state data, configuration data for integrated circuits, or either source code or object code written in any combination of one or more programming languages, including an object-oriented programming language such as Smalltalk, C++, or similar, and procedural programming languages such as the "C" programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the latter case, the remote computer may be connected to the user's computer over any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (e.g. over the Internet using an Internet service provider). In some embodiments, electronic circuits, including, for example, programmable logic circuits, field programmable gate arrays (FPGA), or programmable logic arrays (PLA), may execute the computer readable program instructions by using state information of the computer readable program instructions to personalize the electronic circuits to perform aspects of the present invention.
Die eingangs erwähnte Aufgabe wird auch gelöst durch ein Reduzierungssystem nach Anspruch 13 . Das erfindungsgemäße Reduzierungssystem umfasst einen Speicher und einen mit dem Speicher verbundenen Prozessor, wobei das erfindungsgemäße Computerprogrammprodukt auf dem Speicher gespeichert ist und der Prozessor zum Aus führen der Befehle des Computerprogrammprodukts eingerichtet ist . The object mentioned at the outset is also achieved by a reduction system according to claim 13. The reduction system according to the invention comprises a memory and a processor connected to the memory, wherein the computer program product according to the invention is stored on the memory and the processor is configured to execute the instructions of the computer program product.
Das Reduzierungssystem kann zumindest eine Schnittstelle zu zumindest einem System aufweisen, wobei das zumindest eine System zum Erzeugen von Protokolldateien eingerichtet ist . The reduction system may have at least one interface to at least one system, wherein the at least one system is configured to generate log files.
Schließlich wird die eingangs erwähnte Aufgabe gelöst durch eine Systemumgebung nach Anspruch 15 , umfassend das erfindungsgemäße Reduzierungssystem und das zumindest eine System . Finally, the object mentioned at the outset is achieved by a system environment according to claim 15, comprising the reduction system according to the invention and the at least one system.
Dabei gelten Merkmale , die hierin in Bezug auf das erfindungsgemäße Verfahren beschrieben sind, gleichsam in Bezug auf das erfindungsgemäße Computerprogrammprodukt , das Reduzierungssystem und die Systemumgebung sowie j eweils umgekehrt . In this case, features which are described herein with respect to the method according to the invention also apply with respect to the computer program product according to the invention, the reduction system and the system environment, and vice versa.
Weitere Einzelheiten und vorteilhafte Ausgestaltungen der Erfindung sind der nachfolgenden Beschreibung zu entnehmen, anhand derer Aus führungsbeispiele der Erfindung näher beschrieben und erläutert werden . Further details and advantageous embodiments of the invention can be found in the following description, on the basis of which embodiments of the invention are described and explained in more detail.
Es zeigen : They show:
Figur 1 eine schematische Ansicht eines Verfahrens gemäß einem Aus führungsbeispiel der Erfindung; Figure 1 is a schematic view of a method according to an embodiment of the invention;
Fig . 2 - 7 schematische Ansichten der Schritte desFig. 2 - 7 schematic views of the steps of the
Verfahrens aus Fig . 1 ; und Figur 8 eine schematische Ansicht einer Systemumgebung gemäß einem Aus führungsbeispiel der Erfindung, umfassend ein Reduzierungssystem gemäß einem Aus führungsbeispiel der Erfindung und mehrere Systeme . method of Fig. 1 ; and Figure 8 is a schematic view of a system environment according to an embodiment of the invention, comprising a reduction system according to an embodiment of the invention and several systems.
In der nachfolgenden Beschreibung sowie in den Figuren sind für identische oder einander entsprechende Merkmale j eweils dieselben Bezugs zeichen verwendet . In the following description and in the figures, the same reference symbols are used for identical or corresponding features.
Figur 1 zeigt dabei rein schematisch die Schritte 102 bis 118 eines computerimplementierten Verfahrens 100 zum Reduzieren und Gruppieren von fehlerausweisenden Protokolldateien 10 ( siehe Fig . 2 bis 7 ) . Figure 1 shows purely schematically the steps 102 to 118 of a computer-implemented method 100 for reducing and grouping error-identifying log files 10 (see Figs. 2 to 7).
Ein dem Verfahren 100 zurechenbarer oder davon separater Schritt 102 ist das Testen bzw . der Systemtest eines Systems 1 , insbesondere eines Testsystems ( siehe Fig . 8 ) . Alternativ sind auch andere Prozesse des Systems möglich, beispielsweise ein Serviceprozess , wobei beispielhaft im Folgenden nur auf das Testen eingegangen wird und das Verfahren 100 analog für solche anderen Prozesse aus führbar ist und eingesetzt werden kann . Durch ein solches System 1 wird ein Produkt getestet , insbesondere ein Computerprogrammprodukt auf einer Maschine , beispielsweise einer Werkzeugmaschine . Jedes der Systeme 1 aus Fig . 8 kann auf einem oder mehreren Produkten (nicht gezeigt ) , z . B . Computerprogrammen von Werkzeugmaschinen, angewendet werden . Das Testen im Schritt 102 kann ansonsten nach bekannten Prinzipien erfolgen, insbesondere als ein automatisiertes Testen des j eweiligen Systems 1 . Beispielsweise können GUI-Tests eingesetzt werden . Ergebnis des Tests ist j eweils die Ausgabe einer Protokolldatei 10 . Auch bei anderen Systemprozessen, wie beispielsweise einemA step 102 that can be attributed to the method 100 or is separate from it is the testing or system test of a system 1, in particular a test system (see Fig. 8). Alternatively, other processes of the system are also possible, for example a service process, whereby only testing is discussed below as an example and the method 100 can be carried out and used analogously for such other processes. A product is tested by such a system 1, in particular a computer program product on a machine, for example a machine tool. Each of the systems 1 from Fig. 8 can be used on one or more products (not shown), e.g. computer programs for machine tools. The testing in step 102 can otherwise be carried out according to known principles, in particular as an automated testing of the respective system 1. For example, GUI tests can be used. The result of the test is in each case the output of a log file 10. Other system processes, such as a
Serviceprozess , wird entsprechend eine solche Protokolldatei 10 ausgegeben . Service process, such a log file 10 is output accordingly.
Während eines Systemtests findet eine große Anzahl von Ereignissen und Vorgängen statt . Obwohl die meisten von ihnen im System routinemäßig ablaufen, können einige dazu verwendet werden, die Ursache für ein bestimmtes Problem aus findig zu machen . Protokolldateien 10 sind maschinell erzeugte Dateien, in denen alle diese Vorgänge auf gezeichnet werden . Sie können auch als Container mit umfangreichen und viel fältigen Informationen bezeichnet werden, die für die Fehlersuche wertvoll sein können . Obwohl es keine Standards für ihr Format und ihre Größe gibt , sind sie typischerweise in Einträgen EI strukturiert , wobei j eder Eintrag EI eine oder mehrere Zeilen ZE ( siehe Fig . 2 bis 6 ) umfasst und ein bestimmtes Ereignis zusammen mit einem Zeitstempel , der den genauen Zeitpunkt des Ereignisses angibt , und, falls erforderlich, sogar mit Identi fikationsnummern und Pfaden berichtet (hier nicht gezeigt ) . During a system test, a large number of events and operations take place. Although most of them are routine in the system, some can be used to track down the cause of a particular problem. Log files 10 are machine-generated files that record all these operations. They can also be described as containers of extensive and varied information that can be valuable for troubleshooting. Although there are no standards for their format and size, they are typically structured in entries EI, where each entry EI comprises one or more lines ZE (see Figs. 2 to 6) and reports a specific event together with a timestamp indicating the exact time of the event and, if necessary, even identification numbers and paths (not shown here).
Die Länge der Protokolldateien 10 im Datensatz kann sehr unterschiedlich sein . Die Protokolldatei-Länge hängt direkt von der Art des Tests ab . Einige Tests sind sehr kurz und starten und beenden den Testablauf einfach, während andere länger sind und mehrere aufeinanderfolgende Untertests durchführen, um die Ausdauer des Produkts zu testen . Unter der Viel zahl der existierenden Protokolldateien 10 werden bevorzugt vor allem Client- und Serverprotokolle analysiert , da sie sich für Maschinen, insbesondere Werkzeugmaschinen, als besonders aussagekräftig herausgestellt haben . Diese Dateien ähneln sich im Format , unterscheiden sich aber in den enthaltenen Informationen . Das Client-Protokoll ist für die Erfassung der Ereignisse auf der Benutzeroberfläche der getesteten Maschine bzw . seines Prozessors zuständig, während das Server-Protokoll die Informationen über den Prozess im Backend desselben Prozessors sammelt . The length of the log files 10 in the dataset can vary greatly. The log file length depends directly on the type of test. Some tests are very short and simply start and stop the test sequence, while others are longer and perform several consecutive subtests to test the endurance of the product. Among the large number of existing log files 10, client and server logs are preferred for analysis, as they have proven to be particularly informative for machines, especially machine tools. These files are similar in format, but differ in the The client protocol is responsible for capturing the events on the user interface of the machine under test or its processor, while the server protocol collects the information about the process in the backend of the same processor.
Die bei dem oder den Systemtests in dem Schritt 102 erzeugten Protokolldateien 10 werden in Schritt 104 eingelesen . Insbesondere können dabei nur die Protokolldateien 10 mit Fehlern eingelesen werden, da nur diese eine Fehlermeldung enthalten und für die Fehleranalyse von Relevanz sind, um die Robustheit der Produkte zu erhöhen . The log files 10 generated during the system test(s) in step 102 are read in step 104. In particular, only the log files 10 with errors can be read in, since only these contain an error message and are relevant for error analysis in order to increase the robustness of the products.
Protokolldateien 10 sind ein Unterformat einer Textdatei , die dem Testbericht anhängt . Sie können auch als Logdateien bezeichnet werden . In den Fig . 2 bis 6 werden die schematisch illustrierten Protokolldateien 10 auch als „Log 1" und „Log 2" bezeichnet und dadurch voneinander unterschieden . Protocol files 10 are a subformat of a text file that is attached to the test report. They can also be referred to as log files. In Figs. 2 to 6, the schematically illustrated protocol files 10 are also referred to as "Log 1" and "Log 2" and are thus distinguished from one another.
Figur 2 zeigt ein Beispiel zweier nebeneinander gestellter Protokolldateien 10 , die reduziert und gruppiert werden sollen . Sie weisen j eweils eine Viel zahl von Einträgen EI auf , die über verschiedene Zeilen ZE verteilt sind . Figure 2 shows an example of two log files 10 placed side by side that are to be reduced and grouped. They each have a large number of entries EI that are distributed over different lines ZE.
In Schritt 106 des Verfahrens 100 werden nun die Einträge EI der beiden Protokolldateien 10 in Zeichen 20 , vorliegend ganz besonders N-Gramme , beispielhaft Monogramme , trans formiert . Das Ergebnis der Trans formation für die beiden Protokolldateien 10 ist in Fig . 3 zu sehen . Für die Trans formation in die Zeichen 20 in Form der N-Gramme kann ein entsprechendes Lexikon mit verschiedenen Zeichen 20 , insb . N- Grammen, , z . B . in Deutsch und/oder Englisch, z . B . Monogrammen, Bigrammen, Trigrammen usw . , verwendet werden . Als N-Gramme werden insbesondere zumindest Monogramme , Bigramme und Trigramme verstanden . In step 106 of the method 100, the entries EI of the two log files 10 are now transformed into characters 20, in this case particularly N-grams, for example monograms. The result of the transformation for the two log files 10 can be seen in Fig. 3. For the transformation into the characters 20 in the form of N-grams, a corresponding lexicon with various characters 20, in particular N-grams, e.g. in German and/or English, e.g. monograms, Bigrams, trigrams, etc. N-grams are understood to mean at least monograms, bigrams and trigrams.
In Schritt 108 des Verfahrens 100 werden nun vordefinierte Zeichen 20 aus den Protokolldateien 10 entfernt , insbesondere gestrichen, , wie in Fig . 4 illustriert ist , sodass gekürzte Protokolldateien 10 erhalten werden . Die vordefinierten Zeichen 20 können beispielsweise aus einer entsprechenden Negativliste stammen . Die Negativliste kann Zeichen 20 umfassen, die fehlerunauf fällig oder, mit anderen Worten, nicht fehlerrelevant oder fehlerirrelevant sind . Die Negativliste kann beispielsweise unter Rückgri f f auf die später näher erläuterten Protokolldatei-Gruppen 40 erzeugt werden . In step 108 of the method 100, predefined characters 20 are now removed from the log files 10, in particular deleted, as illustrated in Fig. 4, so that shortened log files 10 are obtained. The predefined characters 20 can, for example, come from a corresponding negative list. The negative list can include characters 20 that are error-free or, in other words, not error-relevant or error-irrelevant. The negative list can, for example, be generated by using the log file groups 40 explained in more detail later.
In Schritt 110 des Verfahrens 100 werden aus den verbleibenden Zeichen 20 der Protokolldateien 10 Sequenzen erzeugt , wie Fig . 5 zeigt . Dazu werden die vorliegenden Zeichen 20 j eder Zeile ZE j eweils zu einer Sequenz verkettet . So können nun reduzierte Protokolldateien 10 ausgegeben werden, die um fehlerirrelevante Inhalte bereinigt sind und so eine bessere Übersichtlichkeit bezüglich des Fehlerbildes der Protokolldatei 10 bieten . Insbesondere wird die Dateigröße der Protokolldateien 10 so signi fikant reduziert , was prozessor- und datenspeicherschonend ist und somit eine schnellere Fehlersuche erlaubt . In step 110 of the method 100, sequences are generated from the remaining characters 20 of the log files 10, as shown in Fig. 5. To do this, the existing characters 20 of each line ZE are each concatenated to form a sequence. Reduced log files 10 can now be output, which have been cleaned of error-irrelevant content and thus offer a better overview of the error pattern of the log file 10. In particular, the file size of the log files 10 is significantly reduced, which is gentle on the processor and data memory and thus allows faster error detection.
In Schritt 112 des Verfahrens 100 werden die Einträge EI bzw . Sequenzen in Blöcke BL zusammengefügt , wobei die Blöcke BL j eweils eine oder mehrere Zeilen ZE umfassen, wie in Fig . 6 illustriert ist . Das Zusammenfügen im Schritt 112 kann beispielsweise durch Berechnung der längsten Teil zeichenfolge oder der längsten wiederholten Teil zeichenfolge erfolgen . In step 112 of the method 100, the entries EI or sequences are combined into blocks BL, wherein the blocks BL each comprise one or more rows ZE, as illustrated in Fig. 6. The combination in step 112 can for example by calculating the longest substring or the longest repeated substring.
Im Anschluss an Schritt 112 erfolgt in Schritt 114 des Verfahrens 100 ein Vergleich der beiden Protokolldateien 10 miteinander zur Berechnung ihrer Ähnlichkeit . Die Ähnlichkeit wird der Robustheit des Verfahrens 100 halber unter Rückgri f f auf die Blöcke BL durchgeführt . Um genau zu sein, wird in Schritt 114 des Verfahrens 100 j eweils ein Ähnlichkeitswert 30 basierend auf den Blöcken BL von j e zwei unterschiedlichen Protokolldateien 10 berechnet . Dies ist schematisch in Fig . 7 illustriert . Following step 112, in step 114 of the method 100, the two log files 10 are compared with each other to calculate their similarity. For the sake of robustness of the method 100, the similarity is carried out by using the blocks BL. To be precise, in step 114 of the method 100, a similarity value 30 is calculated based on the blocks BL of each of two different log files 10. This is illustrated schematically in Fig. 7.
In Figur 7 werden die beiden eingelesenen und gemäß der Schritte 104 bis 112 bearbeiteten Protokolldateien 10 durch einen Ähnlichkeitsoperator 20 miteinander verglichen . Alternativ oder zusätzlich können die Protokolldateien 10 auch mit bereits gruppierten Protokolldateien 10 aus Protokolldatei-Gruppen 40 unterschiedlicher Fehlersituation 41 , 42 verglichen werden, um eine Gruppierung der Protokolldateien 10 anhand ihres Fehlerbildes zu ermöglichen, wie Fig . 7 durch den Pfeilbezug der Protokolldatei-Gruppen 40 auf den Ähnlichkeitsoperator 20 veranschaulicht . In Figure 7, the two log files 10 read in and processed according to steps 104 to 112 are compared with each other by a similarity operator 20. Alternatively or additionally, the log files 10 can also be compared with already grouped log files 10 from log file groups 40 with different error situations 41, 42 in order to enable the log files 10 to be grouped based on their error pattern, as illustrated in Figure 7 by the arrow reference of the log file groups 40 to the similarity operator 20.
Der Ähnlichkeitsoperator 20 kann insbesondere als ein Jaccard- Ähnlichkeitsoperator des Vorhandenseins der Blöcke BL von den miteinander verglichenen Protokolldateien 10 ausgestaltet sein . Dabei wird die Anzahl der Blöcke beider Protokolldateien 10 miteinander ins Verhältnis gesetzt . Dies liefert den j eweiligen Ähnlichkeitswert 30 für j edes verglichene Paar von Protokolldateien 10 . Um die Ergebnisse zu verbessern kann optional zudem eine Gewichtung der j eweiligen Blöcke BL, z . B . anhand ihres Auftritts zeitpunkts in den Protokolldateien 10 oder unter Bestimmung eines Tf-idf-Maßes ( statistisches Maß mit Vorkommenshäufigkeit und inverser Dokumenthäufigkeit ) , erfolgen . The similarity operator 20 can be designed in particular as a Jaccard similarity operator of the presence of the blocks BL of the log files 10 compared with each other. In this case, the number of blocks of both log files 10 is compared with each other. This provides the respective similarity value 30 for each compared pair of log files 10. In order to improve the results, the respective blocks BL can optionally be weighted, e.g. based on their time of occurrence in the log files 10 or by determining a Tf-idf measure (statistical measure with frequency of occurrence and inverse document frequency).
Für das Gruppieren der Protokolldateien 10 in Schritt 116 erfolgt dabei ein Abgleich der Ähnlichkeitswerte 30 anhand einer Gruppierungslogik 35 , die insbesondere einen oder mehrere Gruppierungsgrenzwerte aufweisen kann . Die Gruppierungslogik 35 kann beispielsweise ein realer Wert oder eine Forderung sein, z . B . nach dem höchsten Ähnlichkeitswert 30 von den Vergleichen mit verschiedenen Protokolldateien 10 . Wenn der von der Gruppierungslogik 35 geforderte Gruppierungsgrenzwert von dem j eweiligen Ähnlichkeitswert 30 erfüllt wird, erfolgt die Gruppierung in die entsprechende der Protokolldatei-Gruppen 40 unterschiedlicher Fehlersituation 41 , 42 . For grouping the log files 10 in step 116, the similarity values 30 are compared using a grouping logic 35, which can in particular have one or more grouping limit values. The grouping logic 35 can, for example, be a real value or a requirement, e.g. for the highest similarity value 30 from the comparisons with different log files 10. If the grouping limit value required by the grouping logic 35 is met by the respective similarity value 30, the grouping takes place in the corresponding log file group 40 of different error situations 41, 42.
Das Ergebnis der Protokolldatei-Gruppen 40 kann nun viel fältig verwendet werden, wobei in weiterer Folge des Verfahrens 100 beispielhaft der optionale Schritt 118 gezeigt ist , um die Verwendungsmöglichkeiten zu erhöhen . The result of the log file groups 40 can now be used in a variety of ways, with the optional step 118 being shown as an example in the further course of the method 100 in order to increase the possible uses.
Beispielsweise kann das Ergebnis an das oder die Systeme 1 zur Verbesserung des Testens , insbesondere in Gestalt eines maschinellen Lernen-Algorithmus , an das oder die getesteten Produkte , beispielsweise zur Ausgabe oder Anzeige der konkreten Fehlersituation auf einem entsprechenden Bildschirm oder einem Bedienelement des Produkts , an einen Service- Techniker für die Behebung von Produkt fehlem, usw . übermittelt werden und von dieser oder diesem verwendet werden . For example, the result can be sent to the system(s) 1 to improve testing, in particular in the form of a machine learning algorithm, to the product(s) tested, for example to output or display the specific error situation on a corresponding screen or a control element of the product, to a service technician for rectifying product errors, etc. transmitted to and used by this or that person.
Beispielsweise kann in dem Schritt 118 des Verfahrens 100 für die Protokolldatei-Gruppen 40 j eweils zumindest eine gruppenbasierte Metrik ermittelt werden, insbesondere ein Verhältnis einer Anzahl von Protokolldateien 10 einer der Fehlersituationen 41 , 42 zu einer Gesamtanzahl von Protokolldateien 10 . For example, in step 118 of the method 100, at least one group-based metric can be determined for each of the log file groups 40, in particular a ratio of a number of log files 10 of one of the error situations 41, 42 to a total number of log files 10.
Figur 8 zeigt schließlich schematisch eine Systemumgebung 200 , welche ein Reduzierungssystem 5 (und Gruppierungssystem) gemäß einem Aus führungsbeispiel der Erfindung zeigt . Das Reduzierungssystem 5 umfasst vorliegend einen Prozessor 6 und einen Speicher 7 , auf dem ein Computerprogrammprodukt 8 gespeichert ist , welches Befehle umfasst , die bei der Aus führung des Computerprogrammprodukts 8 durch den Prozessor 6 diesen veranlassen, das Verfahren 100 gemäß Fig . 1 aus zuführen . Finally, Figure 8 schematically shows a system environment 200 which shows a reduction system 5 (and grouping system) according to an embodiment of the invention. The reduction system 5 here comprises a processor 6 and a memory 7 on which a computer program product 8 is stored, which comprises instructions which, when the computer program product 8 is executed by the processor 6, cause the processor 6 to carry out the method 100 according to Figure 1.
Um das Verfahren 100 aus zuführen, benötigt das Computerprogrammprodukt 8 die Protokolldateien 10 des oder der Systeme 1 . Das oder die Systeme 1 sind Teil der gezeigten übergrei fenden Systemumgebung 200 , welche auch das Reduzierungssystem 5 umfasst . Das Reduzierungssystem 5 weist dabei eine Schnittstelle 9 auf , durch welche es die Protokolldateien 10 von den Systemen 1 empfangen kann . Selbstverständlich können die Systeme 1 eine entsprechend korrespondierende , nicht gezeigte Schnittstelle zur Datenkommunikation umfassen . Die Übertragung kann bei physischen Schnittstellen beispielsweise drahtgebunden oder drahtlos erfolgen . Die Systeme 1 weisen hier j eweils einen Testprozessor 2 und einen Testspeicher 3 auf , auf dem ein Testcomputerprogramm 4 zum Durchführen des Schritts 102 des Verfahrens 100 gespeichert ist . Das oder die Systeme 1 können dabei j eweils die Produkte selbst sein, wobei darauf das Testcomputerprogramm 4 ausgeführt wird, um die Produkte bzw . ihre Computerprogramme zu testen . In order to carry out the method 100, the computer program product 8 requires the log files 10 of the system(s) 1. The system(s) 1 are part of the comprehensive system environment 200 shown, which also includes the reduction system 5. The reduction system 5 has an interface 9 through which it can receive the log files 10 from the systems 1. Of course, the systems 1 can include a corresponding interface (not shown) for data communication. The transmission can be wired or wireless in the case of physical interfaces, for example. The systems 1 each have a Test processor 2 and a test memory 3 on which a test computer program 4 is stored for carrying out step 102 of the method 100. The system or systems 1 can each be the products themselves, with the test computer program 4 being executed thereon in order to test the products or their computer programs.
Alternativ zur Darstellung der Fig . 5 können das System 1 und das Reduzierungssystem 5 auch auf einem der beiden Systeme 1 , 5 aus führbar sein, wozu j eweils nur ein Speicher 7 und einAs an alternative to the representation in Fig. 5, the system 1 and the reduction system 5 can also be implemented on one of the two systems 1, 5, for which only one memory 7 and one
Prozessor 6 vorhanden sein können, wobei beide Computerprogramme 4 , 8 auf dem Speicher 7 gespeichert sein können . Die Schnittstelle 9 kann hierbei durch Computerprogrammcode implementiert sein . Processor 6 can be present, whereby both computer programs 4, 8 can be stored in the memory 7. The interface 9 can be implemented by computer program code.
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102023117506.8A DE102023117506A1 (en) | 2023-07-03 | 2023-07-03 | Computer-implemented method for reducing error-indicating log files from a system |
| DE102023117506.8 | 2023-07-03 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025008219A1 true WO2025008219A1 (en) | 2025-01-09 |
Family
ID=91664771
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2024/067671 Pending WO2025008219A1 (en) | 2023-07-03 | 2024-06-24 | Computer-implemented method for reducing error logfiles of a system |
Country Status (2)
| Country | Link |
|---|---|
| DE (1) | DE102023117506A1 (en) |
| WO (1) | WO2025008219A1 (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190205197A1 (en) * | 2018-01-02 | 2019-07-04 | Carrier Corporation | System and method for analyzing and responding to errors within a log file |
| US20190386819A1 (en) * | 2018-06-15 | 2019-12-19 | Dynatrace Llc | Method And System For Log Data Analytics Based On SuperMinHash Signatures |
| WO2021109724A1 (en) * | 2019-12-02 | 2021-06-10 | 华为技术有限公司 | Log anomaly detection method and apparatus |
| US20210287109A1 (en) | 2020-03-11 | 2021-09-16 | International Business Machines Corporation | Analyzing test result failures using artificial intelligence models |
| CN116244437A (en) * | 2023-02-24 | 2023-06-09 | 浪潮电子信息产业股份有限公司 | A log classification method, device, system and computer-readable storage medium |
-
2023
- 2023-07-03 DE DE102023117506.8A patent/DE102023117506A1/en active Pending
-
2024
- 2024-06-24 WO PCT/EP2024/067671 patent/WO2025008219A1/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190205197A1 (en) * | 2018-01-02 | 2019-07-04 | Carrier Corporation | System and method for analyzing and responding to errors within a log file |
| US20190386819A1 (en) * | 2018-06-15 | 2019-12-19 | Dynatrace Llc | Method And System For Log Data Analytics Based On SuperMinHash Signatures |
| WO2021109724A1 (en) * | 2019-12-02 | 2021-06-10 | 华为技术有限公司 | Log anomaly detection method and apparatus |
| US20210287109A1 (en) | 2020-03-11 | 2021-09-16 | International Business Machines Corporation | Analyzing test result failures using artificial intelligence models |
| CN116244437A (en) * | 2023-02-24 | 2023-06-09 | 浪潮电子信息产业股份有限公司 | A log classification method, device, system and computer-readable storage medium |
Also Published As
| Publication number | Publication date |
|---|---|
| DE102023117506A1 (en) | 2025-01-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1307816A1 (en) | System for determining error causes | |
| DE112018004216T5 (en) | Evaluation system, evaluation procedure and program | |
| EP3340250B1 (en) | Identification of components in the error handling of medical devices | |
| DE112021003403T5 (en) | NOTIFICATION MANAGEMENT IN DATA PROCESSING SYSTEMS | |
| DE202023106044U1 (en) | A system for carrying out the performance assessment of rolling element bearings | |
| DE112021003677T5 (en) | AUTOMATED ASSISTED CIRCUIT VALIDATION | |
| EP1917588B1 (en) | Method and device for the error recovery of a data processing unit | |
| DE112011100168T5 (en) | Collect diagnostic data in a computing environment | |
| EP2492701B1 (en) | Method and device for testing a wind turbine assembly | |
| DE112015004557B4 (en) | Requirements monitoring | |
| WO2016008757A1 (en) | Computing device and method for detecting attacks on a technical system based on events of an event sequence | |
| DE112017007507T5 (en) | CLOUD-CAPABLE TESTING OF CONTROL SYSTEMS | |
| DE102010044039A1 (en) | Method and device for quality analysis of system models | |
| EP3921810B1 (en) | Method and device for automatically identifying a product error in a product and/or for automatically identifying a product error cause of the product error | |
| WO2025008219A1 (en) | Computer-implemented method for reducing error logfiles of a system | |
| DE10111831A1 (en) | Method for automatically searching and sorting error signatures of wafers | |
| DE112017006528T5 (en) | ATTACK / ABNORMALITY DETECTION DEVICE, ATTACK / ABNORMALITY DETECTION PROCEDURE AND ATTACK / ABNORMALITY DETECTION PROGRAM | |
| DE112010005924T5 (en) | Method and system for passing changes to a master unit to duplicates | |
| EP3929554A1 (en) | Improved fault detection in machines using ai | |
| DE102015225018A1 (en) | Method for testing a plurality of component carriers equipped with components in the same way, computer program product for carrying out such a method, and test system for carrying out such a method | |
| EP4307121A1 (en) | Computer-implemented method for configuring a virtual test system and training method | |
| DE102023117503A1 (en) | Computer-implemented method for grouping error reports into at least two error report groups of similar error situation | |
| DE102009043286A1 (en) | Method and device for checking the configuration of a computer system | |
| DE10010232A1 (en) | Method and device for speech recognition | |
| EP3933600A1 (en) | Method for automatically carrying out software tests on graphical user surfaces and device for carrying out such a method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24736010 Country of ref document: EP Kind code of ref document: A1 |