Genova, Italy Italy
Mar. 5, 2013 to Mar. 8, 2013
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/CSMR.2013.22
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.
invariant testing, AOP, C++, NOMAD, interference bug pattern, memory testing
Etienne Duclos, Sebastien Le Digabel, Yann-Gael Gueheneuc, Bram Adams, "ACRE: An Automated Aspect Creator for Testing C++ Applications", CSMR, 2013, 2011 15th European Conference on Software Maintenance and Reengineering, 2011 15th European Conference on Software Maintenance and Reengineering 2013, pp. 121-130, doi:10.1109/CSMR.2013.22