TY - GEN
T1 - Detecting redundant unit tests for AspectJ programs
AU - Xie, Tao
AU - Zhao, Jianjun
AU - Marinov, Darko
AU - Notkin, David
PY - 2006
Y1 - 2006
N2 - Aspect-oriented software development is gaining popularity with the adoption of languages such as AspectJ Testing is an important part in any software development, including aspect-oriented development. To automate generation of unit tests for AspectJ programs, we can apply the existing tools that automate generation of unit tests for Java programs. However, these tools can generate a large number of test inputs, and manually inspecting the behavior of the software on all these inputs is time consuming. We propose Raspect, a framework for detecting redundant unit tests for AspectJ programs. We introduce three levels of units in AspectJ programs: advised methods, advice, and intertype methods. We show how to detect at each level redundant tests that do not exercise new behavior. Our approach selects only non-redundant tests from the automatically generated test suites, thus allowing the developer to spend less time in inspecting this reduced set of tests. We have implemented Raspect and applied it on 12 subjects taken from a variety of sources; our experience shows that Raspect can effectively reduce the size of generated test suites for inspecting AspectJ programs.
AB - Aspect-oriented software development is gaining popularity with the adoption of languages such as AspectJ Testing is an important part in any software development, including aspect-oriented development. To automate generation of unit tests for AspectJ programs, we can apply the existing tools that automate generation of unit tests for Java programs. However, these tools can generate a large number of test inputs, and manually inspecting the behavior of the software on all these inputs is time consuming. We propose Raspect, a framework for detecting redundant unit tests for AspectJ programs. We introduce three levels of units in AspectJ programs: advised methods, advice, and intertype methods. We show how to detect at each level redundant tests that do not exercise new behavior. Our approach selects only non-redundant tests from the automatically generated test suites, thus allowing the developer to spend less time in inspecting this reduced set of tests. We have implemented Raspect and applied it on 12 subjects taken from a variety of sources; our experience shows that Raspect can effectively reduce the size of generated test suites for inspecting AspectJ programs.
UR - http://www.scopus.com/inward/record.url?scp=34547660067&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=34547660067&partnerID=8YFLogxK
U2 - 10.1109/ISSRE.2006.21
DO - 10.1109/ISSRE.2006.21
M3 - Conference contribution
AN - SCOPUS:34547660067
SN - 0769526845
SN - 9780769526843
T3 - Proceedings - International Symposium on Software Reliability Engineering, ISSRE
SP - 179
EP - 188
BT - Proceedings - 17th International Symposium on Software Reliability Engineering, ISSRE 2006
T2 - 17th International Symposium on Software Reliability Engineering, ISSRE 2006
Y2 - 7 November 2006 through 10 November 2006
ER -