Dynamic invariant detection runs a program, observes the values that the program computes, and then reports properties that were true over the observed executions.
This can be used to construct ProofOfCorrectness of otherwise intractable pieces of code. Others have built systems to automatically detect bugs and generate UnitTests for them.
Daikon supports CeeLanguage, CeePlusPlus, JavaLanguage, PerlLanguage, IOA, spreadsheets, and other data sources.