The Daikon Invariant Detector User Manual_ 7. Front ends (instrumentation)

The Daikon Invariant Detector User Manual_ 7. Front ends (instrumentation)

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
[ < ] [ > ] [ << ] [ Up ] [ >> ] [ Top ] [ Contents ] [ Index ] [ ? ] 7. Front ends (instrumentation) The Daikon invariant detector is a machine learning tool that finds patterns (invariants) in data. That data can come from any source, but Daikon is typically used to find invariants over variable values in running programs. A front end is a tool that converts data from some other format into Daikon's input format. The most common type of front end is an instrumenter, which causes your program to output a ‘ .dtrace ’ file that Daikon can process. This chapter describes several front ends (instrumenters) that are part of Daikon. It is relatively easy to build your own front end, if these do not serve your purpose; we are aware of a number of users who have done so. For more information about building a new front end, see (./developer)New front ends section `New front ends' in Daikon Developer Manual . 7.1 Java front end Chicory 7.2 DynComp dynamic comparability (abstract type) analysis for Java 7.3 C/C++ front end Kvasir 7.4 Source-based C/C++ front end Mangel-Wurzel 7.5 Perl front end dfepl 7.6 Comma-separated-value front end convertcsv.pl 7.7 Other front ends [ < ] [ > << ] [ Up ] [ >> ] [ Contents ] [ Index ] [ ? ] 7.1 Java front end Chicory The Daikon front end for Java, named Chicory, executes Java programs, creates data trace (‘ .dtrace ’) files, and optionally runs Daikon on them. Chicory is named after the chicory plant, whose root is sometimes used as a coffee substitute or flavor enhancer. To use Chicory, run your program as you normally would, but replace the java command with java daikon.Chicory . For instance, if you usually run java mypackage.MyClass arg1 arg2 arg3 then instead you would run java daikon.Chicory mypackage.MyClass arg1 arg2 arg3 This runs your program and creates file ‘ MyClass.dtrace ’ in the current directory. Furthermore, a single command can both create a trace file and run Daikon: java daikon.Chicory --daikon mypackage.MyClass arg1 arg2 arg3 The Daikon Invariant Detector User Manual: 7. Front ends (instrumentation) file:///C:/Users/tyalanf/AppData/Local/Temp/Temp1_daikon.zip/daikon/d. .. 2/24/2012 12:16 PM You created this PDF from an application that is not licensed to print to novaPDF printer ( http://www.novapdf.com )
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
See below for more options. That's all there is to it! Since Chicory instruments class files directly as they are loaded into Java, you do not need to perform separate instrumentation and recompilation steps. However, you should compile your program with debugging information enabled (the ‘ -g ’ command-line switch to javac ); otherwise, Chicory uses the names arg0 , arg1 , … as the names of method arguments. Chicory must be run in a version 5.0 JVM, but it is backward-compatible with older versions of Java code. 7.1.1 Chicory options 7.1.2 Static fields (global variables) [ < ] [ > ] [ << ] [ Up ] [ >> ] [ Top ] [ Contents ] [ Index ] [ ? ] 7.1.1 Chicory options Chicory is invoked as follows: java daikon.Chicory chicory-args classname args where java classname args is a valid invocation of Java.
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 54

The Daikon Invariant Detector User Manual_ 7. Front ends (instrumentation)

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online