Detecting redundant unit tests for AspectJ programs

Tao Xie, Jianjun Zhao, Darko Marinov, David Notkin

Research output: Chapter in Book/Report/Conference proceedingConference contribution

18 Citations (Scopus)

Abstract

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.

Original languageEnglish
Title of host publicationProceedings - 17th International Symposium on Software Reliability Engineering, ISSRE 2006
Pages179-188
Number of pages10
DOIs
Publication statusPublished - Dec 1 2006
Event17th International Symposium on Software Reliability Engineering, ISSRE 2006 - Raleigh, NC, United States
Duration: Nov 7 2006Nov 10 2006

Publication series

NameProceedings - International Symposium on Software Reliability Engineering, ISSRE
ISSN (Print)1071-9458

Other

Other17th International Symposium on Software Reliability Engineering, ISSRE 2006
CountryUnited States
CityRaleigh, NC
Period11/7/0611/10/06

Fingerprint

Software engineering
Testing

All Science Journal Classification (ASJC) codes

  • Engineering(all)

Cite this

Xie, T., Zhao, J., Marinov, D., & Notkin, D. (2006). Detecting redundant unit tests for AspectJ programs. In Proceedings - 17th International Symposium on Software Reliability Engineering, ISSRE 2006 (pp. 179-188). [4021983] (Proceedings - International Symposium on Software Reliability Engineering, ISSRE). https://doi.org/10.1109/ISSRE.2006.21

Detecting redundant unit tests for AspectJ programs. / Xie, Tao; Zhao, Jianjun; Marinov, Darko; Notkin, David.

Proceedings - 17th International Symposium on Software Reliability Engineering, ISSRE 2006. 2006. p. 179-188 4021983 (Proceedings - International Symposium on Software Reliability Engineering, ISSRE).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Xie, T, Zhao, J, Marinov, D & Notkin, D 2006, Detecting redundant unit tests for AspectJ programs. in Proceedings - 17th International Symposium on Software Reliability Engineering, ISSRE 2006., 4021983, Proceedings - International Symposium on Software Reliability Engineering, ISSRE, pp. 179-188, 17th International Symposium on Software Reliability Engineering, ISSRE 2006, Raleigh, NC, United States, 11/7/06. https://doi.org/10.1109/ISSRE.2006.21
Xie T, Zhao J, Marinov D, Notkin D. Detecting redundant unit tests for AspectJ programs. In Proceedings - 17th International Symposium on Software Reliability Engineering, ISSRE 2006. 2006. p. 179-188. 4021983. (Proceedings - International Symposium on Software Reliability Engineering, ISSRE). https://doi.org/10.1109/ISSRE.2006.21
Xie, Tao ; Zhao, Jianjun ; Marinov, Darko ; Notkin, David. / Detecting redundant unit tests for AspectJ programs. Proceedings - 17th International Symposium on Software Reliability Engineering, ISSRE 2006. 2006. pp. 179-188 (Proceedings - International Symposium on Software Reliability Engineering, ISSRE).
@inproceedings{e63db08fec0e4fcbb0898e561719f013,
title = "Detecting redundant unit tests for AspectJ programs",
abstract = "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.",
author = "Tao Xie and Jianjun Zhao and Darko Marinov and David Notkin",
year = "2006",
month = "12",
day = "1",
doi = "10.1109/ISSRE.2006.21",
language = "English",
isbn = "0769526845",
series = "Proceedings - International Symposium on Software Reliability Engineering, ISSRE",
pages = "179--188",
booktitle = "Proceedings - 17th International Symposium on Software Reliability Engineering, ISSRE 2006",

}

TY - GEN

T1 - Detecting redundant unit tests for AspectJ programs

AU - Xie, Tao

AU - Zhao, Jianjun

AU - Marinov, Darko

AU - Notkin, David

PY - 2006/12/1

Y1 - 2006/12/1

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

ER -