...
首页> 外文期刊>Information and software technology >Testing scientific software: A systematic literature review
【24h】

Testing scientific software: A systematic literature review

机译:测试科学软件:系统的文献综述

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

摘要

Context: Scientific software plays an important role in critical decision making, for example making weather predictions based on climate models, and computation of evidence for research publications. Recently, scientists have had to retract publications due to errors caused by software faults. Systematic testing can identify such faults in code. Objective: This study aims to identify specific challenges, proposed solutions, and unsolved problems faced when testing scientific software. Method: We conducted a systematic literature survey to identify and analyze relevant literature. We identified 62 studies that provided relevant information about testing scientific software. Results: We found that challenges faced when testing scientific software fall into two main categories: (1) testing challenges that occur due to characteristics of scientific software such as oracle problems and (2) testing challenges that occur due to cultural differences between scientists and the software engineering community such as viewing the code and the model that it implements as inseparable entities. In addition, we identified methods to potentially overcome these challenges and their limitations. Finally we describe unsolved challenges and how software engineering researchers and practitioners can help to overcome them. Conclusions: Scientific software presents special challenges for testing. Specifically, cultural differences between scientist developers and software engineers, along with the characteristics of the scientific software make testing more difficult. Existing techniques such as code clone detection can help to improve the testing process. Software engineers should consider special challenges posed by scientific software such as oracle problems when developing testing techniques.
机译:背景:科学软件在关键决策中起着重要作用,例如,基于气候模型进行天气预报以及为研究出版物计算证据。最近,由于软件故障引起的错误,科学家不得不撤回出版物。系统测试可以识别代码中的此类错误。目的:本研究旨在确定测试科学软件时面临的特定挑战,建议的解决方案和未解决的问题。方法:我们进行了系统的文献调查,以识别和分析相关文献。我们确定了62项研究,这些研究提供了有关测试科学软件的相关信息。结果:我们发现,测试科学软件时面临的挑战可分为两大类:(1)测试由于科学软件的特性而产生的挑战,例如甲骨文问题;以及(2)测试由于科学家与专家之间的文化差异而出现的挑战。软件工程社区,例如查看作为不可分割的实体实现的代码和模型。此外,我们确定了可能克服这些挑战及其局限性的方法。最后,我们描述了尚未解决的挑战,以及软件工程研究人员和实践者如何帮助克服这些挑战。结论:科学软件对测试提出了特殊挑战。具体而言,科学家开发人员和软件工程师之间的文化差异以及科学软件的特性使测试更加困难。诸如代码克隆检测之类的现有技术可以帮助改善测试过程。在开发测试技术时,软件工程师应考虑科学软件带来的特殊挑战,例如oracle问题。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号