首页> 外文学位 >Using code mutation to study code faults in scientific software.
【24h】

Using code mutation to study code faults in scientific software.

机译:使用代码变异来研究科学软件中的代码错误。

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

摘要

Code faults can seriously degrade scientific software accuracy. Therefore, it is imperative that scientific software developers scrutinize their codes in an attempt to find these faults. This thesis explores, particularly, the efficacy of code testing as a method of scientific software code fault detection.;To demonstrate the reality of these problems and to provide an example of how software engineers and scientists can begin to address them, this thesis discusses the development and application of a novel technique: Mutation Sensitivity Testing (MST). MST is based on traditional mutation testing, but---in place of a focus on mutant "killing"---MST focuses on assessing the mutation sensitivity of a test set.;In this thesis, MST experiments are conducted using eight small numerical routines, four classes of mutation operators, and 1155 tests. The results are discussed and some conclusions are drawn. Two observations are of particular interest to computational scientists. First, it is found that oracles that exhibit uncertainties greater than (approximately) 80% of the expected output are of questionable value when they are used in the testing of scientific software. Second, it is found that a small number of carefully selected tests may be sufficient to falsify a code.;Software engineers, as experts in code quality, have developed many code testing techniques, but many of these techniques cannot readily be applied to scientific codes for at least two reasons. First, scientific software testers do not usually have access to an ideal oracle. Second, scientific software outputs, by nature, can only be judged for accuracy and not correctness. Testing techniques developed under the assumption that these two problems can be ignored---as most have been---are of questionable value to computational scientists.
机译:代码错误会严重降低科学软件的准确性。因此,当务之急是科学软件开发人员仔细检查他们的代码,以发现这些错误。本论文特别探讨了代码测试作为一种科学软件代码故障检测方法的功效。;为了说明这些问题的现实,并提供一个示例,说明软件工程师和科学家如何开始解决这些问题,本文讨论了新技术的开发和应用:突变敏感性测试(MST)。 MST基于传统的突变测试,但是---代替了对突变“杀死”的关注--- MST着重于评估测试集的突变敏感性。例程,四类变异算子和1155个测试。对结果进行了讨论并得出了一些结论。对于计算科学家来说,有两个特别有趣的发现。首先,发现当不确定性大于(大约)预期输出的80%的预言家用于科学软件测试时,它们具有可疑的价值。其次,发现少量精心选择的测试可能足以伪造代码。软件工程师,作为代码质量专家,已经开发了许多代码测试技术,但是其中许多技术不能轻易应用于科学代码。至少有两个原因。首先,科学软件测试人员通常无法访问理想的Oracle。其次,从本质上讲,只能判断科学软件输出的准确性,而不能判断其正确性。在假设这两个问题可以被忽略的情况下开发的测试技术(就像大多数人一样)对计算科学家来说具有可疑的价值。

著录项

  • 作者

    Hook, Daniel Alan.;

  • 作者单位

    Queen's University (Canada).;

  • 授予单位 Queen's University (Canada).;
  • 学科 Computer Science.
  • 学位 M.Sc.
  • 年度 2009
  • 页码 155 p.
  • 总页数 155
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号