The interplay of multiple objects in object-oriented programming often follows some specific protocols, for example certain order of method calls and/or control structure constraints among them that are part of intended object usages. Unfortunately, the information is not always documented. That creates long learning curve, and more importantly, leads to subtle problems due to misuse of objects.
GrouMiner is a novel graph-based approach for mining the usage patterns of one or multiple objects. GrouMiner approach includes a graph-based representation for multiple object usages, a pattern mining algorithm, and an anomaly detection technique that are efficient, accurate, and resilient to software changes.