WO2021249941A1 - Verfahren und vorrichtung zur automatischen untersuchung eines verhaltens einer technischen einrichtung - Google Patents

Verfahren und vorrichtung zur automatischen untersuchung eines verhaltens einer technischen einrichtung Download PDF

Info

Publication number
WO2021249941A1
WO2021249941A1 PCT/EP2021/065165 EP2021065165W WO2021249941A1 WO 2021249941 A1 WO2021249941 A1 WO 2021249941A1 EP 2021065165 W EP2021065165 W EP 2021065165W WO 2021249941 A1 WO2021249941 A1 WO 2021249941A1
Authority
WO
WIPO (PCT)
Prior art keywords
predictor
grammar
conditions
technical device
input value
Prior art date
Application number
PCT/EP2021/065165
Other languages
English (en)
French (fr)
Inventor
Andreas Zeller
Alexander Kampmann
Nikolas Havrikov
Ezekiel Soremekun
Original Assignee
CISPA - Helmholtz-Zentrum für Informationssicherheit gGmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CISPA - Helmholtz-Zentrum für Informationssicherheit gGmbH filed Critical CISPA - Helmholtz-Zentrum für Informationssicherheit gGmbH
Publication of WO2021249941A1 publication Critical patent/WO2021249941A1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Definitions

  • the invention relates to a method and a test device for automatically examining the behavior of a technical device, the technical device assuming at least two different states as a function of input values.
  • the technical device can be, for example, an autonomous system such as a robot, an automatic machine, a vehicle or some other machine.
  • the technical device to be examined can also be a processing unit, such as a computer, on which a computer program is stored ready for execution and access.
  • the invention also relates to a test arrangement with a test device mentioned at the beginning, the technical device being connected to the test device.
  • test devices and test arrangements are known from practice. For example, there are corresponding methods and devices for examining the behavior of a machine or for finding program errors in a computer program.
  • the invention is based on the object of creating a method and a test device for automatically examining the behavior of a technical device, with which the behavior can be precisely predicted and classified.
  • the invention proposes the features of claim 1.
  • new input values are generated with the aid of a computer and that the states are recorded that the technical device assumes for the new input values, that a predictor with which, with the aid of a computer, a prediction about the State of the facility can be made with different input values
  • a machine learning method is used to train that rules of a formal grammar are stored for the input values
  • a new input value with a syntactic structure is generated with the aid of a computer from the rules of the grammar
  • features of the syntactic structure can be determined with the aid of a computer and that the predictor is trained with the features and with the recorded state that the technical device assumes for the new input value.
  • a large number of new input values are preferably generated in the manner described and used in the manner described to train the predictor.
  • This technical solution has a number of advantages.
  • machine learning methods it is possible to learn based on observations alone, i.e. from the features of the newly generated input values and the recorded states that the technical device assumes for the newly generated input values.
  • This is particularly of great advantage when a large number of observations can be generated, be it because a large number of identical technical facilities can be examined in parallel or because the investigation can be carried out quickly and can therefore be repeated in quick succession.
  • the technical solution is therefore particularly efficient for finding program errors in a computer program, for example, since communication with a computer program can easily be automated and parallelized.
  • the method according to the invention is therefore preferably a method for debugging a computer program.
  • rules of a formal grammar are stored for the input values. These rules make it possible to structure the input values, in particular in that the input values are broken down into a syntactic structure with the aid of the computer using the rules. This makes it possible to considerably reduce the complexity of the space of possible input values to be found and to find new input values that trigger a certain behavior of the technical device. Furthermore, the structuring of the inputs enables concentrated and structured information to be transmitted to the predictor via the definition of features, which in turn can then generate outputs which then make it possible to efficiently generate new input values that trigger a certain behavior.
  • the rules of the grammar are used both when generating new input values and when defining features by means of which the predictor is trained.
  • a new input value with a syntactic structure is generated with the aid of a computer from the rules of the grammar.
  • a new input value is generated with the aid of a computer by producing a syntactic structure from the rules of the grammar, from which the new input value is then taken.
  • the input value is generated directly using the rules of the grammar and that a syntactic structure is then determined from the generated input value.
  • the new input value and its syntactic structure can also be created at the same time.
  • the features can be designed as numerical features.
  • a first characteristic can be given by the fact that a certain rule of the grammar was used in the production or determination of the syntactic structure (the characteristic receives the value 1) or not (the characteristic receives the value 0) .
  • a second feature can be given, for example, by the fact that a word derived from an element of the syntactic structure has a certain length, the number of characters in the word being able to be specified by the numerical value.
  • the predictor is iteratively trained by training the predictor several times with input values newly generated in each iteration and newly recorded states that the technical device assumes with the newly generated input values.
  • the predictor will usually include hypotheses about the behavior of the technical facility.
  • the hypotheses are preferably checked, in particular falsified. This can be done, for example, by checking the hypotheses on the basis of the states of the technical device recorded for the new input values.
  • the hypotheses are preferably adapted at least in the case of a falsified hypothesis.
  • the hypotheses can also be adapted, depending on the machine learning method used, if no hypothesis is falsified. This can be the case in particular if the new observation contains additional information for the model represented by the predictor about the behavior of the technical device.
  • Adapting the hypotheses can also include setting up a new hypothesis.
  • the predictor can include, for example, hypotheses such that the technical device assumes a first state in a first area of a feature space spanned by the features of the input values, in a second area of the feature space it assumes a second state.
  • the hypotheses can have conditions for the features.
  • a hypothesis can state, for example, that when a condition is met for a feature, a different set of feature combinations of the other features assumes a first state than when the condition is not met.
  • hypotheses can additionally or alternatively have numerical values with which the features are weighted.
  • At least one first input value, for which the technical Device assumes one of the at least two different states, and a second input value, in which the technical device assumes another of the at least two different states, are provided, in particular predefined.
  • the initial input values are generated with the aid of the grammar.
  • the help of the grammar random input values are generated until two different states are identified.
  • a suitable initial input value can also be stored in a log file or the like, for example if a program error has occurred.
  • the rules of the grammar can therefore already be used when the method is initialized.
  • hypotheses are preferably set up with the aid of a computer as a function of the features and / or the assumed states.
  • the predictor preferably has a decision tree.
  • Decision trees have the advantage that their nodes have simple relations that are directly related to the input vectors. Decision trees are therefore ideally suited for the production of new input values, since according to the invention the input values are broken down into a syntactic structure using the rules of a grammar, from which features are then derived that form the input vectors of the decision tree. Therefore, what has already been learned can be used efficiently in the production of new input values so as to generate suitable new input values.
  • Decision tree nodes can have conditions for the characteristics.
  • the conditions can be formed by comparing a feature with a number.
  • the conditions can also be formed by comparing one or more linear, polynomial or other functional relationships of one or more features with one or more numbers.
  • the predictor can, however, also have any other structure that can be trained by means of a machine learning method, such as a neural network or a linear regression model, for example.
  • At least one new input value is preferably generated for several paths in the decision tree. For example, it can be provided that for all paths in the decision tree that have a first state of the technical Device predictions, in each case at least one new input value is generated.
  • the first state can be, for example, an error state of the technical device.
  • it can also be useful to generate at least one new input value for all paths in the decision tree.
  • the new input value is generated as a function of a current state of the predictor.
  • the syntactic structure is produced as a function of the current state of the predictor.
  • the state of the predictor can be described, for example, by current hypotheses and / or conditions of the predictor. This also applies to later references to a state of the predictor.
  • Such configurations lead to a particularly efficient generation of new input values for a specific state, such as for an error state, since information about the behavior of the technical device that has already been learned is used when the input values are generated.
  • the predictor has conditions for the features.
  • the conditions are preferably designed as a comparison with a number.
  • a set of conditions is preferably determined with the aid of a computer, the set of conditions including conditions of the predictor and / or negated conditions of the predictor.
  • a new input value is generated whose features meet the set of conditions.
  • the rules of the grammar are changed during the execution of the method. In this way, efficiency advantages and a higher hit rate can be achieved when generating new input values for a certain state.
  • a terminal in the case of a new input value in which the technical device assumes a first state, a terminal is added as an alternative to non-terminals of the grammar, which terminal is derived from the respective non-terminal.
  • the terminal is preferably a part of the input value or the complete input value in which the technical device assumes the first state.
  • Such configurations can reduce the complexity of a derivation.
  • this can increase the chance of finding new input values in which the technical device assumes the first state, since it is certain that the alternative leads to the first state.
  • the syntactic structure has a derivation tree or forms one.
  • the generation of a new input value can be particularly efficient and reliable if, in an advantageous embodiment of the method, it is provided that the new input value is generated by means of production rules of the grammar and one option is selected from several possible options of a production rule according to a specification. It is preferably provided that the new input value is generated by means of the production rules of the grammar, in that a derivation tree is successively built up and the new input value is taken from the derivation tree that has been built up.
  • the new input value is preferably only used or removed for further processing if a set of conditions of the predictor is met.
  • the specification further preferably comprises a probability distribution and / or a compatibility of the option with at least one condition of a set of conditions of the predictor.
  • the option can, for example, be the selection of the alternative if there are alternatives.
  • the option can be to choose the number of children to add.
  • the probability distribution can consist of a uniform distribution. This can be useful, for example, if one of several alternatives has to be selected.
  • the probability distribution can also include information about conditions of the predictor.
  • the probability distribution can also have other forms, such as a distribution that falls exponentially at a greater distance from a current comparison value of a condition of the predictor or a delta peak at a value that is a certain amount away from a comparison value of a condition of the predictor. If the predictor specifies, for example, that a numerical value should be less than, for example, the value x, a value of xa could be selected as the value, where a is a predefined parameter.
  • conditions of the predictor can include conditions about a feature of an option, so that it is easily possible to efficiently implement a compatibility of the option with at least one condition of a set of conditions of the predictor.
  • a particularly efficient and reliable method can be created if it is provided that a feature of the input values is given by the fact that it has the value 1 precisely when a production rule of the grammar used in determining or producing the syntactic structure is applied at least once . Otherwise, the characteristic preferably has the value 0.
  • the production rule is preferably temporarily deactivated in order to generate the next input value removes the grammar when a current set of conditions includes a condition where the feature has a value less than 1.
  • a check is carried out to determine whether the syntactic structure is compatible with a predictor or the state of the predictor and that, in the event of an incompatibility, the syntactic structure is varied.
  • a previously selected option is preferably discarded and replaced by an alternative option.
  • a greedy method is particularly preferably used to find the alternative option.
  • the grammar is a context-free grammar.
  • the method according to the invention and the variants described are preferably carried out completely computer-aided.
  • the invention also proposes the features of the independent claim directed to a test device.
  • the test device is set up to carry out a method that, according to the invention, in particular as previously described or designed according to one of the protection claims directed to a method.
  • the test device preferably comprises a data output interface via which data can be transmitted from the test device to the device and / or a data input interface via which data can be received.
  • Data input and output interface parts of the test device can be given by a common interface.
  • the test device preferably has at least one data memory and one data processing unit.
  • a computer program that is executed to carry out the method can be stored in the data memory.
  • Data input interface connected sensor is formed, with which a state of the technical device can be detected.
  • the sensor can be, for example, an optical, a magnetic, an electrical or some other sensor.
  • the invention also proposes the features of the independent claim directed to a test arrangement.
  • the test arrangement has a test device which is designed according to the invention, in particular as described above or according to one of the protection claims directed to a test device.
  • the test arrangement also has a technical device.
  • the technical device can be designed as described in this description of the invention.
  • the technical device preferably has a data input interface via which data can be received, the data input interface of the technical device being connected to the data output interface of the test device in such a way that data can be transmitted from the test device to the technical device.
  • the technical device can furthermore have a data output interface which is connected to the data input interface of the test device in such a way that data can be transmitted from the technical device to the test device.
  • the data input and data output interfaces of the technical device can be provided by a common interface.
  • the data input interface of the technical device can be, for example, a man-to-machine interface such as a keyboard or a machine-to-machine interface via which data can be received or exchanged.
  • the interface can in particular be a hardware interface or a
  • These input values can be received via the data input interface of the technical facility.
  • the technical device assumes at least the two aforementioned states.
  • the technical facility can be set up in such a way that that when an input value is received, a computer program stored on it is executed. If the computer program has a program error, this will show undesirable behavior with certain input values, while it will behave properly with other input values.
  • the method according to the invention and its variants described above can in particular be used in such a situation in order to obtain input values that trigger the program error.
  • FIG. 1 shows a flow chart of an exemplary embodiment of a method according to the invention
  • FIG. 2 shows an exemplary embodiment of the method step of generating new inputs which can be used in the method shown in FIG. 1,
  • Fig. 3 shows a first embodiment of a test arrangement according to the Invention
  • Fig. 4 shows a second embodiment of a test arrangement according to the Invention
  • Fig. 5 shows a third embodiment of a test arrangement according to the Invention.
  • elements that correspond in their function are given corresponding reference numbers even if they have a different design or shape.
  • FIGS. 1 and 2 show an exemplary embodiment of a method 100 according to the invention.
  • the behavior of a technical device 2 can be examined automatically.
  • test arrangement 12 in accordance with one of the exemplary embodiments illustrated in FIGS. 3 to 5.
  • the technical device 2 according to FIG. 3 is a computer 13 on which a computer program is stored ready for execution and access.
  • the technical devices 2 each include the same computer 13, different instances 14 of the same computer program being stored ready for execution and access.
  • resources such as a processor 15 or a data memory 16 of the computer 13 can be used jointly.
  • the technical device 2 according to FIG. 4 is an autonomous system 11 such as a robot.
  • the technical device 2 can each assume at least two different states.
  • a first state can be an orderly state and the second state can be an error state.
  • the technical device 2 has a
  • Data input interface 6 via which data can be received.
  • Fig. 3 and Fig. 4 it is a hardware interface
  • Fig. 5 it is a software interface.
  • the technical device 2 can receive input values via the data input interface 6. Depending on the input values, the technical device 2 assumes at least the two aforementioned states. In FIGS. 3 and 5, the respective technical device 2 is set up in such a way that when an input value is received, the computer program stored on it ready for execution is executed.
  • Data information is transmitted from the technical device 2 to the test device 1 via a data line 10.
  • the test device 1 has a data input interface 9 which detects the state of the technical device 2 via the data line 10.
  • the data line 10 can be a wired and / or wireless connection. It can also be an Internet connection or some other network connection.
  • the state of the technical device 2 is detected by a sensor 8 which is connected to a data input interface 9 of the test device 1 via a data line 10.
  • the states of the two technical devices 2 are transmitted from their data output interface 17 to the data input interface 9 of the test device 1, the aforementioned interfaces are software interfaces.
  • the test device 1 is a computer 13 with a memory 16 and a processor 15. The latter are not explicitly shown in FIGS. 3 and 4 for reasons of clarity.
  • the test device 1 also has a data output interface 3, which in the exemplary embodiments according to FIGS. 3 and 5 form a common interface.
  • the interfaces 3, 9 are designed as hardware interfaces and in FIG. 5 as software interfaces.
  • Data output interface 3 of test device 1 is connected to data input interface 6 of technical device 2, so that data can be transmitted from test device 1 to technical device 2, such as input data or sets of conditions of the predictor.
  • test device 1 has resources that are separate from the technical device 2.
  • FIG. 5 shows an example in which the test device 1 and the technical device 2 use common resources such as the processor 15 and the data memory 16.
  • the test device 1 is set up in each case to carry out the method 100.
  • the method steps are carried out automatically by means of the computer 13.
  • the method 100 is described in more detail below. It goes without saying that the sequence described takes place only by way of example and that in the one described above The scope of the method steps can also have a different order, that method steps can be omitted or added, and that the individual method steps can be designed differently.
  • the method is initialized in method section 112.
  • at least one input value is initially provided in step 102 for each of the at least two states of the technical device 2, which input value brings about the respective state.
  • the initial input values can have been generated beforehand by means of another method or at least partially also by means of method 100 and / or on the basis of other knowledge.
  • a suitable input value can be stored in a log file when a program error has occurred.
  • the input value can be, for example, an argument of a function call.
  • step 104 at least one derivation tree is generated from the initial input values using the rules of a grammar 106.
  • the derivation tree is a syntactic structure.
  • the grammar is a context-free grammar.
  • a derivation tree starts at the root with the start symbol. Starting from the start symbol,
  • the terminals on the leaves together form one of the initial input values.
  • numerical features are then determined from the syntactic structure, such as the feature as to whether a certain production rule of the grammar was used in the derivation of the syntactic structure (the feature receives the value 1) or not (the feature receives the value 0) or the characteristic of the length of a word derived from a node (if a numerical value has a length of 4 digits, this characteristic is given the value 4).
  • the predictor is then initialized in step 110.
  • the predictor receives the numerical features derived from the input values in step 108 and the corresponding states of the technical device 2 provided in step 102.
  • the predictor essentially consists of a decision tree.
  • the decision tree has conditions on the numerical characteristics at its nodes, such as, for example, that the characteristic that a certain production rule was used has a value greater than 0.5 or that the length of a word derived from a node of the derivation tree has a length of over 3 has.
  • real-valued numbers can be considered as comparison values.
  • the decision tree At the nodes of the decision tree, it is often split into two branches, these forming hypotheses, namely that for a certain combination of features that reaches the node, a first branch correctly describes the behavior of the technical device 2 if the condition of the node is fulfilled by the combination of features and that the second branch correctly describes the behavior if the condition is not fulfilled by the combination of features.
  • the expected state of the combination of features can then be found, such as, for example, that for a certain combination of features or a set of combinations of features, the state is an error state.
  • step 116 new input values are iteratively generated by producing syntactic structures from the rules of grammar 106 for each iteration, from which the new input values are then taken. This method step 116 is shown in more detail in FIG. 2 and is explained in more detail below.
  • step 118 the generated input values are successively and / or in parallel to one or more technical devices 2, which can be configured, for example, as shown in FIGS. 3 to 5, and the states that the technical devices 2 based on the respective input value take, recorded.
  • step 120 the previously mentioned or further numerical features are determined from the syntactic structures produced.
  • step 122 the generated features and the associated states are transferred to the predictor, which is then trained with the features and states by means of a suitable method of machine learning. Suitable methods are known to the person skilled in the art with which a
  • a termination criterion is then checked in step 124. If the termination criterion is met, the method ends in step 126. In this step, for example, the trained decision tree is saved.
  • the learned decision tree can then be used to make predictions about the behavior of the technical device 2 sets of input values can be taken that are consistent with the inequality conditions and the other conditions.
  • a possible termination criterion is, for example, exceeding a time limit and / or falling below a level for an increase in learning in one or more of the last iterations and / or reaching a predetermined number of iterations.
  • step 116 If the termination criterion is not met, the method is continued in step 116 by performing a further iteration.
  • FIG. 2 illustrates method step 116 in which new input values are generated.
  • Method step 116 begins in step 200.
  • a set of conditions is initially provided for different paths in the decision tree, the conditions contained in a set being taken from the nodes along the path.
  • the grammar is also provided.
  • the various paths can be, for example, all paths in which an error state of the technical device 2 is predicted.
  • a path can go through this be characterized in that it describes the decision-making path from the input data, i.e. the features, to the final prediction, i.e. to the predicted state.
  • step 202 it is first checked in step 202 whether a set of conditions is still present or whether all sets have already been processed.
  • step 204 If all of the records have not yet been processed, a next set of conditions is selected in step 204.
  • step 208 it is checked whether a set of conditions is still present. If there are no more records, the method continues in step 202.
  • step 210 If there is still a set of conditions, a next set is selected in step 210.
  • the grammar is adjusted for this iteration by removing elements from grammar that are incompatible with the terms of the set of conditions. For example, if the theorem of If a characteristic that a certain production rule was used has a value less than 1, this production rule is removed from the grammar.
  • step 214 it is then checked whether the set of conditions is compatible with the grammar adapted in the previous step. If the set of conditions specifies, for example, that a feature that a specific production rule has been used has a value greater than 0.5, a check is made to determine whether the production rule can even be reached within the framework of the reduced grammar. If it is not, the current set of conditions is discarded and the method continues in step 208.
  • step 216 a new derivation tree is successively produced from the rules of the grammar.
  • a production rule can have several alternatives or the number of child nodes can be selected. The way in which such a decision can be made has already been described in more detail above.
  • a probability distribution can be specified by means of which a decision is made.
  • a check is carried out to determine whether the set of conditions restricts the decisions or options.
  • the current node provides the alternatives a, b and c for production from non-terminal A. If the set of conditions contains the condition that alternative a does not exist, this alternative is ruled out and only the decision becomes determined whether the alternative b or c is chosen. For this purpose, a uniformly distributed probability distribution can now be assumed, so that in the result a is selected with a probability of 0%, b with a probability of 50% and c with a probability of 50%. This choice can then be made by means of a suitable random generator.
  • Probability distribution is adjusted, for example if additional information about the behavior of the technical device 2 is obtained as a result of a decision made. For example, provision can be made to increase the probability of a specific decision if it is found that this achieves a desired effect, for example the inclusion of a specific alternative. At the same time, the probability can be reduced if the desired effect does not occur, for example because the inclusion of the alternative is not achieved.
  • step 218 After the derivation tree is produced, it is checked in step 218 whether the derivation satisfies the set of conditions. Even if the compatibility of the decisions with the conditions was checked when the derivation tree was created, it can happen that not all conditions are met. This is particularly due to the fact that it would not be efficient to check every single decision for compatibility with all conditions when building the derivation tree. When building the derivation tree, it can be useful to determine whether a decision is compatible only under those conditions that depend exclusively on the current decision to be made. However, there can also be conditions that involve several decisions, so that such a dependency lead to it may mean that the derivation from the derivation tree produced does not meet all conditions.
  • step 208 If it is determined that all conditions are met, a new input is taken from the derivation tree produced in step 220 by stringing the terminals on the leaves in the manner known to the person skilled in the art. The method then continues in step 208.
  • step 222 a check is made in step 222 as to whether a termination criterion, such as, for example, reaching a time limit or a predetermined number of iterations, is met. If this is fulfilled, no new input value is generated in this iteration and the method is continued in step 208.
  • a termination criterion such as, for example, reaching a time limit or a predetermined number of iterations
  • the derivation tree is modified in step 224. For this purpose, a previously made decision, which would also have allowed an alternative decision, is replaced by an alternative decision. The determination of the derivation tree then starts from the beginning by selecting the alternative option.
  • step 218 After the derivation tree has been modified, the method continues in step 218.
  • step 116 is ended in step 226. For this purpose, all newly generated input values are fed to a further use step 118 and the associated syntactic Structures for further use supplied to step 120 as already described above.
  • the invention relates to a method and a device 1 for automatically examining the behavior of a technical device 2 which assumes at least two different states as a function of input values.
  • the invention is characterized in that rules of a formal grammar are stored for the input values, that a new input value with a syntactic structure is generated with the aid of a computer from the rules of the grammar, that features of the syntactic structure are determined with the aid of a computer and that a predictor with the features and is trained with the recorded state that the technical device 2 assumes with the new input value.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

Zusammenfassend betrifft die Erfindung ein Verfahren und eine Vorrichtung (1) zur automatischen Untersuchung eines Verhaltens einer technischen Einrichtung (2), die in Abhängigkeit von Eingabewerten wenigstens zwei unterschiedliche Zustände einnimmt. Die Erfindung ist dadurch charakterisiert, dass Regeln einer formalen Grammatik für die Eingabewerte hinterlegt sind, dass computergestützt aus den Regeln der Grammatik ein neuer Eingabewert mit einer syntaktischen Struktur erzeugt wird, dass Merkmale der syntaktischen Struktur computergestützt bestimmt werden und dass ein Prädiktor mit den Merkmalen und mit dem erfassten Zustand, den die technische Einrichtung (2) bei dem neuen Eingabewert einnimmt, trainiert wird.

Description

Verfahren und Vorrichtung zur automatischen Untersuchung eines Verhaltens einer technischen Einrichtung
Die Erfindung betrifft ein Verfahren und eine Testvorrichtung zur automatischen Untersuchung eines Verhaltens einer technischen Einrichtung, wobei die technische Einrichtung in Abhängigkeit von Eingabewerten wenigstens zwei unterschiedliche Zustände einnimmt.
Bei der technischen Einrichtung kann es sich beispielsweise um ein autonomes System wie einen Roboter, einen Automaten, ein Fahrzeug oder eine sonstige Maschine handeln. Bei der zu untersuchenden technischen Einrichtung kann es sich auch um eine Recheneinheit wie etwa einen Computer, handeln, auf der ein Computerprogramm ausführ- und zugriffsbereit abgelegt ist.
Die Erfindung betrifft ferner eine Testanordnung mit einer eingangs genannten Testvorrichtung, wobei die technische Einrichtung mit der Testvorrichtung verbunden ist.
Derartige Verfahren, Testvorrichtungen und Testanordnungen sind aus der Praxis bekannt. Beispielsweise gibt es entsprechende Verfahren und Vorrichtungen zur Untersuchung des Verhaltens einer Maschine oder zum Auffinden von Programmfehlern in einem Computerprogramm.
Die Praxis zeigt, dass häufig mehr Zeit aufgewendet werden muss, um Fehler in einer technischen Einrichtung aufzuspüren und zu beheben als zunächst aufgewendet wurde, die technische Einrichtung zu schaffen. Die Entwicklung von effizienten Untersuchungsverfahren verbessert bestehende technische Einrichtungen und ist von sehr großer wirtschaftlicher Bedeutung. In der Praxis stoßen die aktuell bekannten Methoden allerdings schnell an ihre Grenzen, entweder weil sie zu langsam sind oder weil sie Fehlerzustände nicht zuverlässig erkennen können.
Vor diesem Hintergrund liegt der Erfindung die Aufgabe zugrunde, ein Verfahren und eine Testvorrichtung zur automatischen Untersuchung eines Verhaltens einer technischen Einrichtung zu schaffen, mit der das Verhalten präzise vorhergesagt und klassifiziert werden kann.
Soweit im Folgenden Varianten der Erfindung beschrieben werden, können diese beliebig miteinander kombiniert werden, sofern eine Kombination aus technischen Gründen nicht ausgeschlossen ist.
Zur Lösung der zuvor genannten Aufgabe schlägt die Erfindung die Merkmale von Anspruch 1 vor. Insbesondere wird somit erfindungsgemäß bei einem Verfahren der eingangs beschriebenen Art zur Lösung der genannten Aufgabe vorgeschlagen, dass neue Eingabewerte computergestützt generiert und die Zustände erfasst werden, die die technische Einrichtung bei den neuen Eingabewerten einnimmt, dass ein Prädiktor, mit dem computergestützt eine Vorhersage über den Zustand der Einrichtung bei unterschiedlichen Eingabewerten getroffen werden kann, mittels eines Verfahrens des maschinellen Lernens trainiert wird, dass Regeln einer formalen Grammatik für die Eingabewerte hinterlegt sind, dass computergestützt aus den Regeln der Grammatik ein neuer Eingabewert mit einer syntaktischen Struktur erzeugt wird, dass Merkmale der syntaktischen Struktur computergestützt bestimmt werden und dass der Prädiktor mit den Merkmalen und mit dem erfassten Zustand, den die technische Einrichtung bei dem neuen Eingabewert einnimmt, trainiert wird. Bevorzugt werden bei dem Verfahren in der beschriebenen Weise eine Vielzahl neuer Eingabewerte erzeugt und in der beschriebenen Weise zum Trainieren des Prädiktors verwendet.
Diese technische Lösung hat eine Vielzahl von Vorteilen. Durch die Anwendung von Methoden des maschinellen Lernens ist es möglich, allein basierend aus Beobachtungen zu lernen, also aus den Merkmalen zu den neu erzeugten Eingabewerten und den erfassten Zuständen, die die technische Einrichtung bei den neu erzeugten Eingabewerte einnimmt. Dies ist vor allem dann von großem Vorteil, wenn eine Vielzahl von Beobachtungen erzeugt werden können, sei es, weil eine Vielzahl identischer technischer Einrichtungen parallel untersucht werden können oder weil die Untersuchung schnell möglich ist und daher in rascher Folge wiederholt werden kann.
Besonders vorteilhaft ist es daher, wenn die Eingabe der neuen Eingabewerte in die zu untersuchende technische Einrichtung und die Erfassung der Zustände automatisch erfolgt.
Die technische Lösung ist daher beispielsweise besonders effizient zum Auffinden von Programmfehlern in einem Computerprogramm, da die Kommunikation mit einem Computerprogramm leicht automatisiert und parallelisiert werden kann.
Bevorzugt handelt es sich bei dem erfindungsgemäßen Verfahren daher um ein Verfahren zum Debuggen eines Computerprogramms.
Als besonders vorteilhaft erweist sich, dass gemäß der beanspruchten technischen Lehre Regeln einer formalen Grammatik für die Eingabewerte hinterlegt sind. Diese Regeln erlauben es, die Eingabewerte zu strukturieren, insbesondere indem die Eingabewerte computergestützt mit den Regeln in eine syntaktische Struktur zergliedert werden. Dies erlaubt es, die Komplexität des Raums möglicher aufzufindender Eingabewerte erheblich zu reduzieren und neue Eingabewerte zu finden, die ein bestimmtes Verhalten der technischen Einrichtung auslösen. Ferner ermöglicht die Strukturierung der Eingaben, über die Definition von Merkmalen konzentrierte und strukturierte Information an den Prädiktor zu übermitteln, der sodann seinerseits Ausgaben erzeugen kann, die es sodann ermöglicht, auf effiziente Weise neue Eingabewerte zu erzeugen, die ein bestimmtes Verhalten auslösen.
Erfindungsgemäß ist daher vorgesehen, dass die Regeln der Grammatik sowohl bei der Erzeugung neuer Eingabewerte verwendet werden als auch bei der Definition von Merkmalen, mittels derer der Prädiktor trainiert wird.
So ist erfindungsgemäß erstens vorgesehen, dass computergestützt aus den Regeln der Grammatik ein neuer Eingabewert mit einer syntaktischen Struktur erzeugt wird. Hierbei kann insbesondere vorgesehen sein, dass computergestützt ein neuer Eingabewert erzeugt wird, indem aus den Regeln der Grammatik eine syntaktische Struktur produziert wird, aus der sodann der neue Eingabewert entnommen wird. Es kann allerdings beispielsweise auch vorgesehen sein, dass der Eingabewert direkt unter Verwendung der Regeln der Grammatik erzeugt wird und dass sodann aus dem erzeugten Eingabewert eine syntaktische Struktur bestimmt wird. Der neue Eingabewert und seine syntaktische Struktur können auch zugleich erzeugt werden.
Zweitens ist vorgesehen, dass Merkmale der syntaktischen Struktur des neuen Eingabewerts computergestützt bestimmt werden und dass der Prädiktor mit den Merkmalen und mit dem erfassten Zustand, den die technische Einrichtung bei dem neuen Eingabewert einnimmt, trainiert wird.
Um das computergestützte Training des Prädiktors zu erleichtern, können die Merkmale als numerische Merkmale ausgebildet sein.
Um lediglich zwei Beispiele zu nennen, kann beispielsweise ein erstes Merkmal dadurch gegeben sein, dass eine bestimmte Regel der Grammatik bei der Produktion oder Bestimmung der syntaktischen Struktur verwendet wurde (das Merkmal erhält den Wert 1) oder nicht (das Merkmal erhält den Wert 0). Ein zweites Merkmal kann beispielsweise dadurch gegeben sein, dass ein von einem Element der syntaktischen Struktur abgeleitetes Wort eine bestimmte Länge hat, wobei durch den numerischen Wert die Anzahl der Zeichen des Wortes angegeben sein kann.
Zur Verbesserung der Vorhersagequalität des Prädiktors kann vorgesehen sein, dass der Prädiktor iterativ trainiert wird, indem der Prädiktor mehrfach trainiert wird mit in jeder Iteration neu erzeugten Eingabewerten und neu erfassten Zuständen, den die technische Einrichtung bei den neu erzeugten Eingabewerten einnimmt.
Um die Geschwindigkeit des Trainings zu erhöhen, kann vorgesehen sein, dass mehrere neu erzeugte Eingabewerte auf eine entsprechende Anzahl von technischen Einrichtungen verteilt werden und dass die von den technischen Einrichtungen eingenommenen Zustände parallel erfasst werden. Hierbei kann vorgesehen sein, dass mehrere technische Einrichtungen zur weiteren Effizienzsteigerung physische Ressourcen wie etwa einen Prozessor oder einen Datenspeicher gemeinsam nutzen. Der Prädiktor wird in der Regel Hypothesen über das Verhalten der technischen Einrichtung umfassen. Bevorzugt werden die Hypothesen überprüft, insbesondere falsifiziert. Dies kann beispielsweise dadurch erfolgen, dass die Hypothesen anhand der zu den neuen Eingabewerten erfassten Zustände der technischen Einrichtung überprüft werden. Ferner werden die Hypothesen bevorzugt zumindest für den Fall einer falsifizierten Hypothese angepasst. Eine Anpassung der Hypothesen kann je nach verwendeter Methode des maschinellen Lernens auch erfolgen, wenn keine Hypothese falsifiziert wird. Dies kann insbesondere dann der Fall sein, wenn die neue Beobachtung zusätzliche Information für das von dem Prädiktor repräsentierte Modell über das Verhalten der technischen Einrichtung einhält. Eine Anpassung der Hypothesen kann auch das Aufstellen einer neuen Hypothese umfassen.
Der Prädiktor kann beispielsweise Hypothesen umfassen, die dergestalt sind, dass die technische Einrichtung bei einem ersten Bereich eines von den Merkmalen der Eingabewerte aufgespannten Merkmalsraums einen ersten Zustand einnimmt in einem zweiten Bereich des Merkmalsraums einen zweiten Zustand einnimmt .
Die Hypothesen können Bedingungen für die Merkmale aufweisen. Hierbei kann eine Hypothese beispielsweise aussagen, dass bei Erfüllen einer Bedingung für ein Merkmal eine andere Menge von Merkmalskombinationen der übrigen Merkmale einen ersten Zustand einnimmt als bei einem Nichterfüllen der Bedingung.
Die Hypothesen können zusätzlich oder alternativ numerische Werte aufweisen, mit denen die Merkmale gewichtet werden.
Zur Initialisierung des Verfahrens kann vorgesehen sein, dass zumindest ein erster Eingabewert, bei dem die technische Einrichtung einen der wenigstens zwei unterschiedlichen Zustände einnimmt, und ein zweiter Eingabewert, bei dem die technischen Einrichtung einen anderen der wenigstens zwei unterschiedlichen Zustände einnimmt, bereitgestellt werden, insbesondere vorgegeben werden.
Ein Bereitstellen kann beispielsweise dadurch erfolgen, dass die initialen Eingabewerte zuvor mittels eines automatisierten Verfahrens oder aufgrund einer sonstigen Kenntnisnahme erzeugt worden sind.
Es kann beispielsweise vorgesehen sein, dass die initialen Eingabewerte mit Hilfe der Grammatik erzeugt werden. Beispielsweise ist es möglich, dass mit Hilfe der Grammatik solange zufällige Eingabewerte erzeugt werden, bis zwei unterschiedliche Zustände festgestellt werden.
Ein geeigneter initialer Eingabewert kann beispielsweise bei einem aufgetretenen Programmfehler auch in einer Log-Datei oder dergleichen gespeichert sein.
Es kann vorgesehen sein, dass für den ersten und den zweiten Eingabewert mit den Regeln der Grammatik jeweils eine syntaktische Struktur abgeleitet wird, dass Merkmale der abgeleiteten syntaktischen Strukturen computergestützt bestimmt werden und dass der Prädiktor mit den von dem ersten und dem zweiten Eingabewert abgeleiteten Merkmalen und den von diesen eingenommenen Zuständen trainiert wird.
Die Regeln der Grammatik können daher bei den beschriebenen Ausgestaltungen bereits bei der Initialisierung des Verfahrens verwendet werden. Bevorzugt werden bei der Initialisierung des Verfahrens zugleich Hypothesen in Abhängigkeit von den Merkmalen und/oder den eingenommenen Zuständen computergestützt aufgestellt.
Der Prädiktor weist bevorzugt einen Entscheidungsbaum auf. Entscheidungsbäume haben den Vorteil, dass deren Knoten einfache Relationen aufweisen, die in direkter Beziehung zu den Eingangsvektoren stehen. Entscheidungsbäume eignen sich daher hervorragend zur Produktion neuer Eingabewerte, da nach der Erfindung die Eingabewerte mittels der Regeln einer Grammatik jeweils in eine syntaktische Struktur zergliedert werden, aus der sodann Merkmale abgeleitet werden, die die Eingangsvektoren des Entscheidungsbaums bilden. Daher kann das bereits Gelernte bei der Produktion neuer Eingabewerte in effizienter Weise verwendet werden, um so geeignete neue Eingabewerte zu erzeugen.
Knoten des Entscheidungsbaums können Bedingungen für die Merkmale aufweisen. Die Bedingungen können durch einen Vergleich eines Merkmals mit einer Zahl gebildet sein. Die Bedingungen können auch durch einen Vergleich einer oder mehrerer linearer, polynomialer oder sonstiger funktionaler Beziehungen eines oder mehrerer Merkmale mit einer oder mehreren Zahlen gebildet sein.
Der Prädiktor kann allerdings auch eine beliebige andere Struktur aufweisen, die mittels eines Verfahrens des maschinellen Lernens trainiert werden kann, wie beispielsweise ein neuronales Netzwerk oder ein lineares Regressionsmodell.
Bevorzugt wird zu mehreren Pfaden des Entscheidungsbaums jeweils mindestens ein neuer Eingabewert erzeugt. Beispielsweise kann vorgesehen sein, dass zu allen Pfaden des Entscheidungsbaums, die einen ersten Zustand der technischen Einrichtung Vorhersagen, jeweils mindestens ein neuer Eingabewert erzeugt wird. Bei dem ersten Zustand kann es sich beispielsweise um einen Fehlerzustand der technischen Einrichtung handeln. Je nach Anwendung kann es auch zweckmäßig sein, für alle Pfade des Entscheidungsbaums mindestens einen neuen Eingabewert zu erzeugen.
Bei einer vorteilhaften Ausgestaltung des Verfahrens kann vorgesehen sein, dass die Erzeugung des neuen Eingabewerts in Abhängigkeit von einem aktuellen Zustand des Prädiktors erfolgt. Insbesondere kann vorgesehen sein, dass die Produktion der syntaktischen Struktur in Abhängigkeit von dem aktuellen Zustand des Prädiktors erfolgt. Der Zustand des Prädiktors kann beispielsweise durch aktuelle Hypothesen und/oder Bedingungen des Prädiktors beschrieben sein. Dies gilt auch für spätere Bezugnahmen auf einen Zustand des Prädiktors. Derartige Ausgestaltungen führen zu einer besonders effizienten Generierung von neuen Eingabewerten für einen bestimmten Zustand wie beispielsweise für einen Fehlerzustand, da bei der Erzeugung der Eingabewerte Informationen über das bereits gelernte Verhalten der technischen Einrichtung Verwendung finden.
Einen solchen Vorteil bietet auch eine Ausgestaltung, bei der vorgesehen ist, dass der Prädiktor Bedingungen für die Merkmale aufweist. Bevorzugt sind die Bedingungen als Vergleich mit einer Zahl ausgebildet. Weiter wird bevorzugt ein Satz von Bedingungen computergestützt bestimmt, wobei der Satz von Bedingungen Bedingungen des Prädiktors und/oder negierte Bedingungen des Prädiktors umfasst. Besonders bevorzugt wird ein neuer Eingabewert erzeugt, dessen Merkmale den Satz von Bedingungen erfüllt.
Es kann vorgesehen sein, dass computergestützt geprüft wird, ob ein Satz von Bedingungen mit der Grammatik vereinbar ist, und dass ein unvereinbarer Satz von Bedingungen verworfen wird. Dies führt zu einer Beschleunigung des Verfahrens, da zu dem verworfenen Satz von Bedingungen ohnehin kein neuer Eingabewert für einen solchen Satz berechnet werden könnte und daher der Versuch, einen solchen zu berechnen besonders zeitaufwändig wäre. Dieser Zeitaufwand wird durch das verwerfen des Satzes der Bedingungen von vorneherein vermieden .
Bei einer vorteilhaften Ausgestaltung des Verfahrens kann vorgesehen sein, dass die Regeln der Grammatik während der Ausführung des Verfahrens geändert werden. Hierdurch können Effizienzvorteile und eine höhere Trefferquote bei der Erzeugung neuer Eingabewerte für einen bestimmten Zustand erzielt werden.
So kann in einer bevorzugten Variante vorgesehen sein, dass bei einem neuen Eingabewert, bei dem die technische Einrichtung einen ersten Zustand einnimmt, zu Nicht-Terminalen der Grammatik jeweils ein Terminal als Alternative hinzugefügt wird, das von dem jeweiligen Nicht-Terminal abgeleitet wird. Bevorzugt handelt es sich bei dem Terminal um einen Teil des Eingabewerts oder um den vollständigen Eingabewert, bei dem die technische Einrichtung den ersten Zustand einnimmt. Derartige Ausgestaltungen können die Komplexität einer Ableitung reduzieren. Außerdem kann hierdurch die Chance auf das Auffinden neuer Eingabewerte, bei denen die technische Einrichtung den ersten Zustand einnimmt, erhöht werden, da feststeht, dass die Alternative zu dem ersten Zustand führt. Beispielsweise kann bei einem neu erzeugten Eingabewert, bei dem der erste Zustand eingenommen wird, als eine Alternative zum Start-Symbol aufgenommen werden. Es kann vorgesehen sein, dass die syntaktische Struktur einen Ableitungsbaum aufweist oder einen solchen bildet.
Besonders effizient und zuverlässig kann die Erzeugung eines neuen Eingabewertes sein, wenn bei einer vorteilhaften Ausgestaltung des Verfahrens vorgesehen ist, dass der neue Eingabewert mittels Produktionsregeln der Grammatik erzeugt wird und unter mehreren möglichen Wahlmöglichkeiten einer Produktionsregel gemäß einer Vorgabe eine Wahlmöglichkeit ausgewählt wird. Bevorzugt ist vorgesehen, dass der neue Eingabewert mittels der Produktionsregeln der Grammatik erzeugt wird, indem sukzessive ein Ableitungsbaum aufgebaut wird und aus dem aufgebauten Ableitungsbaum der neue Eingabewert entnommen wird. Bevorzugt wird der neue Eingabewert nur zur weiteren Verarbeitung verwendet oder entnommen, wenn ein Satz von Bedingungen des Prädiktors erfüllt ist. Weiter bevorzugt umfasst die Vorgabe eine Wahrscheinlichkeitsverteilung und/oder eine Vereinbarkeit der Wahlmöglichkeit mit mindestens einer Bedingung eines Satzes von Bedingungen des Prädiktors.
Die Wahlmöglichkeit kann beispielsweise bei einem Vorliegen von Alternativen in der Auswahl der Alternative bestehen. Bei einer Quantifikation kann die Wahlmöglichkeit beispielsweise darin bestehen, die Anzahl der hinzuzufügenden Kinder auszuwählen .
Die Wahrscheinlichkeitsverteilung kann in einer Gleichverteilung bestehen. Eine solche kann beispielsweise zweckmäßig sein, wenn unter mehreren Alternativen eine ausgewählt werden muss. Die Wahrscheinlichkeitsverteilung kann auch Informationen zu Bedingungen des Prädiktors umfassen.
Gibt es beispielsweise eine Bedingung, wonach ein zu auszuwählender numerischer Wert einen Schwellwert nicht überschreiten darf, so kann es zweckmäßig sein, wenn die Wahrscheinlichkeitsverteilung diese Bedingung bereits berücksichtigt. Die Wahrscheinlichkeitsverteilung kann auch andere Formen aufweisen wie beispielsweise eine mit höherem Abstand von einem aktuellen Vergleichswert einer Bedingung des Prädiktors exponentiell fallende Verteilung oder ein Delta- Peak bei einem Wert, der um einen bestimmten Betrag von einem Vergleichswert einer Bedingung des Prädiktors entfernt ist. Gibt der Prädiktor beispielsweise vor, dass ein numerischer Wert geringer sein soll als beispielsweise der Wert x, so könnte als Wert ein Wert von x-a gewählt werden, wobei a ein vorgegebener Parameter ist.
Es kann vorgesehen sein, dass die Merkmale der syntaktischen Struktur ein Merkmal über eine Wahlmöglichkeit einer Produktionsregel umfasst. Dies ist nicht einschränkend zu verstehen. So kann es auch mehr als ein derartiges Merkmal geben, es können mehrere Wahlmöglichkeiten und mehrere Produktionsregeln betroffen sein. Derartige Ausgestaltungen können vorteilhaft sein. So können Bedingungen des Prädiktors Bedingungen über ein Merkmal einer Wahlmöglichkeit umfassen, sodass es leicht möglich ist, eine Vereinbarkeit der Wahlmöglichkeit mit mindestens einer Bedingung eines Satzes von Bedingungen des Prädiktors in effizienter Weise umzusetzen .
Ein besonders effizientes und zuverlässiges Verfahren kann geschaffen werden, wenn vorgesehen ist, dass ein Merkmal der Eingabewerte dadurch gegeben ist, dass es genau dann den Wert 1 hat, wenn eine bei der Bestimmung oder Produktion der syntaktischen Struktur verwendete Produktionsregel der Grammatik mindestens einmal angewendet wird. Bevorzugt hat das Merkmal andernfalls den Wert 0. Bevorzugt wird zur Erzeugung eines nächsten Eingabewerts die Produktionsregel temporär aus der Grammatik entfernt, wenn ein aktueller Satz von Bedingungen eine Bedingung umfasst, bei der das Merkmal einen Wert von weniger als 1 aufweist.
Bei einer vorteilhaften Ausgestaltung des Verfahrens kann vorgesehen sein, dass geprüft wird, ob die syntaktische Struktur mit einem oder dem Zustand des Prädiktors vereinbar ist und dass bei einer Unvereinbarkeit die syntaktische Struktur variiert wird. Bevorzugt wird eine zuvor ausgewählte Wahlmöglichkeit verworfen und durch eine alternative Wahlmöglichkeit ersetzt. Besonders bevorzugt wird zum Auffinden der alternativen Wahlmöglichkeit ein Greedy- Verfahren angewendet. Durch derartige Ausgestaltungen kann insbesondere erreicht werden, dass ein neuer Eingabewert gefunden wird, auch wenn eine erste Bestimmung oder Produktion der syntaktischen Struktur mit einem Satz von Bedingungen des Prädiktors nicht vereinbar ist.
Um besonders effiziente und zuverlässige Ergebnisse zu erzielen, kann vorgesehen sein, dass es sich bei der Grammatik um eine kontextfreie Grammatik handelt.
Bevorzugt werden das erfindungsgemäße Verfahren sowie die beschriebenen Varianten vollständig computergestützt ausgeführt .
Zur Lösung der zuvor genannten Aufgabe schlägt die Erfindung ferner die Merkmale des auf eine Testvorrichtung gerichteten nebengeordneten Anspruchs vor. Insbesondere wird somit erfindungsgemäß bei einer Testvorrichtung der eingangs beschriebenen Art zur Lösung der genannten Aufgabe vorgeschlagen, dass die Testvorrichtung eingerichtet ist, ein Verfahren auszuführen, das erfindungsgemäß, insbesondere wie zuvor beschrieben oder nach einem der auf ein Verfahren gerichteten Schutzansprüche, ausgebildet ist.
Bevorzugt umfasst die Testvorrichtung eine Datenausgangsschnittstelle, über die Daten von der Testvorrichtung auf die Einrichtung übertragbar sind und/oder eine Dateneingangsschnittstelle, über die Daten empfangen werden können.
Dateneingangs- und -ausgangsschnittsteile der Testvorrichtung können durch eine gemeinsame Schnittstelle gegeben sein.
Die Testvorrichtung weist bevorzugt zumindest einen Datenspeicher und eine Datenverarbeitungseinheit auf. In dem Datenspeicher kann ein Computerprogramm abgelegt sein, das zur Ausführung des Verfahrens ausgeführt wird.
Es kann vorgesehen sein, dass ein mit der
Dateneingangsschnittstelle verbundener Sensor ausgebildet ist, mit dem ein Zustand der technischen Einrichtung erfassbar ist. Bei dem Sensor kann es sich beispielsweise um einen optischen, einen magnetischen, einen elektrischen oder um einen sonstigen Sensor handeln.
Zur Lösung der zuvor genannten Aufgabe schlägt die Erfindung ferner die Merkmale des auf eine Testanordnung gerichteten nebengeordneten Anspruchs vor. Insbesondere wird zur Lösung der genannten Aufgabe vorgeschlagen, dass die Testanordnung eine Testvorrichtung aufweist, die erfindungsgemäß, insbesondere wie zuvor beschrieben oder nach einem der auf eine Testvorrichtung gerichteten Schutzansprüche, ausgebildet ist. Ferner weist die Testanordnung eine technische Einrichtung auf. Die technische Einrichtung kann wie in dieser Erfindungsbeschreibung beschrieben ausgebildet sein.
Bevorzugt weist die technische Einrichtung eine Dateneingangsschnittstelle, über die Daten empfangen werden können, auf, wobei die Dateneingangsschnittstelle der technischen Einrichtung mit der Datenausgangsschnittstelle der Testvorrichtung derart verbunden ist, dass Daten von der Testvorrichtung auf die technische Einrichtung übertragbar sind. Die technische Einrichtung kann ferner eine Datenausgangsschnittstelle aufweisen, die mit der Dateneingangsschnittstelle der Testvorrichtung derart verbunden ist, dass Daten von der technischen Einrichtung auf die Testvorrichtung übertragbar sind.
Dateneingangs- und Datenausgangsschnittstelle der technischen Einrichtung können durch eine gemeinsame Schnittstelle gegeben sein.
Die Dateneingangsschnittstelle der technischen Einrichtung kann beispielsweise eine Mensch-zu-Maschine-Schnittstelle wie etwa eine Tastatur sein oder eine Maschine-zu-Maschine- Schnittstelle, über die Daten empfangen oder ausgetauscht werden können. Bei der Schnittstelle kann es sich insbesondere um eine Hardwareschnittstelle oder um eine
Softwareschnittstelle handeln. Entsprechendes gilt für die übrigen in dieser Erfindungsbeschreibung beschriebenen Schnittstellen .
Über die Dateneingangsschnittstelle der technischen Einrichtung kann diese Eingabewerte empfangen. In Abhängigkeit von den Eingabewerten nimmt die technische Einrichtung zumindest die beiden zuvor genannten Zustände ein. So kann die technische Einrichtung beispielsweise so eingerichtet sein, dass bei Empfang eines Eingabewerts ein auf ihr abgelegtes Computerprogramm ausgeführt wird. Weist das Computerprogramm einen Programmfehler auf, so wird dieses bei bestimmten Eingabewerten ein unerwünschtes Verhalten zeigen, während es bei anderen Eingabewerten ein ordnungsgemäßes Verhalten zeigt. Das erfindungsgemäße Verfahren und dessen zuvor beschriebenen Varianten können in einer solchen Situation insbesondere angewendet werden, um Eingabewerte zu erhalten, die den Programmfehler auslösen.
Die Erfindung wird nun anhand einiger weniger Ausführungsbei spiele näher beschrieben, ist jedoch nicht auf diese wenigen Ausführungsbeispiele beschränkt. Weitere Ausführungsbeispiele ergeben sich durch die Kombination der Merkmale einzelner oder mehrerer Schutzansprüche untereinander und/oder mit einzelnen oder mehreren Merkmalen der Ausführungsbeispiele.
Es zeigt:
Fig. 1 ein Flussdiagramm eines Ausführungsbeispiels eines erfindungsgemäßen Verfahrens,
Fig. 2 ein Ausführungsbeispiel des Verfahrensschritts der Erzeugung neuer Eingaben, das in dem in Fig. 1 gezeigten Verfahren Anwendung finden kann,
Fig. 3 ein erstes Ausführungsbeispiel einer erfindungs gemäßen Testanordnung,
Fig. 4 ein zweites Ausführungsbeispiel einer erfindungs gemäßen Testanordnung,
Fig. 5 ein drittes Ausführungsbeispiel einer erfindungs gemäßen Testanordnung. Bei der nachfolgenden Beschreibung der Erfindung erhalten in ihrer Funktion übereinstimmende Elemente auch bei abweichender Gestaltung oder Formgebung übereinstimmende Bezugszahlen.
Fig. 1 und Fig. 2 zeigen ein Ausführungsbeispiel eines erfindungsgemäßen Verfahrens 100.
Mit dem Verfahren 100 kann das Verhalten einer technischen Einrichtung 2 automatisch untersucht werden.
Dies kann beispielsweise mittels einer Testanordnung 12 erfolgen gemäß einer der in Fig. 3 bis Fig. 5 dargestellten Ausführungsbeispiele .
Bei der technischen Einrichtung 2 gemäß Fig. 3 handelt es sich um einen Computer 13, auf dem ein Computerprogramm ausführungs- und zugriffsbereit abgelegt ist.
In Fig. 5 sind zwei technische Einrichtungen 2 gezeigt. Die technischen Einrichtungen 2 umfassen jeweils den gleichen Computer 13, wobei unterschiedliche Instanzen 14 des gleichen Computerprogramms ausführungs- und zugriffsbereit abgelegt sind. Hierbei können Ressourcen wie ein Prozessor 15 oder ein Datenspeicher 16 des Computers 13 gemeinsam genutzt werden.
Bei der technischen Einrichtung 2 gemäß Fig. 4 handelt es sich um ein autonomes System 11 wie etwa um einen Roboter.
Die technische Einrichtung 2 kann jeweils wenigstens zwei unterschiedliche Zustände einnehmen. Beispielsweise kann es sich bei einem ersten Zustand um einen ordnungsgemäßen Zustand und bei dem zweiten Zustand um einen Fehlerzustand handeln. Die technische Einrichtung 2 verfügt über eine
Dateneingangsschnittstelle 6, über die Daten empfangen werden können. In Fig. 3 und Fig. 4 handelt es sich um eine Hardwareschnittstelle, in Fig. 5 um eine Softwareschnittstelle .
Über die Dateneingangsschnittstelle 6 kann die technische Einrichtung 2 Eingabewerte empfangen. In Abhängigkeit von den Eingabewerten nimmt die technische Einrichtung 2 zumindest die beiden zuvor genannten Zustände ein. In Fig. 3 und 5 ist die jeweilige technische Einrichtung 2 so eingerichtet, dass bei Empfang eines Eingabewerts das auf ihr ausführungsbereit abgelegte Computerprogramm ausgeführt wird.
Der Zustand, den die technische Einrichtung 2 auf den Empfang eines Eingabewerts einnimmt, wird in Fig. 3 als
Dateninformation über eine Datenleitung 10 von der technischen Einrichtung 2 an die Testvorrichtung 1 übermittelt. Hierzu weist die Testvorrichtung 1 eine Dateneingangsschnittstelle 9 auf, die über die Datenleitung 10 den Zustand der technischen Einrichtung 2 erfasst. Bei der Datenleitung 10 kann es sich um eine drahtgebundene und/oder eine drahtlose Verbindung handeln. Es kann sich auch um eine Internetverbindung oder eine sonstige Netzwerkverbindung handeln.
In Fig. 4 wird der Zustand der technischen Einrichtung 2 von einem Sensor 8 erfasst, der über eine Datenleitung 10 mit einer Dateneingangsschnittstelle 9 der Testvorrichtung 1 verbunden ist.
In Fig. 5 werden die Zustände der beiden technischen Einrichtungen 2 von deren Datenausgangsschnittstelle 17 an die Dateneingangsschnittstelle 9 der Testvorrichtung 1 übertragen, wobei es sich bei den zuvor genannten Schnittstellen um Softwareschnittstellen handelt.
Bei der Testvorrichtung 1 handelt es sich bei den gezeigten Ausführungsbeispielen um einen Computer 13 mit einem Speicher 16 und einem Prozessor 15. Letztere sind in Fig. 3 und Fig. 4 aus Gründen der Übersichtlichkeit nicht explizit eingezeichnet. Die Testvorrichtung 1 weist neben der Dateneingangsschnittstelle 9 auch eine Datenausgangsschnittstelle 3 auf, die in den Ausführungsbeispielen gemäß Fig. 3 und 5 eine gemeinsame Schnittstelle bilden. In Fig. 3 und Fig. 4 sind die Schnittstellen 3, 9 als Hardwareschnittstellen und in Fig. 5 als Softwareschnittstellen ausgebildet. Die
Datenausgangsschnittstelle 3 der Testvorrichtung 1 ist mit der Dateneingangsschnittstelle 6 der technischen Einrichtung 2 verbunden, sodass Daten von der Testvorrichtung 1 auf die technische Einrichtung 2 übertragbar sind wie beispielsweise Eingabedaten oder Sätze von Bedingungen des Prädiktors.
In Fig. 3 und Fig. 4 verfügt die Testvorrichtung 1 über Ressourcen, die von der technischen Einrichtung 2 getrennt sind. In Fig. 5 ist ein Beispiel gezeigt, bei dem die Testvorrichtung 1 und die technische Einrichtung 2 gemeinsame Ressourcen nutzen wie etwa den Prozessor 15 und den Datenspeicher 16.
Die Testvorrichtung 1 ist jeweils eingerichtet, das Verfahren 100 auszuführen. Hierzu werden die Verfahrensschritte automatisch mittels des Computers 13 ausgeführt.
Das Verfahren 100 wird im Folgenden genauer beschrieben. Es versteht sich, dass der beschriebene Ablauf lediglich beispielhaft erfolgt und dass in dem zuvor beschriebenen Umfang die Verfahrensschritte auch eine andere Reihenfolge aufweisen können, dass Verfahrensschritte ausgelassen werden können oder hinzutreten können und dass die einzelnen Verfahrensschritte anders ausgebildet sein können.
Zunächst wird in dem Verfahrensabschnitt 112 das Verfahren initialisiert. Hierzu wird zunächst in Schritt 102 für jeden der mindestens zwei Zustände der technischen Einrichtung 2 jeweils mindestens ein Eingabewert bereitgestellt, die den jeweiligen Zustand bewirken.
Die initialen Eingabewerte können zuvor mittels eines anderen Verfahrens oder zumindest teilweise auch mittels des Verfahrens 100 und/oder aufgrund einer sonstigen Kenntnisnahme erzeugt worden sein. Beispielsweise kann ein geeigneter Eingabewert bei einem aufgetretenen Programmfehler in einer Log-Datei gespeichert sein. Bei dem Eingabewert kann es sich beispielsweise um ein Argument eines Funktionsaufrufs handeln.
In Schritt 104 wird aus den initialen Eingabewerten mittels der Regeln einer Grammatik 106 jeweils mindestens ein Ableitungsbaum erzeugt. Bei dem Ableitungsbaum handelt es sich um eine syntaktische Struktur.
In dem hier beschriebenen Ausführungsbeispiel handelt es sich bei der Grammatik um eine kontextfreie Grammatik.
Ein Ableitungsbaum startet an der Wurzel mit dem Start-Symbol. Ausgehend von dem Start-Symbol werden mittels
Produktionsregeln Knoten aus Nicht-Terminalen und Blätter aus Terminalen erzeugt. Die Terminale an den Blättern bilden zusammen einen der initialen Eingabewerte. In Schritt 108 werden sodann aus der syntaktischen Struktur numerische Merkmale bestimmt, wie etwa das Merkmal, ob eine bestimmte Produktionsregel der Grammatik bei der Ableitung der syntaktischen Struktur verwendet wurde (das Merkmal erhält den Wert 1) oder nicht (das Merkmal erhält den Wert 0) oder das Merkmal, welche Länge ein von einem Knoten abgeleitetes Wort hat (hat ein numerischer Wert eine Länge von 4 Ziffern, erhält dieses Merkmal den Wert 4).
In Schritt 110 wird sodann der Prädiktor initialisiert. Hierzu erhält der Prädiktor die in Schritt 108 von den Eingabewerten abgeleiteten numerischen Merkmale und die entsprechenden, in Schritt 102 bereitgestellten Zustände der technischen Einrichtung 2.
In dem hier beschriebenen Ausführungsbeispiel besteht der Prädiktor im Wesentlichen aus einem Entscheidungsbaum. Der Entscheidungsbaum weist an seinen Knoten Bedingungen über die numerischen Merkmale auf, wie beispielsweise, dass das Merkmal, dass eine bestimmte Produktionsregel verwendet wurde, einen Wert größer als 0,5 hat oder dass die Länge eines von einem Knoten des Ableitungsbaums abgeleiteten Wortes eine Länge von über 3 hat. Als Vergleichswerte können insbesondere reellwertige Zahlen in Betracht kommen. An den Knoten des Entscheidungsbaums spaltet sich dieser häufig in zwei Äste auf, wobei diese Hypothesen bilden, nämlich, dass bei einer bestimmten Merkmalskombination, die zu dem Knoten gelangt, ein erster Ast das Verhalten der technischen Einrichtung 2 richtig beschreibt, wenn die Bedingung des Knotens von der Merkmalskombination erfüllt wird und dass der zweite Ast das Verhalten richtig beschreibt, wenn die Bedingung von der Merkmalskombination nicht erfüllt wird. An den Blättern des Entscheidungsbaums kann dann insbesondere der erwartete Zustand zu der Merkmalskombination stehen, wie beispielsweise, dass bei einer bestimmten Merkmalskombination oder einer Menge von Merkmalskombinationen der Zustand ein Fehlerzustand ist.
Damit ist die Initialisierung 112 des Verfahrens abgeschlossen und das Verfahren geht in einen iterativen Lernprozess 114 über.
In Schritt 116 werden iterativ neue Eingabewerte erzeugt, indem bei jeder Iteration aus den Regeln der Grammatik 106 syntaktische Strukturen produziert werden, aus denen sodann die neuen Eingabewerte entnommen werden. Dieser Verfahrensschritt 116 ist in Fig. 2 genauer gezeigt und wird weiter unten detaillierter erläutert.
In Schritt 118 werden die erzeugten Eingabewerte sukzessive und/oder parallel an eine oder mehrere technische Einrichtungen 2, die beispielsweise wie in Fig. 3 bis Fig. 5 gezeigt ausgebildet sein können, übermittelt und die Zustände, die die technischen Einrichtungen 2 aufgrund des jeweiligen Eingabewertes einnehmen, erfasst.
In Schritt 120 werden aus den produzierten syntaktischen Strukturen die bereits zuvor erwähnten oder weitere numerische Merkmale bestimmt.
In Schritt 122 werden die erzeugten Merkmale und die zugehörigen Zustände dem Prädiktor übergeben, der sodann mittels eines geeigneten Verfahrens des maschinellen Lernens mit den Merkmalen und Zuständen trainiert wird. Dem Fachmann sind geeignete Methoden bekannt, mit denen ein
Entscheidungsbaum der beschriebenen Art trainiert werden kann.
In Schritt 124 wird sodann ein Abbruchkriterium geprüft. Ist das Abbruchkriterium erfüllt, endet das Verfahren in Schritt 126. In diesem Schritt wird beispielsweise der trainierte Entscheidungsbaum abgespeichert.
Der gelernte Entscheidungsbaum kann dann verwendet werden, um Vorhersagen zu treffen über das Verhalten der technischen Einrichtung 2. Da der Entscheidungsbaum regelmäßig auch Ungleichungsbedingungen umfasst, können dem Entscheidungsbaum nicht nur einzelne Eingabewerte entnommen werden, bei denen die technische Einrichtung 2 beispielsweise eine Fehlerzustand einnimmt, sondern es können Mengen von Eingabewerten entnommen werden, die mit den Ungleichungsbedingungen und den übrigen Bedingungen in Einklang stehen.
Als Abbruchkriterium kommt beispielsweise das Überschreiten eines Zeitlimits und/oder das Unterschreiten eines Maßes für einen Lernzuwachs in einer oder mehrerer der letzten Iterationen und/oder das Erreichen einer vorgegebenen Anzahl von Iterationen in Betracht.
Ist das Abbruchkriterium nicht erfüllt, so wird das Verfahren in Schritt 116 fortgesetzt, indem eine weitere Iteration durchgeführt wird.
Fig. 2 illustriert den Verfahrensschritt 116, bei dem neue Eingabewerte erzeugt werden. Der Verfahrensschritt 116 beginnt in Schritt 200. Hierzu werden zunächst zu verschiedenen Pfaden des Entscheidungsbaums jeweils ein Satz von Bedingungen bereitgestellt, wobei die in einem Satz enthaltenen Bedingungen den Knoten entlang des Pfads entnommen sind. Außerdem wird die Grammatik bereitgestellt.
Die verschiedenen Pfade können beispielsweise alle Pfade sein, bei denen ein Fehlerzustand der technischen Einrichtung 2 vorhergesagt wird. Ein Pfad kann beispielsweise dadurch charakterisiert sein, dass er den Entscheidungsweg von den Inputdaten, also den Merkmalen, bis zu der finalen Vorhersage, also bis zu dem vorhergesagten Zustand beschreibt.
Sodann wird iterativ für jeden Satz von Bedingungen das nachfolgend beschriebene Verfahren durchgeführt.
Hierzu wird zunächst in Schritt 202 geprüft, ob noch ein Satz von Bedingungen vorhanden ist oder ob bereits alle Sätze abgearbeitet worden sind.
Sind noch nicht alle Sätze abgearbeitet worden, wird in Schritt 204 ein nächster Satz von Bedingungen ausgewählt.
In Schritt 206 werden sodann durch Negierung von Bedingungen weitere Sätze von Bedingungen erzeugt. Ist ein Satz von Bedingungen beispielsweise gebildet aus {a > 1; b > 0}, so werden drei weitere Sätze erzeugt: {a <= 1; b > 0};{a > 1; b <= 0} und {a <= 1; b <= 0}.
Sodann wird für jeden dieser Sätze von Bedingungen das nachfolgend beschriebene Verfahren iterativ durchgeführt.
In Schritt 208 wird geprüft, ob noch ein Satz von Bedingungen vorhanden ist. Ist kein Satz mehr vorhanden, wird das Verfahren in Schritt 202 fortgesetzt.
Ist noch ein Satz von Bedingungen vorhanden, so wird in Schritt 210 ein nächster Satz ausgewählt.
In Schritt 212 wird sodann für diese Iteration die Grammatik angepasst, indem Elemente aus Grammatik entfernt werden, die mit den Bedingungen des Satzes von Bedingungen nicht vereinbar sind. Ergibt sich beispielsweise, dass gemäß des Satzes von Bedingungen ein Merkmal, dass eine bestimmte Produktionsregel verwendet wurde, einen Wert kleiner 1 hat, so wird diese Produktionsregel aus der Grammatik entfernt.
In Schritt 214 wird sodann geprüft, ob der Satz von Bedingungen mit der in dem vorherigen Schritt angepassten Grammatik verträglich ist. Gibt der Satz von Bedingungen beispielsweise vor, dass ein Merkmal, dass eine bestimmte Produktionsregel verwendet wurde, einen Wert größer als 0,5 hat, so wird geprüft, ob die Produktionsregel überhaupt im Rahmen der reduzierten Grammatik erreichbar ist. Ist sie dies nicht, so wird der aktuelle Satz von Bedingungen verworfen und das Verfahren wird in Schritt 208 fortgesetzt.
Wird der Satz von Bedingungen nicht verworfen, so wird das Verfahren in Schritt 216 fortgesetzt. In Schritt 216 wird aus den Regeln der Grammatik sukzessive ein neuer Ableitungsbaum produziert. Bei der Produktion des Ableitungsbaumes kann es an mehreren Stellen erforderlich sein, eine Entscheidung zu treffen. So kann eine Produktionsregel beispielsweise mehrere Alternativen aufweisen oder die Anzahl der Kinderknoten kann wählbar sein. Bereits weiter oben ist genauer beschrieben worden, auf welche Weise eine solche Entscheidung getroffen werden kann. So kann eine Wahrscheinlichkeitsverteilung vorgegeben sein, mittels derer eine Entscheidung getroffen wird. Ferner ist in dem hier beschriebenen Ausführungsbeispiel vorgesehen, dass geprüft wird, ob der Satz von Bedingungen die Entscheidungen bzw. Wahlmöglichkeiten einschränkt.
Beispielsweise kann vorgesehen sein, dass der aktuelle Knoten für die Produktion aus dem Nicht-Terminal A die Alternativen a, b und c vorsieht. Enthält der Satz von Bedingungen die Bedingung, dass die Alternative a nicht vorliegt, so scheidet diese Alternative aus und es wird lediglich die Entscheidung getroffen, ob die Alternative b oder c gewählt wird. Hierzu kann nun eine gleichverteilte Wahrscheinlichkeitsverteilung angenommen werden, so dass im Ergebnis a mit einer Wahrscheinlichkeit von 0%, b mit einer Wahrscheinlichkeit von 50% und c mit einer Wahrscheinlichkeit von 50% gewählt wird. Diese Wahl kann sodann mittels eines geeigneten Zufallsgenerators getroffen werden.
Es kann ferner vorgesehen sein, dass die
Wahrscheinlichkeitsverteilung angepasst wird, beispielswese wenn infolge einer getroffenen Entscheidung zusätzliche Informationen über das Verhalten der technischen Einrichtung 2 gewonnen wird. Beispielsweise kann vorgesehen sein, die Wahrscheinlichkeit für eine bestimmte Entscheidung zu erhöhen, wenn sich zeigt, dass dadurch eine gewünschte Wirkung, etwa das Einschließen einer bestimmten Alternative erreicht wird. Gleichsam kann die Wahrscheinlichkeit vermindert werden, wenn die gewünschte Wirkung nicht eintritt, etwa weil das Einschließen der Alternative nicht erreicht wird.
Nachdem der Ableitungsbaum produziert ist, wird in Schritt 218 überprüft, ob die Ableitung den Satz von Bedingungen erfüllt. Auch wenn bei der Erstellung des Ableitungsbaums bereits eine Vereinbarkeit der Entscheidungen mit den Bedingungen geprüft wurde, kann es Vorkommen, dass nicht alle Bedingungen erfüllt sind. Dies liegt insbesondere daran, dass es nicht effizient wäre, bereits bei dem Aufbau des Ableitungsbaums jede einzelne Entscheidung vollumfänglich auf eine Vereinbarkeit mit allen Bedingungen zu prüfen. Es kann zweckmäßig sein, beim Aufbau des Ableitungsbaums eine Vereinbarkeit einer Entscheidung nur zu denjenigen Bedingungen festzustellen, die ausschließlich von der aktuell zu treffenden Entscheidung abhängen. Es kann allerdings auch Bedingungen geben, die mehrere Entscheidungen einschließen, sodass eine derartige Abhängigkeit dazu führen kann, dass die Ableitung aus dem produzierten Ableitungsbaum nicht alle Bedingungen erfüllt.
Wird festgestellt, dass alle Bedingungen erfüllt sind, so wird aus dem produzierten Ableitungsbaum in Schritt 220 eine neue Eingabe entnommen, indem die Terminale an den Blättern in der dem Fachmann bekannten Weise aneinandergereiht werden. Das Verfahren wird sodann in Schritt 208 fortgesetzt.
Wird hingegen festgestellt, dass nicht alle Bedingungen erfüllt sind, so wird in Schritt 222 geprüft, ob ein Abbruchkriterium, wie beispielsweise das Erreichen eines Zeitlimits oder einer vorgegebenen Anzahl von Iterationen, erfüllt ist. Ist ein solches erfüllt, wird in dieser Iteration kein neuer Eingabewert erzeugt und das Verfahren wird in Schritt 208 fortgesetzt.
Ist das Abbruchkriterium nicht erfüllt, wird in Schritt 224 der Ableitungsbaum abgewandelt. Hierzu wird eine zuvor getroffene Entscheidung, die auch eine alternative Entscheidung zugelassen hätte, durch eine alternative Entscheidung ersetzt. Anschließend beginnt die Bestimmung des Ableitungsbaums von vorne unter Auswahl der alternativen Wahlmöglichkeit .
Nach Abwandlung des Ableitungsbaums wird das Verfahren in Schritt 218 fortgesetzt.
Wird nach dem Durchlaufen der Iterationen in Schritt 202 festgestellt, dass die verschiedenen Pfade des Entscheidungsbaums abgearbeitet sind, wird der Verfahrensschritt 116 in Schritt 226 beendet. Hierzu werden alle neu erzeugten Eingabewerte einer weiteren Verwendung Schritt 118 zugeführt und die zugehörigen syntaktischen Strukturen zur weiteren Verwendung Schritt 120 zugeführt wie zuvor bereits beschrieben.
Zusammenfassend betrifft die Erfindung ein Verfahren und eine Vorrichtung 1 zur automatischen Untersuchung eines Verhaltens einer technischen Einrichtung 2, die in Abhängigkeit von Eingabewerten wenigstens zwei unterschiedliche Zustände einnimmt. Die Erfindung ist dadurch charakterisiert, dass Regeln einer formalen Grammatik für die Eingabewerte hinterlegt sind, dass computergestützt aus den Regeln der Grammatik ein neuer Eingabewert mit einer syntaktischen Struktur erzeugt wird, dass Merkmale der syntaktischen Struktur computergestützt bestimmt werden und dass ein Prädiktor mit den Merkmalen und mit dem erfassten Zustand, den die technische Einrichtung 2 bei dem neuen Eingabewert einnimmt, trainiert wird.
Bezugszeichenliste
1 TestVorrichtung
2 Technische Einrichtung 3 Datenausgangsschnittstelle von 1
6 Dateneingangsschnittstelle von 2 8 Sensor
9 Dateneingangsschnittstelle von 1
10 Datenleitung 11 autonomes System 12 Testanordnung
13 Computer
14 Instanz
15 Prozessor 16 Datenspeicher
17 Datenausgangsschnittstelle von 2

Claims

Ansprüche
1. Verfahren zur automatischen Untersuchung eines Verhaltens einer technischen Einrichtung (2), wobei die technische Einrichtung (2) in Abhängigkeit von Eingabewerten wenigstens zwei unterschiedliche Zustände einnimmt, dadurch gekennzeichnet, dass neue Eingabewerte computergestützt generiert und die Zustände erfasst werden, die die technische Einrichtung (2) bei den neuen Eingabewerten einnimmt, dass ein Prädiktor, mit dem computergestützt eine Vorhersage über den Zustand der Einrichtung bei unterschiedlichen Eingabewerten getroffen werden kann, mittels eines Verfahrens des maschinellen Lernens trainiert wird, dass Regeln einer formalen Grammatik für die Eingabewerte hinterlegt sind, dass computergestützt aus den Regeln der Grammatik ein neuer Eingabewert mit einer syntaktischen Struktur erzeugt wird, dass Merkmale der syntaktischen Struktur computergestützt bestimmt werden und dass der Prädiktor mit den Merkmalen und mit dem erfassten Zustand, den die technische Einrichtung (2) bei dem neuen Eingabewert einnimmt, trainiert wird.
2. Verfahren nach dem vorangehenden Anspruch, dadurch gekennzeichnet, dass der Prädiktor iterativ trainiert wird, indem der Prädiktor mehrfach trainiert wird mit in jeder Iteration neu erzeugten Eingabewerten und den erfassten Zuständen, den die technische Einrichtung (2) bei den neu erzeugten Eingabewerten einnimmt.
3. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass der Prädiktor Hypothesen über das Verhalten der technischen Einrichtung (2) umfasst, insbesondere wobei die Hypothesen überprüft, insbesondere falsifiziert, und zumindest für den Fall einer falsifizierten Hypothese angepasst werden.
4. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass zur Initialisierung des Verfahrens zumindest ein erster Eingabewert, bei dem die technische Einrichtung (2) einen der wenigstens zwei unterschiedlichen Zustände einnimmt, und ein zweiter Eingabewert, bei dem die technischen Einrichtung (2) einen anderen der wenigstens zwei unterschiedlichen Zustände einnimmt, bereitgestellt werden, insbesondere wobei für den ersten und den zweiten Eingabewert mit den Regeln der Grammatik jeweils eine syntaktische Struktur abgeleitet wird, Merkmale der abgeleiteten syntaktischen Strukturen computergestützt bestimmt werden und der Prädiktor mit den von dem ersten und dem zweiten Eingabewert abgeleiteten Merkmalen und den von diesen eingenommenen Zuständen trainiert wird.
5. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass der Prädiktor einen Entscheidungsbaum aufweist, insbesondere wobei zu mehreren oder allen Pfaden des Entscheidungsbaums jeweils mindestens ein neuer Eingabewert erzeugt wird.
6. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die Erzeugung des neuen Eingabewerts in Abhängigkeit von einem aktuellen Zustand des Prädiktors, insbesondere in Abhängigkeit von den aktuellen Hypothesen und/oder Bedingungen des Prädiktors, erfolgt.
7. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass der Prädiktor vorzugsweise als Vergleich mit einer Zahl ausgebildete Bedingungen für die Merkmale aufweist, insbesondere wobei ein Satz von
Bedingungen computergestützt bestimmt wird, wobei der Satz von Bedingungen Bedingungen des Prädiktors und/oder negierte Bedingungen des Prädiktors umfasst, und dass ein neuer Eingabewert erzeugt wird, dessen Merkmale den Satz von Bedingungen erfüllt.
8. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass computergestützt geprüft wird, ob ein Satz von Bedingungen mit der Grammatik vereinbar ist, und dass ein unvereinbarer Satz von Bedingungen verworfen wird.
9. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die Regeln der Grammatik während der Ausführung des Verfahrens geändert werden.
10. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass bei einem neuen Eingabewert, bei dem die technische Einrichtung (2) einen ersten Zustand einnimmt, zu Nicht-Terminalen der Grammatik jeweils ein Terminal als Alternative hinzugefügt wird, das von dem jeweiligen Nicht-Terminal abgeleitet wird.
11. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass Elemente aus Grammatik entfernt werden, die mit Hypothesen und/oder Bedingungen des Prädiktors unvereinbar sind, insbesondere wobei die Anwendung des Elementes der Grammatik zu einer Verletzung der Hypothese oder der Bedingung führt.
12. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass der neue Eingabewert mittels Produktionsregeln der Grammatik erzeugt wird und unter mehreren möglichen Wahlmöglichkeiten einer Produktionsregel gemäß einer Vorgabe eine Wahlmöglichkeit ausgewählt wird, insbesondere wobei der neuer Eingabewert mittels der Produktionsregeln der Grammatik erzeugt wird, indem sukzessive ein Ableitungsbaum aufgebaut wird und aus dem aufgebauten Ableitungsbaum der neue Eingabewert entnommen wird und/oder wobei der neue Eingabewert nur verwendet oder entnommen wird, wenn ein Satz von Bedingungen des Prädiktors erfüllt ist, und/oder wobei die Vorgabe eine Wahrscheinlichkeitsverteilung umfasst und/oder eine Vereinbarkeit der Wahlmöglichkeit mit mindestens einer Bedingung eines Satzes von Bedingungen des Prädiktors.
13. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die Merkmale der syntaktischen Struktur ein Merkmal über eine Wahlmöglichkeit einer Produktionsregel umfasst.
14. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass ein Merkmal der Eingabewerte dadurch gegeben ist, dass es genau dann den Wert 1 hat, wenn eine bei der Bestimmung oder Produktion der syntaktische Struktur verwendete Produktionsregel der Grammatik mindestens einmal angewendet wird, insbesondere wobei zur Erzeugung eines nächsten Eingabewerts die Produktionsregel temporär aus der Grammatik entfernt wird, wenn ein aktueller Satz von Bedingungen eine Bedingung umfasst, bei der das Merkmal einen Wert von weniger als 1 aufweist.
15. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass geprüft wird, ob die syntaktische Struktur mit einem oder dem Zustand des Prädiktors vereinbar ist und dass bei einer Unvereinbarkeit die syntaktische Struktur variiert wird, insbesondere wobei eine zuvor ausgewählte Wahlmöglichkeit verworfen und durch eine alternative Wahlmöglichkeit ersetzt wird, wobei zum Auffinden der alternativen Wahlmöglichkeit vorzugsweise ein Greedy-Verfahren angewendet wird.
16. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass es sich bei der Grammatik um eine kontextfreie Grammatik handelt.
17. Testvorrichtung (1) zur Untersuchung eines Verhaltens einer technischen Einrichtung (2), die in Abhängigkeit von Eingabewerten wenigstens zwei unterschiedliche Zustände einnimmt, insbesondere wobei die Testvorrichtung (1) eine Datenausgangsschnittstelle (3), über die Daten von der Testvorrichtung (1) auf die technische Einrichtung (2) übertragbar sind, und eine Dateneingangsschnittstelle (9), über die Daten empfangen werden können, umfasst, dadurch gekennzeichnet, dass die Testvorrichtung (1) eingerichtet ist, das Verfahren nach einem der Ansprüche 1 bis 16 auszuführen.
18. Testvorrichtung (1) nach dem vorangehenden Anspruch, dadurch gekennzeichnet, dass ein mit der Dateneingangsschnittstelle (9) verbundener Sensor (8) ausgebildet ist, mit dem ein Zustand der technischen Einrichtung (2) erfassbar ist.
19. Testanordnung (12) mit einer Testvorrichtung (1) nach einem der beiden vorangehenden Ansprüche und mit einer technischen Einrichtung (2), insbesondere wobei die technische Einrichtung (2) eine Dateneingangsschnittstelle (6), über die Daten empfangen werden können, umfasst, wobei die Dateneingangsschnittstelle (6) der technischen Einrichtung (2) mit der Datenausgangsschnittstelle (3) der Testvorrichtung (1) derart verbunden ist, dass Daten von der Testvorrichtung (1) auf die technische Einrichtung (2) übertragbar sind.
PCT/EP2021/065165 2020-06-09 2021-06-07 Verfahren und vorrichtung zur automatischen untersuchung eines verhaltens einer technischen einrichtung WO2021249941A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102020115344.9A DE102020115344A1 (de) 2020-06-09 2020-06-09 Verfahren und Vorrichtung zur automatischen Untersuchung eines Verhaltens einer technischen Einrichtung
DE102020115344.9 2020-06-09

Publications (1)

Publication Number Publication Date
WO2021249941A1 true WO2021249941A1 (de) 2021-12-16

Family

ID=76375065

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2021/065165 WO2021249941A1 (de) 2020-06-09 2021-06-07 Verfahren und vorrichtung zur automatischen untersuchung eines verhaltens einer technischen einrichtung

Country Status (2)

Country Link
DE (1) DE102020115344A1 (de)
WO (1) WO2021249941A1 (de)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005024649B4 (de) 2005-05-25 2007-04-12 Infineon Technologies Ag Vorrichtung und Verfahren zum Messen von Jitter

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PAPADOPOULOS PETROS ET AL: "Black-Box Test Generation from Inferred Models", 2015 IEEE/ACM 4TH INTERNATIONAL WORKSHOP ON REALIZING ARTIFICIAL INTELLIGENCE SYNERGIES IN SOFTWARE ENGINEERING, IEEE, 17 May 2015 (2015-05-17), pages 19 - 24, XP033182993, DOI: 10.1109/RAISE.2015.11 *
RAHUL GOPINATH ET AL: "Building Fast Fuzzers", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 18 November 2019 (2019-11-18), XP081534610 *

Also Published As

Publication number Publication date
DE102020115344A1 (de) 2021-12-09

Similar Documents

Publication Publication Date Title
DE102017125256A1 (de) Suche nach einer neuronalen Architektur
DE112018000723T5 (de) Aktualisierungsverwaltung für eine RPU-Anordnung
DE102019124018A1 (de) Verfahren zum Optimieren von Tests von Regelsystemen für automatisierte Fahrdynamiksysteme
EP3188053A1 (de) Verfahren zum konfigurieren einer co-simulation für ein gesamtsystem
DE102017218851A1 (de) Verfahren, Vorrichtung und Computerprogramm zur Erstellung eines tiefen neuronalen Netzes
EP4000010A1 (de) Vorrichtung und computerimplementiertes verfahren für die verarbeitung digitaler sensordaten und trainingsverfahren dafür
DE112019007626T5 (de) Arbeitselement-analyseeinrichtung und arbeitselement-analyseverfahren
DE102020213888A1 (de) Computerimplementiertes Verfahren zum Bestimmen von Kritikalitätswerten eines technischen Systems
WO2021249941A1 (de) Verfahren und vorrichtung zur automatischen untersuchung eines verhaltens einer technischen einrichtung
EP3812949A1 (de) Konfigurierbarer digitaler zwilling
WO2001065421A1 (de) Verfahren und anordnung zur modellierung eines systems
DE102021204550A1 (de) Verfahren zum Erzeugen wenigstens eines Datensatzes zum Trainieren eines Algorithmus maschinellen Lernens
DE4330847A1 (de) Vorrichtung und Verfahren zur Datenverarbeitung
DE102020205394A1 (de) Computerimplementiertes Verfahren und Vorrichtung zum Erstellen eines Knowledge Graph
DE19549300C1 (de) Verfahren zur rechnergestützten Ermittlung einer Bewertungsvariablen eines Bayesianischen Netzwerkgraphen
DE10325513B4 (de) Verfahren und Vorrichtung zum Erstellen eines Verhaltensaspekts einer Schaltung zur formalen Verifikation
EP3716058A1 (de) Verfahren zum ansteuern eines geräts mit einem neuen programmcode
DE10010232B4 (de) Verfahren und Vorrichtung zur Spracherkennung
DE102017213764A1 (de) Vorrichtung zur Zuverlässigkeitsanalyse eines mechatronischen Systems
DE112010005924T5 (de) Verfahren und System zum Weitergeben von Änderungen an einer Master-Einheit zu Duplikaten
DE102021205097A1 (de) Computerimplementiertes Verfahren und System zur Bestimmung einer Kostenfunktion
DE102021214552A1 (de) Verfahren zum Evaluieren eines trainierten tiefen neuronalen Netz
EP3961517A1 (de) Verfahren und ein system zum erstellen einer industriellen lösung mit einer künstlichen intelligenz
DE102022132041A1 (de) Computerimplementiertes Verfahren zur Konstruktion eines Bauteils
DE202019102339U1 (de) Vorrichtung zur Erzeugung eines Bildes

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: 21731451

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21731451

Country of ref document: EP

Kind code of ref document: A1