A Logic Meta-Programming Foundation for Example-Driven Pattern Detection in Object-Oriented Programs
This paper summarizes the doctoral dissertation in which the authors introduced an example-driven approach to pattern detection. This approach enables specifying pattern characteristics in a familiar language: through a code excerpt that corresponds to their prototypical implementation. Such excerpts are matched against the program under investigation according to various matching strategies that vary in leniency. Each match is quantified by the extent to which it exhibits the exemplified characteristics. The smaller this extent, the more likely the match is a false positive - thus establishing a ranking which facilitates assessing a large amount of matches.