• DocumentCode
    1958525
  • Title

    ACRE: An Automated Aspect Creator for Testing C++ Applications

  • Author

    Duclos, E. ; Le Digabel, S. ; Gueheneuc, Y. ; Adams, Bram

  • Author_Institution
    Dept. of Comput. & Software Eng., Ecole Polytech. de Montreal, Montreal, QC, Canada
  • fYear
    2013
  • fDate
    5-8 March 2013
  • Firstpage
    121
  • Lastpage
    130
  • Abstract
    We present ACRE, an Automated aspect creator, to use aspect-oriented programming (AOP) to perform memory, invariant and interferences testing for software programs written in C++. ACRE allows developers without knowledge in AOP to use aspects to test their programs without modifying the behavior of their source code. ACRE uses a domain-specific language (DSL), which statements testers insert into the source code like comments to describe the aspects to be used. The presence of DSL statements in the code does not modify the program´s compilation and behavior. ACRE parses the DSL statements and automatically generates appropriate aspects that are then weaved into the source code to identify bugs due to memory leaks, incorrect algorithm implementation, or interference among threads. Thanks to the use of aspects and ACRE, testers can add or remove tests easily. Using an aspect generated by ACRE, we find a memory leak in a complex C++ software program, NOMAD, used in both industry and research. We also verify a crucial mathematical point of the algorithm behind NOMAD and collect data to find possible interference bugs, in NOMAD.
  • Keywords
    C++ language; aspect-oriented programming; program compilers; program debugging; program testing; ACRE; AOP; C++ application testing; DSL statement; NOMAD; aspect-oriented programming; automated aspect creator; bug identification; domain-specific language; interferences testing; invariant testing; memory leak; memory testing; program compilation; software program; source code; statements tester; Computer bugs; DSL; Interference; Java; Radiation detectors; Testing; Weaving; AOP; C++; NOMAD; interference bug pattern; invariant testing; memory testing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance and Reengineering (CSMR), 2013 17th European Conference on
  • Conference_Location
    Genova
  • ISSN
    1534-5351
  • Print_ISBN
    978-1-4673-5833-0
  • Type

    conf

  • DOI
    10.1109/CSMR.2013.22
  • Filename
    6498461