• DocumentCode
    3271491
  • Title

    Techniques for testing scientific programs without an oracle

  • Author

    Kanewala, Upulee ; Bieman, James M.

  • Author_Institution
    Comput. Sci. Dept., Colorado State Univ., Fort Collins, CO, USA
  • fYear
    2013
  • fDate
    18-18 May 2013
  • Firstpage
    48
  • Lastpage
    57
  • Abstract
    The existence of an oracle is often assumed in software testing. But in many situations, especially for scientific programs, oracles do not exist or they are too hard to implement. This paper examines three techniques that are used to test programs without oracles: (1) Metamorphic testing, (2) Run-time Assertions and (3) Developing test oracles using machine learning. We examine these methods in terms of their (1) fault finding ability, (2) automation, and (3) required domain knowledge. Several case studies apply these three techniques to effectively test scientific programs that do not have oracles. Certain techniques have reported a better fault finding ability than the others when testing specific programs. Finally, there is potential to increase the level of automation of these techniques, thereby reducing the required level of domain knowledge. Techniques that can potentially be automated include (1) detection of likely metamorphic relations, (2) static analyses to eliminate spurious invariants and (3) structural analyses to develop machine learning generated oracles.
  • Keywords
    learning (artificial intelligence); program diagnostics; program testing; domain knowledge; fault finding ability; machine learning; metamorphic testing; run-time assertions; scientific programs; software testing; static analysis; structural analysis; test oracles; Automation; Decision trees; Predictive models; Software; Software testing; Training; Assertion checking; Machine learning; Metamorphic relation; Metamorphic testing; Mutation analysis; Scientific software testing; Test oracles;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering for Computational Science and Engineering (SE-CSE), 2013 5th International Workshop on
  • Conference_Location
    San Francisco, CA
  • Type

    conf

  • DOI
    10.1109/SECSE.2013.6615099
  • Filename
    6615099