Model Inference Project

Under Submission

Implementation

We have implemented the state-enhanced k-tail (SEKT) and the trace-enhanced MTS inference (TEMI) algorithms in Java. Both Java binary and source code of the implementation are available below.

Downloads:

Java Binary Usage:

Use the following command in the directory containing the file MTSInference.jar:

java -jar MTSInference.jar tracefile invariantfile packagename classname outputpath

  • tracefile: path to Daikon trace file (in .dtrace.gz format)
  • invariantfile: path to Daikon invariant file (in .inv.gz format)
  • packagename: name of the package containing the class you want to extract SEKT and TEMI models from
  • classname: name of the class you want to extract SEKT and TEMI models from
  • outputpath: path to the directory you want to direct the output to

Ground-truth Models

The following are ground-truth models of the nine libraries we used to evaluate k-tail, CONTRACTOR++, SEKT and TEMI algorithms. Ground-truth models represent the exception-free behavior of the libraries. We took these models from related work [1], [2] and modified them to correct imprecisions. All model files are in the FSP format used by the LTSA and MTSA model checking tools.

Downloads:

Library Ground-truth model
DataStructures.StackAr stackar.txt

org.apache.xalan.templates.ElemNumber.
NumberFormatStringTokenizer
numberformat.txt
java.util.StringTokenizer stringtokenizer.txt
java.security.Signature signature.txt
org.apache.xml.serializer.ToHTMLStream tohtmlstream.txt
java.util.zip.ZipOutputStream zipoutputstream.txt
org.columba.ristretto.smtp.SMTPProtocol smtpprotocol.txt
java.net.Socket socket.txt
net.sf.jftp.net.wrappers.SftpConnection sftpconnection.txt

[1] V. Dallmeier et al. Automatically generating test cases for specification mining. IEEE TSE, 38(2), 2011.

[2] M. Pradel et al. A framework for the evaluation of specification miners based on finite state machines. In Proc. of ICSM, 2010.


Traces

The traces used to evaluate the inference algorithms can be found at testing traces. The traces are generated by Daikon and are read as the first step of the above implementation.

Contacts

Ivo Krka

Yuriy Brun

Nenad Medvidovic

inference/start.txt · Last modified: 2015/09/01 12:13 by ivo
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0