skip to main content
article

Using language clues to discover crosscutting concerns

Published: 15 May 2005 Publication History

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.
[2]
A. Budanitsky. Semantic distance in wordnet: An experimental, application-oriented evaluation of five measures, 2001.
[3]
Eclipse Homepage. http://www.eclipse.org. 2005. (Febuary 1, 2005).
[4]
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns. Addison-Wesley, 1995.
[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.
[6]
W. G. Griswold, Y. Kato, and J. J. Yuan. Aspect browser: Tool support for managing dispersed aspects. In Workshop on MDSOC, 2000.
[7]
M. Halliday and R. Hasan. Cohesion in English. Longman, London, 1976.
[8]
J. Hannemann and G. Kiczales. Overcoming the prevalent decomposition of legacy code. In Wkshp on Advances Separation of Concerns, 2001.
[9]
M. Marin, A. van Deursen, and L. Moonen. Identifying aspects using fan-in analysis. In Working Conf. on Reverse Eng., 2004.
[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.
[11]
I. Nancy and V. Jean. Word sense disambiguation: The state of the art, 1998.
[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.
[13]
H. Rubenstein and J. B. Goodenough. Contextual correlates of synonymy. Commun. ACM, 8(10):627--633, 1965.
[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.
[15]
D. Shepherd and L. Pollock. Aspects, views, and interfaces. In Wkshp on Linking Aspect Technology and Evolution at AOSD, March 2005.
[16]
I. Sun Microsystems. Pet Store Demo homepage, http://developer.java.sun.com/developer/releases/petstore/. (Febuary 1, 2005).
[17]
P. Tarr, H. Ossher, W. Harrison, and J. Stanley M. Sutton. N degrees of separation: Multi-dimensional separation of concerns. In ICSE, 1999.
[18]
P. Tonella and M. Ceccato. Aspect mining through the formal concept analysis of execution traces. In Working Conf. on Reverse Eng., 2004.
[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.
[20]
D. Tufis and O. Mason. Tagging romanian texts: a case study for qtag, a language independent probabilistic tagger.
[21]
K. D. Volder and D. Janzen. Navigating and querying code without getting lost. In Aspect Oriented Software Development, 2003.
[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.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

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
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
Published in SIGSOFT Volume 30, Issue 4

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 27 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media