Mutation is a software testing technique that requires the tester to generate test data that will find specific, well-defined errors. Mutation testing executes many slightly differing versions, called mutants, of the same program to evaluate the quality of the data used to test the program. Although these mutants are generated and executed efficiently by automated methods, many of the mutants are functionally equivalent to the original program and are not useful for testing. Recognizing and eliminating equivalent mutants has traditionally been done by hand, a time-consuming and arduous task, which limits the practical usefulness of mutation testing. This paper presents extensions to previous work in detecting equivalent mutants; specifically, we present algorithms for determining several classes of equivalent mutants, and results from an implementation of these algorithms. These algorithms are based on data flow analysis and six compiler optimization techniques. We describe each of these techniques and how they are used to detect equivalent mutants. The design of the tool, and some experimental results using it are also presented. Finally, a new approach for detecting equivalent mutants that may be more powerful than the optimization techniques is introduced.
As the power of information technology grows and its cost diminishes, training is shifting into complex, computer-maintained worlds. The primary reason for this transition is effectiveness; richly detailed virtual environments leverage the most important variables for educational success. These types of training applications can enhance learners' motivation to spend time on task, provide collaborative experiences to foster peer teaching, tailor material to each student's needs and background, and promote the transferability of complicated knowledge and skills into real-world settings. This report describes progress in three aspects of virtual environments that draw on ideas from artificial intelligence: artificial realities, virtual communities, and knowbots.
(Unavailable in electronic form. Please contact department for a hard copy.)