[aosd-discuss] Automated aspects recognition
Marc Eaddy
me133 at columbia.edu
Wed Jul 11 14:09:24 EDT 2007
Hi Alex,
An "aspect" is a physical module that modularizes a crosscutting
concern. Base code contains crosscutting concerns not aspects. So, perhaps
what you're interested in is identifying crosscutting concerns in the base
code that are good candidates for refactoring into aspects.
Identification of crosscutting concerns can be done in many ways.
Execution slices/software reconnaissance execute unit tests for individual
concerns (e.g., feature tests) and use the execution traces to associate
concerns with program elements:
A. D. Eisenberg, K. De Volder, "Dynamic Feature Traces: Finding Features in
Unfamiliar Code," ICSW 2005.
T. Eisenbarth, R. Koschke, D. Simon, "Locating features in source code,"
TSE, March 2003.
Some researchers have used information retrieval (IR) techniques to
associate program elements with concerns taken from software requirements
documents:
G. Antoniol, G. Canfora, G. Casazza, A. D. Lucia, E. Merlo, "Recovering
Traceability Links between Code and Documentation," TSE, October 2002.
Some researchers combine techniques:
IR + Execution Slices:
D. Poshyvanyk, Y.-G. Gueheneuc, A. Marcus, G. Antoniol, V. Rajlich, "Feature
Location Using Probabilistic Ranking of Methods Based on Execution Scenarios
and Information Retrieval," TSE, June 2007.
IR + Program Dependency Analysis:
W. Zhao, L. Zhang, Y. Liu, J. Sun, F. Yang, "SNIAFL: Towards a Static
Non-Interactive Approach to Feature Location," TOSEM, April 2006.
Aspect mining/refactoring is just a rebranding of the above
techniques in the context of AOP:
M. Ceccato, M. Marin, K. Mens, L. Moonen, P. Tonella, T. Tourwe, "Applying
and Combining Three Different Aspect Mining Techniques," Software Quality,
14(3):2006.
Perhaps less relevant to your research, others (including myself)
have tried associating concerns to program elements by hand:
M. Eaddy, A. Aho, G. Murphy, "Identify, Assigning, and Quantifying
Crosscutting Concerns," ACOM 2007.
M. Revelle, T. Broadbent, D. Coppit, "Understanding Concerns in Software:
Insights Gained from Two Case Studies," IWPC 2005.
A. Lai, G. C. Murphy, "The Structure of Features in Java Code: An
Exploratory Investigation," MDSOC 1999.
L. Carver and W. G. Griswold, "Sorting out Concerns," MDSOC 1999.
I hope this is useful. Good luck!
Cheers,
Marc Eaddy
PhD Student
Columbia University
www.columbia.edu/~me133
> -----Original Message-----
> From: Alexander Kolev [mailto:kolev_alexander at abv.bg]
> Sent: Wednesday, July 11, 2007 8:56 AM
> To: discuss at aosd.net
> Subject: [aosd-discuss] Automated aspects recognition
>
> Hi guys,
>
> I am starting a research in the field of automated recognition of
> aspects in base system's code. Any materials on static code analysis or
> links to any current research on the topic would be greatly
> appreciated!
>
> Thanks in advance.
>
> Cheers,
> Alex
>
> -----------------------------------------------------------------
> С бензин в кръвта!
> http://auto-motor-und-sport.bg/
>
More information about the discuss
mailing list