1 | 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}
} |
2 | 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}
} |