FINDING ANTIPATTERNS ACROSS LANGUAGES WITH ABSTRACT SYNTAX TREES