1: \begin{thebibliography}{10}
2:
3: \bibitem{ABA04}
4: R.~Alexander, J.M. Bieman, and A.~A. Andrews.
5: \newblock Towards the systematic testing of aspect-oriented programs.
6: \newblock Technical Report CS-4-105, Colorado State University, 2004.
7:
8: \bibitem{AspectJPG}
9: The {AspectJ Team}.
10: \newblock {\em The {AspectJ} Programming Guide}.
11: \newblock Palo Alto Research Center, 2003.
12: \newblock Version 1.2.
13:
14: \bibitem{BG98}
15: K.~Beck and E.~Gamma.
16: \newblock Test infected: Programmers love writing tests.
17: \newblock {\em Java Report}, 3(7):51--56, 1998.
18: \newblock \url{www.junit.org}.
19:
20: \bibitem{Binder:2000}
21: R.~V. Binder.
22: \newblock {\em Testing Object-Oriented Systems: Models, Patterns, and Tools}.
23: \newblock Addison-Wesley, 2000.
24:
25: \bibitem{BYCF04}
26: S.~Bray, M.~Yuen, Y.~Coady, and M.~E. Fiuczynski.
27: \newblock Managing variability in systems: {Oh} what a tangled {OS} we weave.
28: \newblock In D.~Beuche, K.~Czarnecki, M.~Mezini, C.~Schwanninger, and
29: M.~Voelter, editors, {\em Managing Variabilities Consistently in Design and
30: Code (MVCDC OOPSLA04)}, 2004.
31:
32: \bibitem{BDET04}
33: M.~Bruntink, A.~van Deursen, R.~van Engelen, and T.~Tourw\'{e}.
34: \newblock An evaluation of clone detection techniques for identifying
35: cross-cutting concerns.
36: \newblock In {\em Proc. of Int. Conf. on Software Maintenance (ICSM 2004)}.
37: IEEE CS, 2004.
38:
39: \bibitem{CL03}
40: C.~Clifton and G.~Leavens.
41: \newblock Obliviousness, modular reasoning, and the behavioral subtyping
42: analogy.
43: \newblock In {\em Workshop on Software-Engineering Properties of Languages for
44: Aspect Technologies (SPLAT'03)}, 2003.
45: \newblock \url{http://www.daimi.au.dk/~eernst/splat03/}.
46:
47: \bibitem{CK03}
48: Y.~Coady and G.~Kiczales.
49: \newblock Back to the future: {A} retroactive study of aspect evolution in
50: operating system code.
51: \newblock In Mehmet {Ak{\c s}it}, editor, {\em Proc. of 2nd Int. Conf. on
52: Aspect-Oriented Software Development (AOSD)}, pages 50--59. ACM Press, March
53: 2003.
54:
55: \bibitem{CKFS01}
56: Y.~Coady, G.~Kiczales, M.~Feeley, and G.~Smolyn.
57: \newblock Using {AspectC} to improve the modularity of path-specific
58: customization in operating system code.
59: \newblock In {\em Proc. of 8th European Softw. Eng. Conf. (ESEC/FSE)}, pages
60: 88--98. ACM Press, 2001.
61:
62: \bibitem{Deu01.xpu}
63: A.~van Deursen.
64: \newblock Program comprehension risks and benefits in extreme programming.
65: \newblock In E.~Burd, P.~Aiken, and R.~Koschke, editors, {\em Proc. 8th Working
66: Conf. on Reverse Engineering (WCRE 2001)}, pages 176--185. IEEE CS Press,
67: 2001.
68:
69: \bibitem{DM2002.VSR}
70: {A. van} Deursen and L.~Moonen.
71: \newblock The video store revisited - thoughts on refactoring and testing.
72: \newblock In M.~Marchesi and G.~Succi, editors, {\em Proc. of 3nd Int. Conf. on
73: Extreme Programming and Flexible Processes in Software Engineering (XP2002)},
74: pages 71--76. University of Cagliari, May 2002.
75:
76: \bibitem{discuss-aop01}
77: T.~Elrad, M.~Aksit, G.~Kiczales, K.~Lieberherr, and H.~Ossher.
78: \newblock Discussing aspects of {AOP}.
79: \newblock {\em Communcations of the ACM}, 44(10):33--38, 2001.
80:
81: \bibitem{EttinVerb04}
82: R.~Ettinger and M.~Verbaere.
83: \newblock Untangling: A slice extraction refactoring.
84: \newblock In {\em Proc. of 3rd Int. Conf. on Aspect-Oriented Software
85: Development}. ACM Press, 2004.
86:
87: \bibitem{fowler1999}
88: M.~Fowler.
89: \newblock {\em Refactoring: Improving the Design of Existing Code}.
90: \newblock Addison Wesley, 1999.
91:
92: \bibitem{Gamma1994}
93: E.~Gamma, R.~Helm, R.~Johnson, and J.~Vlissides.
94: \newblock {\em Design Patterns: Elements of Reusable Object-Oriented Software}.
95: \newblock Addison-Wesley, 1994.
96:
97: \bibitem{maj2003}
98: J.~D. Gradecki and N.~Lesiecki.
99: \newblock {\em Mastering AspectJ - Aspect Oriented Programmingin Java}.
100: \newblock Wiley Publishing, Inc., 2003.
101:
102: \bibitem{Han2003}
103: S.~Hanenberg, C.~Oberschulte, and R.~Unland.
104: \newblock Refactoring of aspect-oriented software.
105: \newblock In {\em Proc. of Net.ObjectDays Conference}, pages 19--35.
106: Springer-Verlag, 2003.
107:
108: \bibitem{murphyrefact03}
109: J.~Hannemann, T.~Fritz, and G.~C. Murphy.
110: \newblock Refactoring to aspects: an interactive approach.
111: \newblock In {\em Proc. of 2003 OOPSLA Workshop on Eclipse technology
112: eXchange}, pages 74--78. ACM Press, 2003.
113:
114: \bibitem{DPAOP02}
115: J.~Hannemann and G.~Kiczales.
116: \newblock Design pattern implementation in {Java} and {AspectJ}.
117: \newblock In {\em Proc. of 17th Annual ACM conf. on Object-Oriented
118: Programming, Systems, Languages, and Applications (OOPSLA)}, pages 161--173.
119: ACM Press, 2002.
120:
121: \bibitem{ZhaoRefact03}
122: M.~Iwamoto and J.~Zhao.
123: \newblock Refactoring aspect-oriented programs.
124: \newblock In {\em Proc. of 4th AOSD Modeling With UML Workshop, UML'2003, San
125: Francisco, California, USA}, 2003.
126:
127: \bibitem{Ker04}
128: J.~Kerievsky.
129: \newblock {\em Refactoring to Patterns}.
130: \newblock Addison-Wesley, 2004.
131:
132: \bibitem{laddad2003:refactoring}
133: R.~Laddad.
134: \newblock Aspect-oriented refactoring.
135: \newblock \url{www.theserverside.com}, December 2003.
136:
137: \bibitem{laddad2003}
138: R.~Laddad.
139: \newblock {\em AspectJ in Action - Practical Aspect Oriented Programming}.
140: \newblock Manning, 2003.
141:
142: \bibitem{leh80a}
143: M.~M. Lehman.
144: \newblock On understanding laws, evolution and conservation in the large
145: program life cycle.
146: \newblock {\em Journal of Systems and Software}, 1(3):213--221, 1980.
147:
148: \bibitem{Leh80b}
149: M.~M. Lehman.
150: \newblock Programs, life cycles and laws of software evolution.
151: \newblock {\em Proceedings of the IEEE}, 68(9):1060--1076, September 1980.
152: \newblock Special Issue on Software Engineering.
153:
154: \bibitem{LPR98}
155: M.~M. Lehman, D.~E. Perry, and J.~F. Ramil.
156: \newblock Implications of evolution metrics on software maintenance.
157: \newblock In T.~M. Koshgoftaar and K.~Bennett, editors, {\em Proc. of Int.
158: Conf. on Softw. Maintenance (ICSM 1998)}, pages 208--217. IEEE CS Press,
159: 1998.
160:
161: \bibitem{LW94}
162: B.~Liskov and J.~M. Wing.
163: \newblock A behavioral notion of subtyping.
164: \newblock {\em ACM Trans. Program. Lang. Syst.}, 16(6):1811--1841, 1994.
165:
166: \bibitem{UndoWare04}
167: M.~Marin.
168: \newblock Refactoring {JHotDraw's} {U}ndo concern to {AspectJ}.
169: \newblock In {\em Proc. of First Workshop on Aspect Reverse Engineering
170: (WARE).} Delft University of Technology, 2004.
171:
172: \bibitem{FanIn04}
173: M.~Marin, A.~van Deursen, and L.~Moonen.
174: \newblock Identifying aspects using fan-in analysis.
175: \newblock In {\em Proc. of 11th Working Conf. on Reverse Engineering
176: (WCRE2004).} IEEE CS, 2004.
177:
178: \bibitem{Mey97}
179: B.~Meyer.
180: \newblock {\em Object-Oriented Software Construction}.
181: \newblock Prentice-Hall, 2nd edition, 1997.
182:
183: \bibitem{MPM04}
184: M.P. Monteiro.
185: \newblock Catalogue of refactorings for {AspectJ}.
186: \newblock Technical Report UM-DI-GECSD-200401, Universidade do Minho, 2004.
187:
188: \bibitem{Monteiro03}
189: M.P. Monteiro and J.M. Fernandes.
190: \newblock Object-to-aspect refactorings for feature extraction.
191: \newblock In {\em Proc. of 3rd Int. Conf. on Aspect-Oriented Software
192: Development}. ACM Press, 2004.
193: \newblock Industry paper.
194:
195: \bibitem{parnas-icse94}
196: D.~L. Parnas.
197: \newblock Software aging.
198: \newblock In {\em Proc. of 16th Int. Conf. on Softw. Eng. (ICSE)}, pages
199: 279--287. IEEE CS Press, 1994.
200:
201: \bibitem{RSB04}
202: M.~C. Rinard, A.~Salcianu, and S.~Bugrara.
203: \newblock A classification system and analysis for aspect-oriented programs.
204: \newblock In {\em Proc. of 12th ACM SIGSOFT Int. Symp. on Foundations of
205: Software Engineering (FSE)}, pages 147--158. ACM Press, 2004.
206:
207: \bibitem{rountev:2004}
208: A.~Rountev, A.~Milanova, and B.~G. Ryder.
209: \newblock Fragment class analysis for testing of polymorphism in {J}ava
210: software.
211: \newblock {\em IEEE Trans. Softw. Eng.}, 30(6):372--387, 2004.
212:
213: \bibitem{TonCec04}
214: P.~Tonella and M.~Ceccato.
215: \newblock Migrating interface implementation to aspect oriented programming.
216: \newblock In {\em Proc. of Int. Conf. on Softw. Maintenance (ICSM 2004)}. IEEE
217: CS Press, 2004.
218:
219: \bibitem{modelcheck02}
220: N.~Ubayashi and T.~Tamai.
221: \newblock Aspect-oriented programming with model checking.
222: \newblock In {\em Proc. of 1st Int. Conf. on Aspect-oriented software
223: development (AOSD)}, pages 148--154. ACM Press, 2002.
224:
225: \bibitem{Weyuker:1988}
226: E.~Weyuker.
227: \newblock The evaluation of program-based software test data adequacy criteria.
228: \newblock {\em Communications of the ACM}, 31(6):668--675, June 1988.
229:
230: \bibitem{ZhaoDFUT}
231: J.~Zhao.
232: \newblock Data-flow-based unit testing of aspect-oriented programs.
233: \newblock In {\em Proc. of the 27th Annual IEEE Int. Computer Software and
234: Applications Conference (COMPSAC)}, pages 188--197. IEEE CS, 2003.
235:
236: \end{thebibliography}
237: