Evaluating different strategies for integration testing of aspect-oriented programs

被引:1
作者
Assunção, Wesley Klewerton Guez [1 ]
Colanzi, Thelma Elita [2 ]
Vergilio, Silvia Regina [1 ]
Ramirez Pozo, Aurora Trinidad [1 ]
机构
[1] Computer Science Department, Federal University of Paraná (UFPR), Paraná
[2] Computer Science Department, State University of Maringá (UEM), Paraná
关键词
Aspect-oriented software; Evolutionary algorithms; Integration testing strategies;
D O I
10.1186/1678-4804-20-9
中图分类号
学科分类号
摘要
Background: The determination of an order for integration and testing of aspects and classes is a difficult optimization problem. This order should be associated to a minimal possible stubbing cost. To determine such order, different approaches exist. For example, traditional approaches are based on Tarjan’s algorithm; search-based approaches are based on metaheuristics, usually genetic algorithms (GA). In addition to such approaches, in the literature, there are different strategies to integrate aspect-oriented software. Some works suggest the integration of aspects and classes in a combined way. Other ones adopt an incremental strategy. Studies evaluating the approaches show that the multi-objective one presents better solutions. However, these studies were conducted applying only the combined strategy. Methods: In this paper, we present experimental results comparing both strategies with three different approaches: the traditional one, a simple GA-based, and a multi-objective one. Results: The results show better performance of the multi-objective approach independently of the strategy adopted. A comparison of both strategies points out that the incremental strategy reaches a lower cost in most cases, considering a number of attributes and operations to be emulated in the stub. Conclusion: It seems that with Incremental+, the best choice is the multi-objective approach. If the system is very complex, PAES seems to be the best MOEA. © 2014, Assunção et al.; licensee Springer.
引用
收藏
页码:1 / 17
页数:16
相关论文
共 37 条
  • [1] Alexander R.T., Bieman J.M., Andrews A.A., Towards the systematic testing of aspect-oriented programs, (2004)
  • [2] Ceccato M., Tonella P., Ricca F., Is AOP code easier or harder to test than OOP code?, First Workshop on Testing Aspect-Oriented Program (WTAOP), (2005)
  • [3] Lemos O.A.L., Franchin I.G., Masiero P.C., Integration testing of object-oriented and aspect-oriented programs a structural pairwise approach for java, Sci Comput Program, 74, 10, pp. 861-878, (2009)
  • [4] Zhao J., Data-flow-based unit testing of aspect-oriented programs, 27th Annual International Conference on Computer Software and Applications (COMPSAC), (2003)
  • [5] Zhou Y., Ziv H., Richardson D.J., Towards a practical approach to test aspect-oriented software, Beydeda S, Gruhn V, Mayer J, Reussner R, Schweiggert, F (eds) Proceedings of the workshop on testing component-based systems (TECOS 2004), (2004)
  • [6] Massicotte P., Badri M., Badri L., Aspects-classes integration testing strategy: an incremental approach, 2nd International Workshop on Rapid Integration of Software Engineering techniques (RISE 2005) Heraklion, Crete, Greece, 8-9 September 2005. Lectures notes in computer science, vol 3943, pp. 158-173, (2005)
  • [7] Re R., Masiero P.C., Integration testing of aspect-oriented programs: a characterization study to evaluate how to minimize the number of stubs, Brazilian Symposium on Software Engineering (SBES), João Pessoa, PB, Brazil, 15-19 October 2007, pp. 411-426, (2007)
  • [8] Re R., Lemos O.A.L., Masiero P.C., Minimizing stub creation during integration test of aspect-oriented programs, 3rd Workshop on Testing Aspect-Oriented Program (WTAOP), (2007)
  • [9] Melton H., Tempero E., An empirical study of cycles among classes in Java, Empir Softw Eng, 12, pp. 389-415, (2007)
  • [10] Galvan R., Pozo A., Vergilio S., Establishing integration test orders for aspect-oriented programs with an evolutionary strategy, 4th Latin American Workshop on Aspect-Oriented Software Development (LA-WASP), (2010)