To prevent spam users, you can only post on this forum after registration, which is by invitation. If you want to post on the forum, please send me a mail (h DOT m DOT w DOT verbeek AT tue DOT nl) and I'll send you an invitation in return for an account.

Application of process mining in software testing

Hi,

My current research involves in using the ProM results as a base to create the model for software testing. I am trying to convert the design oriented ProM result into a more structure oriented result like csv or json which can then be easily converted to a software test model. I do understand that such conversions are not available currently. Since my knowledge in java is very limited I aim to build this outside of ProM. But would definitely appreciate any help in understanding the workings of ProM. I am very new to the field of process mining and it is nearly impossible to gain the required knowledge from literature as the thesis period is just 3 months.

My first step is to arrive at a good model from ProM. So far I have used the GUI of proM 6.7 for this.  I am hoping to generate models with 3 plugins - Alpha, Heuristic and ETM. Also, I am using the convert to XES plugin for the conversion of my csv log. 

When I try using Alpha miner on the converted XES log, miner runs without error, but visualization throws an error,

Start plug-in @0 Visualize Petri net
-------- The following exception was logged by the framework:
         The exception was probalby handled properly.
java.util.concurrent.ExecutionException: java.lang.reflect.InvocationTargetException

I am not sure how to proceed as I am new to ProM and Java. Any help or guidance would be deeply appreciated.

Thanks & Regards,
Aswathy

Comments

  • hverbeekhverbeek Posts: 456
    Dear Aswathy,

    This sounds like a bug, but to be sure we need to reproduce it. Can you share your csv log with us, and tell us which steps you took to get to the error? Which plug-ins did you run in which order with which parameters?

    Note that the Alpha Miner and the Heuristics Miner are already quite old, and that the ETM requires significant time to discover a proper model.

    Kind regards,

    Eric.
  • Dear Aswathy,

    I agree with Eric, it is better for us to re-produce the bug.

    As for the conversion from the ProM results to software test models, I guess you need to develop you own plugin, e.g., transform Petri net (as most plugins reture process models in this format) to a type of software test model.

    By the way, I am also working on the interplay area of software engineering and process mining. For more information, please refer to our project website http://www.3tu-bsr.nl/doku.php?id=start. Your topic interests me a lot. It would be very great to have some futher discussions and collaborations.

    All the best,
    Cong

  • Dear Eric and Cong,

    Thank you for your response and really looking forward to the discussions and interactions. Currently, I am a Data Science student and my past experience lies in the software testing field. So I am also very much interested in the application of the data and process mining concepts in to the field of software engineering. :smile: 

    Regarding the log, unfortunately, it cannot be shared at the moment due to security restrictions. However, I am trying to arrange the necessary permissions to do the same.

    But what I observe is that the petrinet gets generated when the plug in is run without the timestamp (run only with case id as trace and stimulus(activity) as event). The mined model is not completely correct but atleast a petrinet gets generated.

    When a combination of fields for events (stimulus +  Response) are used, the miner runs for long and does not give any results. I will keep it running and see what happens.

    Regarding the algorithms,those algorithms were chosen because it was discussed and suggested in some of the papers. Hence it was a decision made with very limited knowledge and I understand that it might not be the best nor the right choice. Can you suggest some of the latest implementations that can be tried?  Goal of the research is:

    1) Identify all functional workflows in a system - positive and negative test scenarios will be generated out of the workflows identified.

    2) The miner should be able to produce all workflows, not only the traces that are actually present in the logs but also possible new traces

    3) The logs can be actual production logs or logs generated from a test environment. The thought process is that an existing test environment might maintain much more detailed logs and will already contain some negative workflows.  Also, the logs contain system  stimulus and responses. Currently, I am trying to use the combination of it as an activity. And when a test log is used, it is more continuous with respect to timestamps. So some of the traces might share same timestamp even though they are not concurrent (but rather executed right after).

    After your input, i dug around a bit and came across transition miner. This sounded really interesting as the firm supporting the research use state models in their test automation. Is this a stable plug in that I can use or is it still in an experimentation phase?

    Looking forward to your replies.

    Thanks and Regards,
    Aswathy

Sign In or Register to comment.