scholarly journals When Scientific Software Meets Software Engineering

Computer ◽  
2021 ◽  
Vol 54 (12) ◽  
pp. 60-71
Author(s):  
Dorian Leroy ◽  
June Sallou ◽  
Johann Bourcier ◽  
Benoit Combemale
2011 ◽  
Vol 23 (4) ◽  
pp. 64-79 ◽  
Author(s):  
Diane Kelly

The development of scientific software is usually carried out by a scientist who has little professional training as a software developer. Concerns exist that such development produces low-quality products, leading to low-quality science. These concerns have led to recommendations and the imposition of software engineering development processes and standards on the scientists. This paper utilizes different frameworks to investigate and map characteristics of the scientific software development environment to the assumptions made in plan-driven software development methods and agile software development methods. This mapping exposes a mismatch between the needs and goals of scientific software development and the assumptions and goals of well-known software engineering development processes.


Author(s):  
Lynn von Kurnatowski ◽  
Martin Stoffers ◽  
Martin Weigel ◽  
Michael Meinel ◽  
Yi Wasser ◽  
...  

2008 ◽  
Vol 16 (4) ◽  
pp. 287-296 ◽  
Author(s):  
Joseph P. Kenny ◽  
Curtis L. Janssen ◽  
Mark S. Gordon ◽  
Masha Sosonkina ◽  
Theresa L. Windus

Cutting-edge scientific computing software is complex, increasingly involving the coupling of multiple packages to combine advanced algorithms or simulations at multiple physical scales. Component-based software engineering (CBSE) has been advanced as a technique for managing this complexity, and complex component applications have been created in the quantum chemistry domain, as well as several other simulation areas, using the component model advocated by the Common Component Architecture (CCA) Forum. While programming models do indeed enable sound software engineering practices, the selection of programming model is just one building block in a comprehensive approach to large-scale collaborative development which must also address interface and data standardization, and language and package interoperability. We provide an overview of the development approach utilized within the Quantum Chemistry Science Application Partnership, identifying design challenges, describing the techniques which we have adopted to address these challenges and highlighting the advantages which the CCA approach offers for collaborative development.


F1000Research ◽  
2014 ◽  
Vol 3 ◽  
pp. 71 ◽  
Author(s):  
Zeeshan Ahmed ◽  
Saman Zeeshan ◽  
Thomas Dandekar

Software design and sustainable software engineering are essential for the long-term development of bioinformatics software. Typical challenges in an academic environment are short-term contracts, island solutions, pragmatic approaches and loose documentation. Upcoming new challenges are big data, complex data sets, software compatibility and rapid changes in data representation. Our approach to cope with these challenges consists of iterative intertwined cycles of development (“Butterfly” paradigm) for key steps in scientific software engineering. User feedback is valued as well as software planning in a sustainable and interoperable way. Tool usage should be easy and intuitive. A middleware supports a user-friendly Graphical User Interface (GUI) as well as a database/tool development independently. We validated the approach of our own software development and compared the different design paradigms in various software solutions.


Author(s):  
ROSHANAK FARHOODI ◽  
VAHID GAROUSI ◽  
DIETMAR PFAHL ◽  
JONATHAN SILLITO

Scientific and engineering research is heavily dependent on effective development and use of software artifacts. Many of these artifacts are produced by the scientists themselves, rather than by trained software engineers. To address the challenges in this area, a research community often referred to as "Development of Scientific Software" has emerged in the last few decades. As this research area has matured, there has been a sharp increase in the number of papers and results made available, and it has thus become important to summarize and provide an overview about those studies. Through a systematic mapping and bibliometrics study, we have reviewed 130 papers in this area. We present the results of our study in this paper. Also we have made the mapping data available on an online repository which is planned to be updated on a regular basis. The results of our study seem to suggest that many software engineering techniques and activities are being used in the development of scientific software. However, there is still a need for further exploration of the usefulness of specific software engineering techniques (e.g., regarding software maintenance, evolution, refactoring, re(v)-engineering, process and project management) in the scientific context. It is hoped that this article will help (new) researchers get an overview of the research space and help them to understand the trends in the area.


Author(s):  
Diane Kelly

The development of scientific software is usually carried out by a scientist who has little professional training as a software developer. Concerns exist that such development produces low-quality products, leading to low-quality science. These concerns have led to recommendations and the imposition of software engineering development processes and standards on the scientists. This paper utilizes different frameworks to investigate and map characteristics of the scientific software development environment to the assumptions made in plan-driven software development methods and agile software development methods. This mapping exposes a mismatch between the needs and goals of scientific software development and the assumptions and goals of well-known software engineering development processes.


2021 ◽  
Vol 172 ◽  
pp. 110848
Author(s):  
Elvira-Maria Arvanitou ◽  
Apostolos Ampatzoglou ◽  
Alexander Chatzigeorgiou ◽  
Jeffrey C. Carver

Sign in / Sign up

Export Citation Format

Share Document