首页> 外文期刊>Software Testing, Verification and Reliability >Predicting metamorphic relations for testing scientific software: a machine learning approach using graph kernels
【24h】

Predicting metamorphic relations for testing scientific software: a machine learning approach using graph kernels

机译:预测测试科学软件的变态关系:使用图核的机器学习方法

获取原文
获取原文并翻译 | 示例

摘要

Comprehensive, automated software testing requires an oracle to check whether the output produced by a test case matches the expected behaviour of the programme. But the challenges in creating suitable oracles limit the ability to perform automated testing in some programmes, and especially in scientific software. Metamorphic testing is a method for automating the testing process for programmes without test oracles. This technique operates by checking whether the programme behaves according to properties called metamorphic relations. A metamorphic relation describes the change in output when the input is changed in a prescribed way. Unfortunately, finding the metamorphic relations satisfied by a programme or function remains a labour-intensive task, which is generally performed by a domain expert or a programmer. In this work, we propose a machine learning approach for predicting metamorphic relations that uses a graph-based representation of a programme to represent control flow and data dependency information. In earlier work, we found that simple features derived from such graphs provide good performance. An analysis of the features used in this earlier work led us to explore the effectiveness of several representations of those graphs using the machine learning framework of graph kernels, which provide various ways of measuring similarity between graphs. Our results show that a graph kernel that evaluates the contribution of all paths in the graph has the best accuracy and that control flow information is more useful than data dependency information. The data used in this study are available for download at http://www.cs.colostate.edu/saxs/MRpred/functions.tar.gz to help researchers in further development of metamorphic relation prediction methods. Copyright © 2015 John Wiley & Sons, Ltd.
机译:全面,自动化的软件测试需要Oracle来检查测试用例产生的输出是否与程序的预期行为相匹配。但是创建合适的Oracle的挑战限制了在某些程序中,尤其是在科学软件中执行自动测试的能力。变形测试是一种自动执行没有测试预言程序的测试过程的方法。该技术通过检查程序是否根据称为变形关系的属性来运行。变形关系描述了当输入以规定的方式更改时输出的更改。不幸的是,找到程序或函数满足的变质关系仍然是一项劳动密集型任务,通常由领域专家或程序员来执行。在这项工作中,我们提出了一种用于预测变形关系的机器学习方法,该方法使用程序的基于图的表示形式来表示控制流和数据相关性信息。在较早的工作中,我们发现从此类图派生的简单特征提供了良好的性能。对早期工作中使用的功能的分析使我们使用图内核的机器学习框架探索了这些图的几种表示形式的有效性,该框架提供了多种测量图之间相似性的方法。我们的结果表明,评估图中所有路径的贡献的图内核具有最佳准确性,并且控制流信息比数据依赖项信息更有用。本研究中使用的数据可从http://www.cs.colostate.edu/saxs/MRpred/functions.tar.gz下载,以帮助研究人员进一步开发变形关系预测方法。版权所有©2015 John Wiley&Sons,Ltd.

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号