Techniques for testing scientific programs without an oracle

Upulee Kanewala, J. Bieman
{"title":"Techniques for testing scientific programs without an oracle","authors":"Upulee Kanewala, J. Bieman","doi":"10.1109/SECSE.2013.6615099","DOIUrl":null,"url":null,"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.","PeriodicalId":133144,"journal":{"name":"2013 5th International Workshop on Software Engineering for Computational Science and Engineering (SE-CSE)","volume":"321 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"33","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2013 5th International Workshop on Software Engineering for Computational Science and Engineering (SE-CSE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SECSE.2013.6615099","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 33

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.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
不使用oracle测试科学程序的技术
在软件测试中通常假定oracle的存在。但是在很多情况下,特别是在科学项目中,预言机并不存在,或者它们很难实现。本文研究了三种用于测试没有oracle的程序的技术:(1)变形测试,(2)运行时断言和(3)使用机器学习开发测试oracle。我们从(1)故障发现能力、(2)自动化和(3)所需领域知识的角度来考察这些方法。几个案例研究应用了这三种技术来有效地测试没有oracle的科学程序。在测试特定的程序时,某些技术报告了比其他技术更好的故障查找能力。最后,有可能提高这些技术的自动化水平,从而降低所需的领域知识水平。潜在的自动化技术包括:(1)检测可能的变质关系,(2)静态分析以消除虚假不变量,(3)结构分析以开发机器学习生成的预言。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Implicit provenance gathering through configuration management Exploring issues in software systems used and developed by domain experts DSLs, DLA, DxT, and MDE in CSE Implementing continuous integration software in an established computational chemistry software package Design and rationale of a quality assurance process for a scientific framework
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1