1 | Chuan Zhao and Roger T. Alexander Testing AspectJ Programs Using Fault-based Testing Proceedings of the 3rd workshop on Testing Aspect-Oriented Programs (WTAOP'07)Vancouver, British Columbia, Canada, 17-22 March 2007. |
|
| Abstract: Along with the evolution of the technique and use of aspect-oriented programming (AOP), the difficulty of testing the aspect-oriented programs is now receiving much attention. In this position paper, we describe an AspectJ program testing method based on fault model with the help of dependency model and interaction model. |
| @INPROCEEDINGS{ZhaoA07,
author = {Chuan Zhao and Roger T. Alexander},
title = {Testing AspectJ Programs Using Fault-based Testing},
booktitle = {Proceedings of the 3rd workshop on Testing Aspect-Oriented Programs (WTAOP'07)},
year = {2007},
address = {Vancouver, British Columbia, Canada},
month = {17-22 March},
pages = {13-16}
} |
2 | Jon S. Baekken and Roger T. Alexander A Candidate Fault Model for AspectJ Pointcuts Proceedings of the 17th International Symposium on Software Reliability Engineering (ISSRE'06)Raleigh, North Carolina, 7-10 November 2006. |
|
| Abstract: We present a candidate fault model for pointcuts in AspectJ programs. The fault model identifies faults that we believe are likely to occur when writing pointcuts in the AspectJ language. Categories of fault types are identified, and each individual fault type is described as categorized. We argue that a fault model that focuses on the unique constructs of the AspectJ language is needed for the systematic and effective testing of AspectJ programs. Our pointcut fault model is a first step towards such a model. |
| @INPROCEEDINGS{BaekkenA06,
author = {Jon S. Baekken and Roger T. Alexander},
title = {A Candidate Fault Model for AspectJ Pointcuts},
booktitle = {Proceedings of the 17th International Symposium on Software Reliability Engineering (ISSRE'06)},
year = {2006},
address = {Raleigh, North Carolina},
month = {7-10 November},
pages = {169-178}
} |
3 | Roger T. Alexander and James M. Bieman and Sudipto Ghosh and Bixia Ji Mutation of Java Objects Proceedings of the 13th International Symposium on Software Reliability Engineering (ISSRE'02)Annapolis, Maryland, 12-15 November 2002. |
|
| Abstract: Fault insertion based techniques have been used for measuring test adequacy and testability of programs. Mutation analysis inserts faults into a program with the goal of creating mutation-adequate test sets that distinguish the mutant from the original program. Software testability is measured by calculating the probability that a program will fail on the next test input coming from a predefined input distribution, given that the software includes a fault. Inserted faults must represent plausible errors. It is relatively easy to apply standard transformations to mutate scalar values such as integers, floats, and character data, because their semantics are well understood. Mutating objects that are instances of user defined types is more difficult. There is no obvious way to modify such objects in a manner consistent with realistic faults, without writing custom mutation methods for each object class. We propose a new object mutation approach along with a set of mutation operators and support tools for inserting faults into objects that instantiate items from common Java libraries heavily used in commercial software as well as user defined classes. Preliminary evaluation of our technique shows that it should be effective for evaluating real-world software testing suites. |
| @INPROCEEDINGS{AlexanderBGB02,
author = {Roger T. Alexander and James M. Bieman and Sudipto Ghosh and Bixia Ji},
title = {Mutation of Java Objects},
booktitle = {Proceedings of the 13th International Symposium on Software Reliability Engineering (ISSRE'02)},
year = {2002},
address = {Annapolis, Maryland},
month = {12-15 November},
pages = {341-351}
} |
4 | Roger T. Alexander and A. Jefferson Offutt and James M. Bieman Syntactic Fault Patterns in OO Programs Proceedings of the 8th International Conference on Engineering of Complex Computer Systems (ICECCS'02)Greenbelt, Maryland, 2-4 December 2002. |
|
| Abstract: Although program faults are widely studied, there are many aspects of faults that we still do not understand, particularly about OO software. In addition to the simple fact that one important goal during testing is to cause failures and thereby detect faults, a full understanding of the characteristics of faults is crucial to several research areas. The power that inheritance and polymorphism brings to the expressiveness of programming languages also brings a number of new anomalies and fault types. In prior work we presented a fault model for the appearance and realization of OO faults that are specific to the use of inheritance and polymorphism. Many of these faults cannot appear unless certain syntactic patterns are used. The patterns are based on language constructs, such as overriding methods that directly define inherited state variables and non-inherited methods that call inherited methods. If one of these syntactic patterns is used, then we say the software contains an anomaly and possibly a fault. We describe the syntactic patterns for each OO fault type. These syntactic patterns can potentially be found with an automatic tool. Thus, faults can be uncovered and removed early in development. |
| @INPROCEEDINGS{AlexanderOB02,
author = {Roger T. Alexander and A. Jefferson Offutt and James M. Bieman},
title = {Syntactic Fault Patterns in OO Programs},
booktitle = {Proceedings of the 8th International Conference on Engineering of Complex Computer Systems (ICECCS'02)},
year = {2002},
address = {Greenbelt, Maryland},
month = {2-4 December},
pages = {193-202}
} |
5 | J.M. Bieman and S. Ghosh and Roger T. Alexander A Technique for Mutation of Java Objects Proceedings of the 16th IEEE International Conference on Automated Software Engineering (ASE'01)San Diego, California, 26-29 November 2001. |
|
| Abstract: Mutation analysis inserts faults into a program to createtest sets that distinguish the mutant from the original program.Inserted faults must represent plausible errors. Standardtransformations can mutate scalar values such as integers,floats, and character data. Mutating objects is anopen problem, because object semantics are defined by theprogrammer and can vary widely. We develop mutation operatorsand support tools that can mutate Java library itemsthat are heavily used in commercial software. Our mutationengine can support reusable libraries of mutation componentsto inject faults into objects that instantiate items fromthese common Java libraries. Our technique should be effectivefor evaluating real-world software testing suites. |
| @INPROCEEDINGS{BiemanGA01,
author = {J.M. Bieman and S. Ghosh and Roger T. Alexander},
title = {A Technique for Mutation of Java Objects},
booktitle = {Proceedings of the 16th IEEE International Conference on Automated Software Engineering (ASE'01)},
year = {2001},
address = {San Diego, California},
month = {26-29 November},
pages = {337}
} |