Software artifacts are typically not developed from scratch and in many cases similar artifacts are identified and adapted to given requirements. In such scenarios, variants of similar software artifacts exist, challenging their maintenance and future development. Variants may also result from the development of a common design by different teams (e.g., services that cut across development teams). In these cases, the variants are not necessarily similar on the level of implementation, and therefore cannot be easily detected using existing clone detection approaches.
VarMeR (Variability Mechanisms Recommender) is a tool supporting the identification and comparison of variants of software artifacts which is inspired by the notion of polymorphism. It analyzes the behavioral similarity of object-oriented code artifacts (currently it supports Java) and recommends on suitable mechanisms based on the degrees of similarity (see the table below for a brief summary and the publications section for elaboration).