skip to main content
article

Using language clues to discover crosscutting concerns

Published:15 May 2005Publication History
Skip Abstract Section

Abstract

Researchers have developed ways to describe a concern, to store a concern, and even to keep a concern's code quickly available while updating it. Work on identifying concerns (semi-)automatically, however, has yet to gain attention and practical use, even though it is a desirable prerequisite to all of the above activities, particularly for legacy applications. This paper describes a concern identification technique that leverages the natural language processing (NLP) information in source code. Developers often use NLP clues to help understand software, because NLP helps them identify concepts that are semantically related. However, few analyses use NLP to understand programs, or to complement other program analyses. We have observed that an NLP technique called lexical chains offers the NLP equivalent of a concern. In this paper, we investigate the use of lexical chaining to identify crosscutting concerns, present the design and implementation of an algorithm that uses lexical chaining to expose concerns, and provide examples of concerns that our tool is able to discover automatically.

References

  1. S. Breu and J. Krinke. Aspect mining using event traces. In Auto. Soft. Eng. Conf., 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. A. Budanitsky. Semantic distance in wordnet: An experimental, application-oriented evaluation of five measures, 2001.Google ScholarGoogle Scholar
  3. Eclipse Homepage. http://www.eclipse.org. 2005. (Febuary 1, 2005).Google ScholarGoogle Scholar
  4. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns. Addison-Wesley, 1995.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. W. G. Griswold. Coping with crosscutting software changes using information transparency. In REFLECTION '01: Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns, pages 250--265, London, UK, 2001. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. W. G. Griswold, Y. Kato, and J. J. Yuan. Aspect browser: Tool support for managing dispersed aspects. In Workshop on MDSOC, 2000.Google ScholarGoogle Scholar
  7. M. Halliday and R. Hasan. Cohesion in English. Longman, London, 1976.Google ScholarGoogle Scholar
  8. J. Hannemann and G. Kiczales. Overcoming the prevalent decomposition of legacy code. In Wkshp on Advances Separation of Concerns, 2001.Google ScholarGoogle Scholar
  9. M. Marin, A. van Deursen, and L. Moonen. Identifying aspects using fan-in analysis. In Working Conf. on Reverse Eng., 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. Morris and G. Hirst. Lexical cohesion computed by thesaural relations as an indicator of the structure of text. Comput. Linguist., 17(1):21--48, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. I. Nancy and V. Jean. Word sense disambiguation: The state of the art, 1998.Google ScholarGoogle Scholar
  12. M. P. Robillard and G. C. Murphy. Concern graphs: Finding and describing concerns using structural program dependencies. In Int. Conf. on Soft. Eng., 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. H. Rubenstein and J. B. Goodenough. Contextual correlates of synonymy. Commun. ACM, 8(10):627--633, 1965. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. D. Shepherd, J. Palm, L. Pollock, and M. Chu-Carroll. Timna: A framework for the combination of aspect mining analyses. In Technical Report, University of Delaware, November 2004.Google ScholarGoogle Scholar
  15. D. Shepherd and L. Pollock. Aspects, views, and interfaces. In Wkshp on Linking Aspect Technology and Evolution at AOSD, March 2005.Google ScholarGoogle Scholar
  16. I. Sun Microsystems. Pet Store Demo homepage, http://developer.java.sun.com/developer/releases/petstore/. (Febuary 1, 2005).Google ScholarGoogle Scholar
  17. P. Tarr, H. Ossher, W. Harrison, and J. Stanley M. Sutton. N degrees of separation: Multi-dimensional separation of concerns. In ICSE, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. P. Tonella and M. Ceccato. Aspect mining through the formal concept analysis of execution traces. In Working Conf. on Reverse Eng., 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. T. Tourwé and K. Mens. Mining Aspectual Views using Formal Concept Analysis. In Int. Wkshp. on Source Code Analysis and Manipulation, pages 97 -- 106. IEEE Computer Society, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. D. Tufis and O. Mason. Tagging romanian texts: a case study for qtag, a language independent probabilistic tagger.Google ScholarGoogle Scholar
  21. K. D. Volder and D. Janzen. Navigating and querying code without getting lost. In Aspect Oriented Software Development, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. W. Zhao, L. Zhang, Y. Liu, J. Sun, and F. Yang. Sniafl: Towards a static non-interactive approach to feature location. In ICSE '04: Proceedings of the 26th International Conference on Software Engineering, pages 293--303, Washington, DC, USA, 2004. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Using language clues to discover crosscutting concerns

        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

        Full Access

        • Published in

          cover image ACM SIGSOFT Software Engineering Notes
          ACM SIGSOFT Software Engineering Notes  Volume 30, Issue 4
          July 2005
          1514 pages
          ISSN:0163-5948
          DOI:10.1145/1082983
          Issue’s Table of Contents
          • cover image ACM Other conferences
            MACS '05: Proceedings of the 2005 workshop on Modeling and analysis of concerns in software
            May 2005
            77 pages
            ISBN:1595931198
            DOI:10.1145/1083125

          Copyright © 2005 Copyright is held by the owner/author(s)

          Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the Owner/Author.

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 15 May 2005

          Check for updates

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader