当前位置: X-MOL 学术J. Syst. Softw. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Software engineering practices for scientific software development: A systematic mapping study
Journal of Systems and Software ( IF 3.5 ) Pub Date : 2021-02-01 , DOI: 10.1016/j.jss.2020.110848
Elvira-Maria Arvanitou , Apostolos Ampatzoglou , Alexander Chatzigeorgiou , Jeffrey C. Carver

Abstract Background: The development of scientific software applications is far from trivial, due to the constant increase in the necessary complexity of these applications, their increasing size, and their need for intensive maintenance and reuse. Aim: To this end, developers of scientific software (who usually lack a formal computer science background) need to use appropriate software engineering (SE) practices. This paper describes the results of a systematic mapping study on the use of SE for scientific application development and their impact on software quality. Method: To achieve this goal we have performed a systematic mapping study on 359 papers. We first describe a catalog of SE practices used in scientific software development. Then, we discuss the quality attributes of interest that drive the application of these practices, as well as tentative side-effects of applying the practices on qualities. Results: The main findings indicate that scientific software developers are focusing on practices that improve implementation productivity, such as code reuse, use of third-party libraries, and the application of “good” programming techniques. In addition, apart from the finding that performance is a key-driver for many of these applications, scientific software developers also find maintainability and productivity to be important. Conclusions: The results of the study are compared to existing literature, are interpreted under a software engineering prism, and various implications for researchers and practitioners are provided. One of the key findings of the study, which is considered as important for driving future research endeavors is the lack of evidence on the trade-offs that need to be made when applying a software practice, i.e., negative (indirect) effects on other quality attributes.

中文翻译:

科学软件开发的软件工程实践:系统映射研究

摘要背景:科学软件应用程序的开发绝非易事,因为这些应用程序的必要复杂性不断增加,规模不断扩大,并且需要密集维护和重用。目标:为此,科学软件的开发人员(通常缺乏正式的计算机科学背景)需要使用适当的软件工程 (SE) 实践。本文描述了关于使用 SE 进行科学应用程序开发及其对软件质量的影响的系统映射研究的结果。方法:为了实现这一目标,我们对 359 篇论文进行了系统的映射研究。我们首先描述了科学软件开发中使用的 SE 实践目录。然后,我们讨论推动这些实践应用的感兴趣的质量属性,以及将这些实践应用于质量的暂时性副作用。结果:主要发现表明,科学软件开发人员正专注于提高实现生产力的实践,例如代码重用、第三方库的使用以及“优秀”编程技术的应用。此外,除了发现性能是许多这些应用程序的关键驱动因素之外,科学软件开发人员还发现可维护性和生产力很重要。结论:研究结果与现有文献进行了比较,在软件工程棱镜下进行了解释,并提供了对研究人员和从业人员的各种影响。该研究的主要发现之一,
更新日期:2021-02-01
down
wechat
bug