Search, align, and repair: data-driven feedback generation for introductory programming exercises
Simple fast algorithms for the editing distance between trees and related problems