[aosd-discuss] How to define Scattering?
Marc Eaddy
me133 at columbia.edu
Mon Feb 11 17:15:12 EST 2008
Hi Dipankar,
Great question! "Scattering" means that a concern is implemented by
more than one program element. However, this all depends on how you define
"concern," "implemented," and "program element." If you define a program
element as the entire program A, no concerns are scattered. If you define a
program element as the individual tokens of program A, most concerns are
scattered. A concern may be scattered in program A and not in program B.
Scattering also depends on the granularity of the concern. For
example, a feature concern such as "Draw shapes" is at a higher level of
granularity than "Draw circles." In general, scattering is proportional to
concern granularity level and inversely proportional to program element
granularity level.
Probably most troublesome is that "implements" is not an easy
relationship to decide. What does it mean to say a piece of code implements
a concern? Does the Main function implement every concern? (If so, every
concern is scattered.) Determining the relationship between concerns and
code is called the concept assignment problem. It is undecidable in
general.
Several researchers have created metrics to measure scattering:
F. C. Filho, N. Cacho, E. Figueiredo, R. Maranhao, A. Garcia, and C. M. F.
Rubira, "Exceptions and Aspects: The Devil is in the Details," Foundations
of Software Engineering (FSE), 2006.
M. Eaddy, T. Zimmermann, K.D. Sherwood, V. Garg, G.C. Murphy, N. Nagappan,
and A. Aho, "Do Crosscutting Concerns Cause Defects?," in submission,
September 2007.
http://www.cs.columbia.edu/~eaddy/publications/DoCrosscuttingConcernsCauseDe
fects-JournalSubmission.pdf
Cheers,
Marc Eaddy
PhD Student
Columbia University
http://www.columbia.edu/~me133
> -----Original Message-----
> From: Dipankar Majumdar [mailto:mdipankar at aim.com]
> Sent: Sunday, February 10, 2008 11:15 PM
> To: discuss at aosd.net
> Subject: [aosd-discuss] How to define Scattering?
>
> Hi All,
> I am working on Aspect Mining at Jadavpur University, India. It is well
> known that 'Scattering' is one of the principal characteristics of any
> Aspect. Can you please let me know, what is the formal definition of
> Scattering? Or in other words what are the symptoms that we look for,
> in order to tell whether a particular 'block of code' is scattered?
>
> Regards
>
>
> Dipankar Majumdar
> Dept. of Information Tech.
> B.P. Poddar Instt of Mgmt & Tech.
> Kolkata - 700052
> India
> ________________________________
>
> More new features than ever. Check out the new AIM(R) Mail
> <http://o.aolcdn.com/cdn.webmail.aol.com/mailtour/aol/en-
> us/text.htm?ncid=aimcmp00050000000001> !
More information about the discuss
mailing list