Difftastic is effectively computing the "tree edit distance" between two ASTs, and there's a bunch of papers on this topic. Literature review is hard though: sometimes a paper takes a while to digest, only to realise that they're solving a slightly different problem.
Related Posts
Designing UIs is such a hard problem.
Sometimes I try a bunch of options and I settle on "this one seems the least annoying".
I hear people say that Go is often hard to search online (hence sometimes "Golang"), but the vast majority of language names are common words. Names with punctuation (C++, C#) are hard too.
Is this a big problem in practice? "Perl" isn't a dictionary word, but it's an exception.
Difftastic has been cited in a paper!
Modernizing SMT-Based Type Error Localization https://arxiv.org/abs/2408.09034
The authors use difftastic to work out which parts of a buggy program have actually changed, a great use case :)