I am interested in experimenting with machine learning on the ASTs of programming langauges (e.g. some Java code). I would like to develop an algorithm that determines if a given AST satisfies some predicate. I have a training set of programs that do and do not satify the predicate.
The machine learning techniques that I am aware of operate on vectors or matricies. Are there techniques that operate on trees?