• Title of article

    The Daikon system for dynamic detection of likely invariants

  • Author/Authors

    Michael D. Ernst، نويسنده , , Jeff H. Perkins، نويسنده , , Philip J. Guo، نويسنده , , Stephen McCamant، نويسنده , , Carlos Pacheco، نويسنده , , Matthew S. Tschantz، نويسنده , , Chen Xiao، نويسنده ,

  • Issue Information
    دوهفته نامه با شماره پیاپی سال 2007
  • Pages
    11
  • From page
    35
  • To page
    45
  • Abstract
    Daikon is an implementation of dynamic detection of likely invariants; that is, the Daikon invariant detector reports likely program invariants. An invariant is a property that holds at a certain point or points in a program; these are often used in assert statements, documentation, and formal specifications. Examples include being constant (image), non-zero (image), being in a range (image), linear relationships (image), ordering (image), functions from a library (image), containment (image), sortedness (image), and many more. Users can extend Daikon to check for additional invariants. Dynamic invariant detection runs a program, observes the values that the program computes, and then reports properties that were true over the observed executions. Dynamic invariant detection is a machine learning technique that can be applied to arbitrary data. Daikon can detect invariants in C, C++, Java, and Perl programs, and in record-structured data sources; it is easy to extend Daikon to other applications. Invariants can be useful in program understanding and a host of other applications. Daikon’s output has been used for generating test cases, predicting incompatibilities in component integration, automating theorem proving, repairing inconsistent data structures, and checking the validity of data streams, among other tasks. Daikon is freely available in source and binary form, along with extensive documentation, at .
  • Keywords
    Inductive logic programming , Inference , Program understanding , Specification , Daikon , Specification mining , Dynamic invariant detection , Dynamic analysis , Likely invariant , invariant
  • Journal title
    Science of Computer Programming
  • Serial Year
    2007
  • Journal title
    Science of Computer Programming
  • Record number

    1079995