Daikon is an implementation of dynamic detection of likely invariants. An invariant is a property (such as "x=2*y+5" or "this.next.prev = this" or "myarray is sorted by <") that holds at a certain point or points in a program. Invariants are often seen in assert statements, documentation, and formal specifications. Invariants can be useful in program understanding and a host of other applications. Daikon runs a program, observes the values that the program computes, and then reports properties that were true over the observed executions. It can detect properties in Java, C, C++, Perl, and IOA programs, in spreadsheet files, and in other data sources.
| Tags | Documentation Scientific/Engineering Artificial Intelligence Mathematics Software Development Quality Assurance Testing |
|---|---|
| Licenses | Open Software |
| Implementation | Java C C++ Perl |
Recent releases


Changes: Kvasir now supports binaries created with GCC 4.0+ and glibc versions 2.2 to 2.10. The Daikon user manual was updated for clarity and completeness. Bugs were fixed in Daikon, Kvasir, and Chicory.


Changes: Support for Daikon and DynComp for Java has been improved for Mac OS X. The Daikon user and developer manuals were enhanced.


Changes: Bugs were fixed in Chicory and AnnotateNullable. Daikon's documentation was improved.


Changes: This release resolves a number of problems in the build scripts and documentation for a complete Windows installation.


Changes: New String invariants were added to Daikon.