Graph-based mining of multiple object usage patterns

  • Authors:
  • Tung Thanh Nguyen;Hoan Anh Nguyen;Nam H. Pham;Jafar M. Al-Kofahi;Tien N. Nguyen

  • Affiliations:
  • Iowa State University, Ames, IA, USA;Iowa State University, Ames, IA, USA;Iowa State University, Ames, IA, USA;Iowa State University, Ames, IA, USA;Iowa State University, Ames, IA, USA

  • Venue:
  • Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

The interplay of multiple objects in object-oriented programming often follows specific protocols, for example certain orders of method calls and/or control structure constraints among them that are parts of the intended object usages. Unfortunately, the information is not always documented. That creates long learning curve, and importantly, leads to subtle problems due to the misuse of objects. In this paper, we propose GrouMiner, 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. Our experiments on several real-world programs show that our prototype is able to find useful usage patterns with multiple objects and control structures, and to translate them into user-friendly code skeletons to assist developers in programming. It could also detect the usage anomalies that caused yet undiscovered defects and code smells in those programs.