N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Contextual correlates of synonymy
Communications of the ACM
Concern graphs: finding and describing concerns using structural program dependencies
Proceedings of the 24th International Conference on Software Engineering
Navigating and querying code without getting lost
Proceedings of the 2nd international conference on Aspect-oriented software development
Coping with Crosscutting Software Changes Using Information Transparency
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Lexical cohesion computed by thesaural relations as an indicator of the structure of text
Computational Linguistics
SNIAFL: Towards a Static Non-Interactive Approach to Feature Location
Proceedings of the 26th International Conference on Software Engineering
Mining Aspectual Views using Formal Concept Analysis
SCAM '04 Proceedings of the Source Code Analysis and Manipulation, Fourth IEEE International Workshop
Aspect Mining Using Event Traces
Proceedings of the 19th IEEE international conference on Automated software engineering
Aspect Mining through the Formal Concept Analysis of Execution Traces
WCRE '04 Proceedings of the 11th Working Conference on Reverse Engineering
Identifying Aspects Using Fan-In Analysis
WCRE '04 Proceedings of the 11th Working Conference on Reverse Engineering
Towards supporting on-demand virtual remodularization using program graphs
Proceedings of the 5th international conference on Aspect-oriented software development
Using natural language program analysis to locate and understand action-oriented concerns
Proceedings of the 6th international conference on Aspect-oriented software development
Efficiently mining crosscutting concerns through random walks
Proceedings of the 6th international conference on Aspect-oriented software development
A theory of aspects as latent topics
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Early aspect identification from use cases using NLP and WSD techniques
Proceedings of the 15th workshop on Early aspects
Automated Aspect Recommendation through Clustering-Based Fan-in Analysis
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
A survey of automated code-level aspect mining techniques
Transactions on aspect-oriented software development IV
Mining early aspects based on syntactical and dependency analyses
Science of Computer Programming
On the naturalness of software
Proceedings of the 34th International Conference on Software Engineering
A systematic review on mining techniques for crosscutting concerns
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Combining concern input with program analysis for bloat detection
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Hi-index | 0.00 |
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.