Diaphora Heuristics

Heuristics implemented in Diaphora and how to add new ones

Diaphora Heuristics

Diaphora uses multiple heuristics to find matches between different functions. The next list shows all the heuristics implemented in the current Diaphora Release.

Best matches

The very first thing Diaphora tries is to find if everything in both databases, even the primary key values are equals. If so, the databases are considered 100% equals and nothing else is done. After that, it runs a number of heuristics for which the results are known to be very good and realible.

Partial

Partial matches are these considered according to the confidence's ratio, when it's bigger or equal to 5.00.

Unreliable

Unreliable heuristics are these that give out matches that sometimes are useful but the number of false positives it may generate is high.

Experimental

Experimental heuristics are likely to be removed or moved or changed in the future. These are the heuristics that are being developed and are, mostly, used exclusively for research. Some experimental heuristics are promoted to partial or even best matches after the research is done. However, the heuristic can be also dropped if the results of that heuristic after researching it for some time are bad.