Automated program recognition: a feasibility demonstration
Artificial Intelligence
Seesoft-A Tool for Visualizing Line Oriented Software Statistics
IEEE Transactions on Software Engineering - Special issue on software measurement principles, techniques, and environments
Program understanding and the concept assignment problem
Communications of the ACM
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Software reconnaissance: mapping program features to code
Journal of Software Maintenance: Research and Practice
A Unified Framework for Coupling Measurement in Object-Oriented Systems
IEEE Transactions on Software Engineering
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Program plan recognition for year 2000 tools
Science of Computer Programming - Special issue on WCRE 97
A study on exception detection and handling using aspect-oriented programming
Proceedings of the 22nd international conference on Software engineering
Exploiting the map metaphor in a tool for software evolution
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Composing crosscutting concerns using composition filters
Communications of the ACM
Concern graphs: finding and describing concerns using structural program dependencies
Proceedings of the 24th International Conference on Software Engineering
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Mastering AspectJ: Aspect-Oriented Programming in Java
Mastering AspectJ: Aspect-Oriented Programming in Java
Recognizing a Program's Design: A Graph-Parsing Approach
IEEE Software
Quantifying aspects in middleware platforms
Proceedings of the 2nd international conference on Aspect-oriented software development
Navigating and querying code without getting lost
Proceedings of the 2nd international conference on Aspect-oriented software development
Software Engineering (7th Edition)
Software Engineering (7th Edition)
AspectJ in Action: Practical Aspect-Oriented Programming
AspectJ in Action: Practical Aspect-Oriented Programming
Migrating Interface Implementation to Aspects
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
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
PRISM is research in aSpect mining
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
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
Pro Jakarta Tomcat 5
Aspect Oriented Refactoring
Automated Refactoring of Object Oriented Code into Aspects
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Design Pattern Mining Enhanced by Machine Learning
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Crosscutting Concerns in J2EE Applications
WSE '05 Proceedings of the Seventh IEEE International Symposium on Web Site Evolution
On the Use of Clone Detection for Identifying Crosscutting Concern Code
IEEE Transactions on Software Engineering
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Timna: a framework for automatically combining aspect mining analyses
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
3D visualization for concept location in source code
Proceedings of the 28th international conference on Software engineering
Applying and combining three different aspect Mining Techniques
Software Quality Control
Mining Aspects from Version History
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
A common framework for aspect mining based on crosscutting concern sorts
WCRE '06 Proceedings of the 13th Working Conference on Reverse Engineering
Mining Control Flow Graphs for Crosscutting Concerns
WCRE '06 Proceedings of the 13th Working Conference on Reverse Engineering
Software Structure Metrics Based on Information Flow
IEEE Transactions on Software Engineering
Proceedings of the 6th international conference on Aspect-oriented software development
Mining and classification of diverse crosscutting concerns
Proceedings of the 2008 AOSD workshop on Linking aspect technology and evolution
Sort-based refactoring of crosscutting concerns to aspects
Proceedings of the 2008 AOSD workshop on Linking aspect technology and evolution
An integrated crosscutting concern migration strategy and its semi-automated application to JHotDraw
Automated Software Engineering
Automated Aspect Recommendation through Clustering-Based Fan-in Analysis
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Identifying crosscutting concerns using historical code changes
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Identifying cross-cutting concerns using software repository mining
Proceedings of the Joint ERCIM Workshop on Software Evolution (EVOL) and International Workshop on Principles of Software Evolution (IWPSE)
Achievements and challenges in software reverse engineering
Communications of the ACM
Aspect recommendation for evolving software
Proceedings of the 33rd International Conference on Software Engineering
Building an expert system to assist system refactorization
Expert Systems with Applications: An International Journal
Construction and analysis of vector space models for use in aspect mining
Proceedings of the 50th Annual Southeast Regional Conference
Code patterns for automatically validating requirements-to-code traces
Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
Detection of seed methods for quantification of feature confinement
TOOLS'12 Proceedings of the 50th international conference on Objects, Models, Components, Patterns
Empirical Software Engineering
Toward automated refactoring of crosscutting concerns into aspects
Journal of Systems and Software
Test-based SPL extraction: an exploratory study
Proceedings of the 28th Annual ACM Symposium on Applied Computing
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.02 |
Aspect mining is a reverse engineering process that aims at finding crosscutting concerns in existing systems. This article proposes an aspect mining approach based on determining methods that are called from many different places, and hence have a high fan-in, which can be seen as a symptom of crosscutting functionality. The approach is semiautomatic, and consists of three steps: metric calculation, method filtering, and call site analysis. Carrying out these steps is an interactive process supported by an Eclipse plug-in called FINT. Fan-in analysis has been applied to three open source Java systems, totaling around 200,000 lines of code. The most interesting concerns identified are discussed in detail, which includes several concerns not previously discussed in the aspect-oriented literature. The results show that a significant number of crosscutting concerns can be recognized using fan-in analysis, and each of the three steps can be supported by tools.