JStereoCode: automatically identifying method and class stereotypes in Java code

Object-Oriented (OO) code stereotypes are low-level patterns that reveal the design intent of a source code artifact, such as, a method or a class. They are orthogonal to the problem domain of the software and they reflect the role of a method or class from the OO problem solving point of view. However, the research community in automated reverse engineering has focused more on higher-level design information, such as design patterns. Existing work on reverse engineering code stereotypes is scarce and focused on C++ code, while no tools are freely available as of today. We present JStereoCode, a tool that automatically identifies the stereotypes of methods and classes in Java systems. The tool is integrated with Eclipse and for a given Java project will classify each method and class in the system based on their stereotypes. Applications of JStereoCode include: program comprehension, defect prediction, etc.

[1]  Stéphane Ducasse,et al.  Analyzing feature traces to incorporate the semantics of change in software evolution analysis , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[2]  Jonathan I. Maletic,et al.  Automatic identification of class stereotypes , 2010, 2010 IEEE International Conference on Software Maintenance.

[3]  Natalia Dragan,et al.  Emergent laws of method and class stereotypes in object oriented software , 2011, 2011 27th IEEE International Conference on Software Maintenance (ICSM).

[4]  Tariq M. King,et al.  Analyzing clusters of class characteristics in OO applications , 2008, J. Syst. Softw..

[5]  Jonathan I. Maletic,et al.  Using stereotypes to help characterize commits , 2011, 2011 27th IEEE International Conference on Software Maintenance (ICSM).

[6]  Jonathan I. Maletic,et al.  Reverse Engineering Method Stereotypes , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[7]  Peter J. Clarke,et al.  Using a taxonomy tool to identify changes in OO software , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..

[8]  Jonathan I. Maletic,et al.  Using method stereotype distribution as a signature descriptor for software systems , 2009, 2009 IEEE International Conference on Software Maintenance.

[9]  Itay Maman,et al.  Micro patterns in Java code , 2005, OOPSLA '05.