ABSTRACT
Our research promotes the use of a mathematical concept lattice as a novel visualization of the interfaces of Java classes. The binary relation of accesses between methods and fields, from which the lattice is constructed, serves as a heuristic for an automatic feature categorization. We demonstrate in a detailed real-life case study that such a lattice is valuable for understanding and reverse-engineering purposes, in that it helps reason about the interface and structure of the class and find errors in the absence of source code. We also show that if the source code of the class is available, then the lattice can be of assistance in selecting an efficient reading order.
- G. Ammons, D. Mandelin, R. Bodik, and J. R. Larus. Debugging temporal specifications with concept analysis. In Proceedings of the ACM SIGPLAN'03 Conference on Programming Language Design and Implementation, San Diego, CA, June 9-11 2003. ACM Press. Google ScholarDigital Library
- G. Birkhoff. Lattice Theory. Colloqulum Publications. American Mathematical Society, Providence, RI, USA, 2nd edition, 1967.Google Scholar
- U. Dekel. Revealing Java class structure with concept lattices. Master's thesis, Technion -- Israel Institute of Technology, February 2003.Google Scholar
- Eclipse project homepage. http://www.eclipse.org.Google Scholar
- R. Godin and H. Mili. Building and maintaining analysis-level class hierarchies using galois lattices. In Proceedings of the 8th Annual Conference on Object-Oriented Programming Systems, Languages, and Applications, pages 394--410, Washington, DC, USA, Sept. 26 - Oct. 1 1993. Google ScholarDigital Library
- IBM java documentation enhancer. http://www.alphaworks.ibm.com/tech/docenhancer.Google Scholar
- C. Lindig. Concept-based component retrieval. In Working Notes of the IJCAI-95 Workshop: Formal Approaches to the Reuse of Plans, Proofs, and Programs, pages 21--25, Montreal, Aug. 1995.Google Scholar
- C. Lindig and G. Snelting. Assessing modular structure of legacy code based on mathematical concept analysis. In Proceedings ofthe 19th International Conference on Software Engineering, pages 349--359, Boston, MA, May 1997. IEEE Computer Society Press. Google ScholarDigital Library
- B. Meyer. Reusable Software: The Base Object-Oriented Component Libraries. Prentice-Hall Object-Oriented. Prentice-Hall, 1994. Google ScholarDigital Library
- M. Siff and T. Reps. Identifying modules via concept analysis. In Proceedings of the IEEE International Conference on Software Maintenance, pages 170--179, Bari, Italy, Oct. 1997. IEEE Computer Society Press. Google ScholarDigital Library
- G. Snelting. Reengineering of configurations based on mathematical concept analysis. ACM Transactions on Software Engineering and Methodology, 5(2):146--189, 1996. Google ScholarDigital Library
- G. Snelting and F. Tip. Understanding class hierarchies using concept analysis. ACM Transactions on Programming Languages and Systems, 22(3):540--582, 2000. Google ScholarDigital Library
- A. van Deursen and T. Kuipers. Identifying objects using cluster and concept analysis. In Proceedings ofthe~21st International Conference on Software Engineering, pages 246--255, Los Angeles, CA, May 1999. IEEE Computer Society Press. Google ScholarDigital Library
- R. Wille. Restructuring lattice theory: An approach based on hierarchies of concepts. In I. Rival, editor, Ordered Sets, pages 445--470. Reidel, 1982.Google ScholarCross Ref
Index Terms
- Visualizing class interfaces with formal concept analysis
Recommendations
A Categorical View on Algebraic Lattices in Formal Concept Analysis
Formal concept analysis has grown from a new branch of the mathematical field of lattice theory to a widely recognized tool in Computer Science and elsewhere. In order to fully benefit from this theory, we believe that it can be enriched with notions ...
Formal concept analysis and lattice-valued Chu systems
This paper links formal concept analysis (FCA) both to order-theoretic developments in the theory of Galois connections and to Chu spaces or systems viewed as a common rubric for both topological systems and systems arising from predicate transformers ...
A Categorical View on Algebraic Lattices in Formal Concept Analysis
Formal concept analysis has grown from a new branch of the mathematical field of lattice theory to a widely recognized tool in Computer Science and elsewhere. In order to fully benefit from this theory, we believe that it can be enriched with notions ...
Comments