skip to main content
10.1145/949344.949416acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article

Visualizing class interfaces with formal concept analysis

Authors Info & Claims
Published:26 October 2003Publication History

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. G. Birkhoff. Lattice Theory. Colloqulum Publications. American Mathematical Society, Providence, RI, USA, 2nd edition, 1967.Google ScholarGoogle Scholar
  3. U. Dekel. Revealing Java class structure with concept lattices. Master's thesis, Technion -- Israel Institute of Technology, February 2003.Google ScholarGoogle Scholar
  4. Eclipse project homepage. http://www.eclipse.org.Google ScholarGoogle Scholar
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. IBM java documentation enhancer. http://www.alphaworks.ibm.com/tech/docenhancer.Google ScholarGoogle Scholar
  7. 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 ScholarGoogle Scholar
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. B. Meyer. Reusable Software: The Base Object-Oriented Component Libraries. Prentice-Hall Object-Oriented. Prentice-Hall, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. G. Snelting. Reengineering of configurations based on mathematical concept analysis. ACM Transactions on Software Engineering and Methodology, 5(2):146--189, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. G. Snelting and F. Tip. Understanding class hierarchies using concept analysis. ACM Transactions on Programming Languages and Systems, 22(3):540--582, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. R. Wille. Restructuring lattice theory: An approach based on hierarchies of concepts. In I. Rival, editor, Ordered Sets, pages 445--470. Reidel, 1982.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Visualizing class interfaces with formal concept analysis

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          OOPSLA '03: Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
          October 2003
          418 pages
          ISBN:1581137516
          DOI:10.1145/949344

          Copyright © 2003 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 26 October 2003

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Upcoming Conference

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader