Applications of Concept Lattices to Code Inspection and Review

This work investigates the application of formal concept analysis to the tasks of reverse-engineering and code inspection of individual JAVA classes. Our technique partitions the methods of the class according to their use of fields, and then presents them in the form of a concept lattice (or Galois lattice). We demonstrate in a case study that this lattice can help visualize and understand the structure of the class. We also show how this lattice can be used to perform version comparisons and to select an order in which methods can be read effectively.

[1]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[2]  David A. Watt,et al.  Programming language concepts and paradigms , 1990, Prentice Hall International Series in Computer Science.

[3]  Bertrand Meyer,et al.  Eiffel: The Language , 1991 .

[4]  Hafedh Mili,et al.  Building and maintaining analysis-level class hierarchies using Galois Lattices , 1993, OOPSLA '93.

[5]  Timlynn T. Babitsky,et al.  Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications , 1993, OOPSLA 1993.

[6]  Peter J. Middleton,et al.  Software Inspection , 1994, J. Inf. Technol..

[7]  Thomas W. Reps,et al.  Identifying modules via concept analysis , 1997, 1997 Proceedings International Conference on Software Maintenance.

[8]  Frank Tip,et al.  Reengineering class hierarchies using concept analysis , 1998, SIGSOFT '98/FSE-6.

[9]  Gregor Snelting,et al.  Concept analysis—a new framework for program understanding , 1998, PASTE '98.

[10]  Joseph Gil,et al.  Self-calibration of metrics of Java methods , 2000, Proceedings 37th International Conference on Technology of Object-Oriented Languages and Systems. TOOLS-Pacific 2000.

[11]  Marc Roper,et al.  Practical Code Inspection for Object- Oriented Systems , 2001 .

[12]  Stéphane Ducasse,et al.  A categorization of classes based on the visualization of their internal structure: the class blueprint , 2001, OOPSLA '01.