# Automated bug finder through machine learning?

Assume that I have a large software application, this application is event driven i.e. when a user configures something by pressing on a button a code flow executes.

Along with this application I also have a system which can emulate a user and can perform all permutation of steps which a user might perform. Hence it is safe to say that I can bring my software application to all the possible states. I have already done the automation for this, I just need a brain which can say that the current state is buggy (undesired) or not.

Now the question is:

Is it possible to determine if my system has gone into an unexpected state (Bug) automatically via machine learning?

At first I thought of using Rete Net to solve this. Idea was to make a knowledge base which will emulate a tester and can tell if the system is in an inconsistent state or not, but for this I need to constantly feed the knowledge base with new rules whenever a new feature is added to this software application.

Is a difficult task for a machine learning method. I would think that there are methods proper to software development that are much more appropiated for the task.

With machine learning, I could think that process analytics is what you are looking for:

I imagine you may have a dataset like this:

[step1: click in LOGIN, step2: Click in Button A, step3: Click in Button B]  -> [No Bug]
[step1: Click in LOGIN, step2: Click in Button Z]                            -> [Bug]
...


Business Process Analytics is the family of methods and tools that can be applied to these event streams in order to support decision-making in organizations. The analysis of process events can focus on the behavior of completed processes, evaluate currently running process instances, or focus on predicting the behavior of process instances in the future. Process Analytics

Is the most similar process (to your question) in Analytics I know