English
Related papers

Related papers: Software for Science: Some Personal Reflections

200 papers

High-Performance Computing (HPC) platforms enable scientific software to achieve breakthroughs in many research fields such as physics, biology, and chemistry, by employing Research Software Engineering (RSE) techniques. These include 1)…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-10-16 Matan Rusanovsky , Re'em Harel , Lee-or Alon , Idan Mosseri , Harel Levin , Gal Oren

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…

Software Engineering · Computer Science 2018-04-06 Upulee Kanewala , James M. Bieman

Modern research heavily relies on software. A significant challenge researchers face is understanding the complex software used in specific research fields. We target two scenarios in this context, namely long onboarding times for newcomers…

Software Engineering · Computer Science 2026-04-14 Adrian Bajraktari , Andreas Vogelsang

Like other engineering disciplines, software engineering should also have principles to guide the construction of sustainable computer applications. Tangible properties include a) unlimited scalability, b) maximal reproducibility, and c)…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-07-23 Justin Shi

Scientific open-source software (Sci-OSS) projects are critical for advancing research, yet sustaining these projects long-term remains a major challenge. This paper explores the sustainability of Sci-OSS hosted on GitHub, focusing on two…

Software Engineering · Computer Science 2025-11-12 Sharif Ahmed , Addi Malviya Thakur , Gregory R. Watson , Nasir U. Eisty

With the advent of open source software, a veritable treasure trove of previously proprietary software development data was made available. This opened the field of empirical software engineering research to anyone in academia. Data that is…

Software Engineering · Computer Science 2022-04-19 Adam Tutko , Austin Z. Henley , Audris Mockus

Modern research in the sciences, engineering, humanities, and other fields depends on software, and specifically, research software. Much of this research software is developed in universities, by faculty, postdocs, students, and staff. In…

Software Engineering · Computer Science 2019-06-04 Daniel S. Katz , Kenton McHenry , Caleb Reinking , Robert Haines

The purpose of this book is to help you program shared-memory parallel systems without risking your sanity. Nevertheless, you should think of the information in this book as a foundation on which to build, rather than as a completed…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-06-13 Paul E. McKenney

There is a gap in scientific information systems development concerning modern software engineering and scientific computing. Historically, software engineering methodologies have been perceived as an unwanted accidental complexity to…

Software produced for research, published and otherwise, suffers from a number of common problems that make it difficult or impossible to run outside the original institution, or even off the primary developer's computer. We present ten…

Software Engineering · Computer Science 2017-07-05 Morgan Taschuk , Greg Wilson

Build-time configuration and environment assumptions are hampering progress and usability in scientific software. That which would be utterly unacceptable in non-scientific software somehow passes for the norm in scientific packages. The…

Software Engineering · Computer Science 2014-07-11 Jed Brown , Matthew G. Knepley , Barry F. Smith

High-quality research software is a cornerstone of modern scientific progress, enabling researchers to analyze complex data, simulate phenomena, and share reproducible results. However, creating such software requires adherence to best…

Software Engineering · Computer Science 2025-07-23 Nasir U. Eisty , David E. Bernholdt , Alex Koufos , David J. Luet , Miranda Mundt

Scientific computation is a discipline that combines numerical analysis, physical understanding, algorithm development, and structured programming. Several yottacycles per year on the world's largest computers are spent simulating problems…

Programming Languages · Computer Science 2018-01-10 Matthew G. Knepley

Computers are a very important part of our lives and the major reason why they have been such a success is because of the excellent graphical operating systems that run on these powerful machines. As the computer hardware is becoming more…

Operating Systems · Computer Science 2012-05-30 Plawan Kumar Rath , G. N. Anil

Scientific advancement relies on the ability to share and reproduce results. When data analysis or calculations are carried out using software written by scientists there are special challenges around code versions, quality and code…

Software Engineering · Computer Science 2025-07-09 S. Lee , C. Myers , A. Yang , T. Zhang , S. J. L. Billinge

To support growing massive parallelism, functional components and also the capabilities of current processors are changing and continue to do so. Todays computers are built upon multiple processing cores and run applications consisting of a…

Programming Languages · Computer Science 2016-04-07 Somnath Mazumdar , Roberto Giorgi

Small to medium-scale data science experiments often rely on research software developed ad-hoc by individual scientists or small teams. Often there is no time to make the research software fast, reusable, and open access. The consequence…

Software Engineering · Computer Science 2022-11-10 Moritz Schubotz , Ankit Satpute , Andre Greiner-Petter , Akiko Aizawa , Bela Gipp

Computer science is also an experimental science. This is particularly the case for parallel computing, which is in a total state of flux, and where experiments are necessary to substantiate, complement, and challenge theoretical modeling…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-08-19 Sascha Hunold , Jesper Larsson Träff

Hardware double precision is often insufficient to solve large scientific problems accurately. Computing in higher precision defined by software causes significant computational overhead. The application of parallel algorithms compensates…

Mathematical Software · Computer Science 2020-12-15 Jan Verschelde

Open source software is a rapidly evolving center for distributed work, and understanding the characteristics of this work across its different contexts is vital for informing policy, economics, and the design of enabling software. The…

Software Engineering · Computer Science 2025-04-24 Wenyi Lu , Enock Kasaadah , S M Rakib Ul Karim , Matt Germonprez , Sean Goggins