DeepAI AI Chat
Log In Sign Up

The Changing Nature of Computational Science Software

by   Huy Tu, et al.
NC State University

How should software engineering be adapted for Computational Science (CS)? If we understood that, then we could better support software sustainability, verifiability, reproducibility, comprehension, and usability for CS community. For example, improving the maintainability of the CS code could lead to: (a) faster adaptation of scientific project simulations to new and efficient hardware (multi-core and heterogeneous systems); (b) better support for larger teams to co-ordinate (through integration with interdisciplinary teams); and (c) an extended capability to model complex phenomena. In order to better understand computational science, this paper uses quantitative evidence (from 59 CS projects in Github) to check 13 published beliefs about CS. These beliefs reflect on (a) the nature of scientific challenges; (b) the implications of limitations of computer hardware; and (c) the cultural environment of scientific software development. What we found was, using this new data from Github, only a minority of those older beliefs can be endorsed. More than half of the pre-existing beliefs are dubious, which leads us to conclude that the nature of CS software development is changing. Further, going forward, this has implications for (1) what kinds of tools we would propose to better support computational science and (2) research directions for both communities.


Building Bridges: Establishing a Dialogue Between Software Engineering Research and Computational Science

There has been growing interest within the computational science and eng...

Working in Harmony: Towards Integrating RSEs into Multi-Disciplinary CSE Teams

Within the rapidly diversifying field of computational science and engin...

Good Usability Practices in Scientific Software Development

Scientific software often presents very particular requirements regardin...

Computational Solutions for Today's Navy

New methods are being employed to meet the Navy's changing software-deve...

Community Organizations: Changing the Culture in Which Research Software Is Developed and Sustained

Software is the key crosscutting technology that enables advances in mat...

Robust Software Development for University-Built Satellites

Satellites and other complex systems now become more and more software d...

Assessing Developer Beliefs: A Reply to "Perceptions, Expectations, and Challenges in Defect Prediction"

It can be insightful to extend qualitative studies with a secondary quan...