Supporting the quality assurance of a scientific framework

Supporting the quality assurance of a scientific framework
复制标题

支持科学框架的质量保证

DOI:
10.11588/heidok.00017171
复制
发表时间:
2014
期刊:
影响因子:
6.1
通讯作者:
H. Remmel
H. Remmel
中科院分区:
医学2区
文献类型:
--
作者:
H. Remmel

文献摘要

被引文献

相似文献

科学软件的质量保证必须处理这类软件的特殊挑战,包括缺少测试预言机,对高性能计算的需求,以及非功能需求的高优先级。一个科学框架由共同的代码组成,这些代码为几个类似的数学问题提供了解决方案。一个科学框架的各种可能用途导致该框架存在很大的可变性。除了科学软件的挑战外,科学框架的质量保证还需要找到一种处理大可变性的方法。 在软件产品线工程(SPLE)中,其思想是开发一个软件平台,然后使用大规模定制来创建一组类似的应用程序。在这篇论文中,我们展示了如何SPLE,特别是变异建模,可以应用于支持科学框架的质量保证。 本论文的主要贡献之一是一个过程,为科学框架的基础上,其数学要求的再工程变异性模型的创建。再工程是指在不改变软件功能的前提下,对软件系统进行调整,以提高软件质量。在我们的研究中,可变性模型是为现有软件创建的,因此我们称之为再工程可变性模型。所创建的可变性模型用于系统开发框架的系统测试应用程序。此外,我们开发了一个基于模型的方法,用于系统测试应用程序的测试用例推导的变异性模型的基础上。 此外,我们贡献了一个软件产品线测试策略的科学框架。测试策略强烈地影响所执行的测试活动。本文的另一个主要贡献是设计了一个科学框架的质量保证过程,它将测试策略的测试活动与其他质量保证活动相结合。我们介绍了科学软件的特殊特性列表,我们使用它作为设计这个过程的基本原理。 我们报告的案例研究,分析的可行性和接受开发人员的质量保证过程的设计的两个部分:可变性模型的创建和桌面检查,一种轻量级的审查。使用面向功能的软件开发环境,以及自动化测试环境,我们原型证明我们的方法的适用性。
The quality assurance of scientific software has to deal with special challenges of this type of software, including missing test oracles, the need for high performance computing, and the high priority of non-functional requirements. A scientific framework consists of common code, which provides solutions for several similar mathematical problems. The various possible uses of a scientific framework lead to a large variability in the framework. In addition to the challenges of scientific software, the quality assurance of a scientific framework needs to find a way of dealing with the large variability. In software product line engineering (SPLE), the idea is to develop a software platform and then use mass customization for the creation of a group of similar applications. In this thesis, we show how SPLE, in particular variability modeling, can be applied to support the quality assurance of scientific frameworks. One of the main contributions of this thesis is a process for the creation of reengineering variability models for a scientific framework based on its mathematical requirements. Reengineering means the adjustment of a software system to improve the software quality, mostly without changing the software’s functionality. In our research, the variability models are created for existing software and therefore we call them reengineering variability models. The created variability models are used for a systematic development of system test applications for the framework. Additionally, we developed a model-based method for test case derivation for the system test applications based on the variability models. Furthermore, we contribute a software product line test strategy for scientific frameworks. A test strategy strongly influences the test activities performed. Another main contribution of this thesis is the design of a quality assurance process for scientific frameworks, which combines the test activities of the test strategy with other quality assurance activities. We introduce a list of special characteristics for scientific software, which we use as rationale for the design of this process. We report on a case study, analyzing the feasibility and acceptance by developers for two parts of the design of the quality assurance process: variability model creation and desk-checking, a kind of lightweight review. Using FeatureIDE, an environment for feature-oriented software development as well as an automated test environment, we prototypically demonstrate the applicability of our approach.