A Test-Driven Approach to Developing Pointcut Descriptors in AspectJ

被引:13
|
作者
Delamare, Romain [1 ]
Baudry, Benoit [1 ]
Ghosh, Sudipto [2 ]
Le Traon, Yves [3 ]
机构
[1] IRISA INRIA Rennes, Rennes, France
[2] Colorado State Univ, Colorado Springs, CO USA
[3] T Telecom Bretagn, Plouzane, France
关键词
Aspect-oriented programming; joinpoints; pointcut descriptors; mutation analysis; test-driven development; testing tool;
D O I
10.1109/ICST.2009.41
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Aspect-oriented programming (AOP) languages introduce new constructs that can lead to new types of faults, which must be targeted by testing techniques. In particular AOP languages such as AspectJ use a point-cut descriptor (PCD) that provides a convenient way to declaratively specify a set of joinpoints in the protogram where the aspect should be woven. However a major difficulty when testing that the PCD matches the intended set of joinpoints is the lack of precise specification for this set other than the PCD itself. In this paper we propose a test-driven approach for the development and validation of the PCD. We developed a tool, AdviceTracer which enriches the JUnit API with new types of assertions that can be used to specify the expected joinpoints. In order to validate our approach, we also developed a mutation tool that systematically injects faults into PCDs. Using these two tools, we perform experiments to validate that our approach can be applied for specifying expected joinpoints and for detecting faults in the PCD.
引用
收藏
页码:376 / +
页数:2
相关论文
共 50 条
  • [31] Understanding the Dynamics of Test-Driven Development
    Fucci, Davide
    36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE COMPANION 2014), 2014, : 690 - 693
  • [32] Test-driven development of relational databases
    Ambler, Scott W.
    IEEE SOFTWARE, 2007, 24 (03) : 37 - +
  • [33] "Sighted" wheelchair successfully test-driven
    不详
    PHOTONICS SPECTRA, 2011, 45 (06) : 25 - 25
  • [34] Test-Driven Roles for Pair Programming
    Goldman, Max
    Miller, Robert C.
    2010 ICSE WORKSHOP ON COOPERATIVE AND HUMAN ASPECTS OF SOFTWARE ENGINEERING (CHASE 2010), 2010, : 13 - 20
  • [35] Assessing test-driven development at IBM
    Maximilien, EM
    Williams, L
    25TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2003, : 564 - 569
  • [36] Test-Driven Ethics for Machine Learning
    Berente, Nicholas
    Kormylo, Cameron
    Rosenkranz, Christoph
    COMMUNICATIONS OF THE ACM, 2024, 67 (05) : 45 - 47
  • [37] A family of experiments on test-driven development
    Santos, Adrian
    Vegas, Sira
    Dieste, Oscar
    Uyaguari, Fernando
    Tosun, Ayse
    Fucci, Davide
    Turhan, Burak
    Scanniello, Giuseppe
    Romano, Simone
    Karac, Itir
    Kuhrmann, Marco
    Mandic, Vladimir
    Ramac, Robert
    Pfahl, Dietmar
    Engblom, Christian
    Kyykka, Jarno
    Rungi, Kerli
    Palomeque, Carolina
    Spisak, Jaroslav
    Oivo, Markku
    Juristo, Natalia
    EMPIRICAL SOFTWARE ENGINEERING, 2021, 26 (03)
  • [38] Test-Driven Development for Parallel Applications
    Burris, John W.
    2017 SECOND INTERNATIONAL CONFERENCE ON INFORMATION SYSTEMS ENGINEERING (ICISE), 2017, : 27 - 31
  • [39] Test-driven development of a PID controller
    Dohmke, Thomas
    Gollee, Henrik
    IEEE SOFTWARE, 2007, 24 (03) : 44 - +
  • [40] Test-driven Anonymization for Artificial Intelligence
    Augusto, Cristian
    Moran, Jesus
    de la Riva, Claudio
    Tuya, Javier
    2019 IEEE INTERNATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE TESTING (AITEST), 2019, : 103 - 110