Computing Reviews

Techniques for testing scientific programs without an oracle
Kanewala U., Bieman J.  SE-CSE 2013 (Proceedings of the 5th International Workshop on Software Engineering for Computational Science and Engineering, San Francisco, CA, May 18, 2013)48-57,2013.Type:Proceedings
Date Reviewed: 10/16/14

Scientists often write programs for which no traditional oracle exists. Over the years, techniques have emerged that can be used to test such programs. This paper provides detailed explanations of three of these techniques: metamorphic testing exploits knowledge of how changes to inputs affect outputs; assertion checking involves embedding constraints into source code; and machine learning involves building classifiers using black-box features to predict whether an output is correct or not. A critical review is also presented of empirical studies that have applied these three techniques.

Several suggestions for future work are made. For example, metamorphic testing was found incapable of killing several mutants in the empirical studies reviewed, and research is needed to determine if it is possible to kill these mutants using stronger metamorphic relations (MRs). While assertion checking was found to be more effective than the null oracle in the empirical study reviewed, it was found to be either very effective or very ineffective depending on the method. Additional empirical studies are needed of the assertion checking technique. The authors conclude that automated support is needed to detect MRs and assertions. Such automated support could significantly reduce the need for domain knowledge required by the test engineer. Addressing falsely signaled faults is wasteful, so any such automated support must also minimize the generation of spurious MRs/assertions.

This paper is a thorough exposition on three techniques that can be used to test the so-called non-testable programs. As such, it is strongly recommended to the software testing community.

Reviewer:  Andy Brooks Review #: CR142836 (1501-0065)

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy