Hi,
in the context of software testing I'm faced with the problem of
comparing two large terms (the specified and the actual result of a
computation) and to find out how one term differs from the other. It
would be helpful to discover, for instance, that some subterm of term A
has moved to a different place in term B. In short, the algorithm should
compute a (minimal) tree edit script that converts term A into term B.
Does anyone know of an existing prolog implementation for this?
Lukas
PS: A more intelligent algorithm might also detect systematic changes,
for instance, "f(X) is always replaced by g(X,foo)" - but that is
perpaps SF...
|