TY - GEN
T1 - Automated generation of pointcut mutants for testing pointcuts in aspectj programs
AU - Anbalagan, Prasanth
AU - Xie, Tao
PY - 2008
Y1 - 2008
N2 - Aspect-Oriented Programming (AOP) provides new modularization of software systems by encapsulating cross- cutting concerns. AspectJ, an AOP language, uses ab- stractions such as pointcuts, advice, and aspects to achieve AOP's primary functionality. Faults in pointcuts can cause aspects to fail to satisfy their requirements. Hence, test- ing pointcuts is necessary in order to ensure correctness of aspects. In mutation testing of pointcuts (a type of fault- based pointcut testing), the number of mutants (i.e., varia- tions) for pointcuts is usually large due to the usage of wild- cards. It is tedious to manually identify effective mutants that are of appropriate strength and resemble closely the original pointcut expression, reflecting the kind of mistakes that developers may make. To reduce developers' effort in this process, we have developed a new framework that au- tomatically identifies the strength of each pointcut and gen- erates pointcut mutants with different strengths. Develop- ers can inspect the pointcut mutants and their join points for pointcut correctness or choose the mutants for conduct- ing mutation testing. We conducted an empirical study on applying our framework on pointcuts from existing AspectJ programs. The results show that our framework can pro- vide valuable assistance in generating effective mutants that re close to the original pointcuts and are of appropriate strength.
AB - Aspect-Oriented Programming (AOP) provides new modularization of software systems by encapsulating cross- cutting concerns. AspectJ, an AOP language, uses ab- stractions such as pointcuts, advice, and aspects to achieve AOP's primary functionality. Faults in pointcuts can cause aspects to fail to satisfy their requirements. Hence, test- ing pointcuts is necessary in order to ensure correctness of aspects. In mutation testing of pointcuts (a type of fault- based pointcut testing), the number of mutants (i.e., varia- tions) for pointcuts is usually large due to the usage of wild- cards. It is tedious to manually identify effective mutants that are of appropriate strength and resemble closely the original pointcut expression, reflecting the kind of mistakes that developers may make. To reduce developers' effort in this process, we have developed a new framework that au- tomatically identifies the strength of each pointcut and gen- erates pointcut mutants with different strengths. Develop- ers can inspect the pointcut mutants and their join points for pointcut correctness or choose the mutants for conduct- ing mutation testing. We conducted an empirical study on applying our framework on pointcuts from existing AspectJ programs. The results show that our framework can pro- vide valuable assistance in generating effective mutants that re close to the original pointcuts and are of appropriate strength.
UR - http://www.scopus.com/inward/record.url?scp=67249105923&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=67249105923&partnerID=8YFLogxK
U2 - 10.1109/ISSRE.2008.58
DO - 10.1109/ISSRE.2008.58
M3 - Conference contribution
AN - SCOPUS:67249105923
SN - 9780769534053
T3 - Proceedings - International Symposium on Software Reliability Engineering, ISSRE
SP - 239
EP - 248
BT - Proceedings - 19th International Symposium on Software Reliability Engineering, ISSRE 2008
T2 - 19th International Symposium on Software Reliability Engineering, ISSRE 2008
Y2 - 10 November 2008 through 14 November 2008
ER -