Testing aspect-oriented programs with UML design models

被引:7
|
作者
Xu, Dianxiang [1 ]
Xu, Weifeng [1 ]
Wong, W. Eric [2 ]
机构
[1] N Dakota State Univ, Dept Comp Sci, Fargo, ND 58105 USA
[2] Univ Texas Dallas, Dept Comp Sci, Richardson, TX 75803 USA
关键词
software testing; model-based testing; aspect-oriented modeling; aspect-oriented programming; UML; test generation;
D O I
10.1142/S0218194008003672
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
The new construct in aspect-oriented programming bring new types of programming faults with respect to crosscutting concerns, such as incorrect point cuts and advice. This paper presents a UML-based approach to testing whether or not an aspect-oriented program conforms to its expected crosscutting behavior. We explore aspect-oriented UML design models to derive tests for exercising interactions between aspects and classes. Each aspect-oriented model consists of class diagrams, aspect diagrams, and sequence diagrams. For a method under test, we weave the sequence diagrams of the advice on the method into the method's sequencediagram. Based on the woven sequence diagram and class/aspect diagrams, we then generate an AOF (Aspect-Object Flow) tree by applying coverage criteria such as condition coverage, polymorphic coverage, and loop coverage to woven sequence diagrams. In the AOF tree, each path from the root to a leaf is an abstract message sequence, indicating a template of test cases. A concrete test case is obtained by creating objects that satisfy the collective constraints in the template. Our empirical study shows that the model-based testing approach is capable of revealing several types of aspect-specific faults, including incorrect advice type, incorrect (weaker or stronger) point cut strengths, and incorrect aspect precedence.
引用
收藏
页码:413 / 437
页数:25
相关论文
共 50 条
  • [31] Aspect-oriented software design models - Guest editors' introduction
    Wong, W. Eric
    Cooper, Kendra
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2006, 16 (03) : 315 - 316
  • [32] A compilation and optimization model for aspect-oriented programs
    Masuhara, H
    Kiczales, G
    Dutchyn, C
    COMPILER CONSTRUCTION, PROCEEDINGS, 2003, 2622 : 46 - 60
  • [33] A Structural Testing Approach for Aspect-Oriented Programs Based on Data and Control Flow
    Xiong, Liping
    Li, Junyi
    PROCEEDINGS OF 2013 IEEE 4TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND SERVICE SCIENCE (ICSESS), 2012, : 85 - 88
  • [34] On identifying bug patterns in aspect-oriented programs
    Zhang, Sai
    Zhao, Jianjun
    COMPSAC 2007: THE THIRTY-FIRST ANNUAL INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE, VOL I, PROCEEDINGS, 2007, : 431 - +
  • [35] Interaction analysis in aspect-oriented models
    Mehner, Katharina
    Monga, Mattia
    Taentzer, Gabriele
    RE'06: 14TH IEEE INTERNATIONAL REQUIREMENTS ENGINEERING CONFERENCE, PROCEEDINGS, 2006, : 69 - +
  • [36] UML-AOF: A Profile for Modeling Aspect-Oriented Frameworks
    Uetanabara Junior, Jose
    de Camargo, Valter Vieira
    Von Flach, Christina
    AOM'09: ASPECT-ORIENTED MODELING, 2009, : 1 - 5
  • [37] Aspect-Oriented Modeling in Software Architecture Pattern Based on UML
    Li, Hui
    Zhang, Jingjun
    Chen, Yuejuan
    2010 2ND INTERNATIONAL CONFERENCE ON COMPUTER AND AUTOMATION ENGINEERING (ICCAE 2010), VOL 3, 2010, : 575 - 578
  • [38] Aspect-Oriented Modeling for Representing and Integrating Security Concerns in UML
    Mouheb, D.
    Talhi, C.
    Nouh, M.
    Lima, V.
    Debbabi, M.
    Wang, L.
    Pourzandi, M.
    SOFTWARE ENGINEERING RESEARCH, MANAGEMENT AND APPLICATIONS 2010, 2010, 296 : 197 - +
  • [39] A Platform-Independent UML Profile for Aspect-Oriented Development
    Evermann, Joerg
    Fiech, Adrian
    Alam, Farhana Eva
    PROCEEDINGS OF THE FOURTH INTERNATIONAL C* CONFERENCE ON COMPUTER SCIENCE AND SOFTWARE ENGINEERING 2011 (C3S2E '11), 2011, : 25 - 34
  • [40] Modular Aspect-Oriented Design with XPIs
    Sullivan, Kevin
    Griswold, William G.
    Rajan, Hridesh
    Song, Yuanyuan
    Cai, Yuanfang
    Shonle, Macneil
    Tewari, Nishit
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2010, 20 (02)