Avaliação da abordagem incremental no teste de integração de programas orientados a aspectos
Resumo
Um estudo sobre a ordenação de classes e aspectos para minimização de stubs em teste de integração é apresentado. Um modelo de tipos de dependência entre classes e aspectos é definido a partir das construções sintáticas e da semântica do AspectJ. A estratégia de Briand et al. [2003] é usada em dois casos de integração: a integração incremental, que ordena classes e aspectos separadamente e é freqüentemente indicada na literatura como a mais adequada; e uma abordagem de integração conjunta. Os resultados da avaliação entre a abordagem incremental e a abordagem conjunta são discutidos, mostrando que em alguns casos uma estratégia mais refinada de integração é mais adequada.
Referências
Alexander, R. T. e Bieman, J. M. (2005). Towards the systematic testing of aspectoriented programs. In Fourth International Conference on Aspect-Oriented Software Development (AOSD'2005) - Workshop On Testing Aspect Oriented Programs, Chicago, Illinois - USA.
Baniassad, E. L. A. e Clarke, S. (2004). Theme: An approach for aspect-oriented analysis and design. In ICSE, pages 158-167. IEEE Computer Society.
Beizer, B. (1990). Software Testing Techniques. Van Nostrand Reinhold, second edition.
Briand, L. C., Labiche, Y., e Wang, Y. (2003). An investigation of graph-based class integration test order strategies. IEEE Transactions on Software Engineering, 29(7):594-607.
Ceccato, M., Tonella, P., e Ricca, F. (2005). Is aop code easier or harder to test than OOP code? In Fourth International Conference on Aspect-Oriented Software Development (AOSD'2005) - Workshop On Testing Aspect Oriented Programs, Chicago, Illinois - USA.
Colyer, A., Rashid, A., e Blair, G. (2004). On the separation of concerns in program families. Technical Report COMP-001-2004, Lancaster University.
Douence, R., Fradet, P., e Südholt, M. (2004). Composition, reuse and interaction analysis of stateful aspects. In Murphy, G. C. e Lieberherr, K. J., editors, Fourth International Conference on Aspect-Oriented Software Development (AOSD'2005) - Workshop On Testing Aspect Oriented Programs, pages 141-150. ACM.
Filman, R. E. e Friedman, D. P. (2000). Aspect-oriented programming is quantification and obliviousness. In Tarr, P., Bergmans, L., Griss, M., e Ossher, H., editors, Workshop on Advanced Separation of Concerns (OOPSLA 2000).
Gradecki, J. D., Lesiecki, N., e Gradecki, J. (2003). Mastering AspectJ: AspectOriented Programming in Java. John Wiley & Sons, Inc.
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., e Griswold, W. G. (2001). An overview of AspectJ. In Knudsen [2001], pages 327-353.
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C. V., Loingtier, J., e Irwin, J. (1997). Aspect-oriented programming. In ECOOP, pages 220-242.
Kienzle, J. e Guerraoui, R. (2002). Aop: Does it make sense? the case of concurrency and failures. In Magnusson, B., editor, ECOOP, volume 2374 of Lecture Notes in Computer Science, pages 37-61. Springer.
Kienzle, J., Yu, Y., e Xiong, J. (2003). On composition and reuse of aspects. In Leavens, G. T. e Clifton, C., editors, FOAL: Foundations of Aspect-Oriented Languages.
Knudsen, J. L., editor (2001). ECOOP 2001 - Object-Oriented Programming, 15th European Conference, Budapest, Hungary, June 18-22, 2001, Proceedings, volume 2072 of Lecture Notes in Computer Science. Springer.
Kung, D. C., Gao, J., Hsia, P., Lin, J., e Toyoshima, Y. (1995). Class firewal, test order and regression testing of object-oriented programs. Journal of ObjectOriented Program, 8(2):51-65.
Le Hanh, V., Akif, K., Traon, Y. L., e Jézéquel, J.-M. (2001). Selecting an efficient OO integration testing strategy: An experimental comparison of actual strategies. In Knudsen [2001], pages 381-401.
Le Traon, Y., Jéron, T., Jézéquel, J., e Morel, P. (2000). Efficient OO integration and regression testing. IEEE Transactions on Reliability, 49(1):12-25.
Milanova, A., Rountev, A., e Ryder, B. G. (2002). Constructing precise object relation diagrams. In ICSM, pages 586-595. IEEE Computer Society.
Mortensen, M. e Alexander, R. T. (2005). Adequate testing of aspect-oriented programs. In Fourth International Conference on Aspect-Oriented Software Development (AOSD'2005) - Workshop On Testing Aspect Oriented Programs, Chicago, Illinois - USA.
Rashid, A. e Chitchyan, R. (2003). Persistence as an aspect. In AOSD '03: Proceedings of the 2nd international conference on Aspect-oriented software development, pages 120-129, New York, NY, USA. ACM Press.
Stein, D., Hanenberg, S., e Unland, R. (2002). A UML-based aspect-oriented design notation for aspectj. In AOSD, pages 106-112.
Störzer, M. e Krinke, J. (2003). Interference analysis for Aspectj.
Tai, K.-C. e Daniels, F. J. (1999). Interclass test order for object-oriented software. Journal of Object-Oriented Programming, 12(4):18-25,35.
Tarjan, R. E. (1972). Depth-first search and linear graph algorithms. SIAM J. Comput., 1(2):146-160. The AspectJ Team (2002).
The AspectJ programming guide. Xerox Croporation.
Thompson, S. G. e Odgers, B. (1999). Aspect-oriented process engineering. In Moreira, A. M. D. e Demeyer, S., editors, ECOOP Workshops, volume 1743 of Lecture Notes in Computer Science, page 295. Springer.
Vanhaute, B., Win, B. D., e Decker, B. D. (2001). Building frameworks with aspectj. In Workshop on Advanced Separation of Concerns (L. Bergmans, M. Glandrup. J. Brichau and S. Clarke, eds.), pages 1-6.
Zhou, Y., Richardson, D., e Ziv, H. (2004). Towards a practical approach to test aspect-oriented software. In Testing Component-based Systems - TECOS 2004, Erfurt - Germany.