English
Related papers

Related papers: Software for Science: Some Personal Reflections

200 papers

After years of using Graphics Processing Units (GPUs) to accelerate scientific applications in fields as varied as tomography, computer vision, climate modeling, digital forensics, geospatial databases, particle physics, radio astronomy,…

Software Engineering · Computer Science 2020-05-28 Ben van Werkhoven , Willem Jan Palenstijn , Alessio Sclocco

Correctly applying distributed systems concepts is important for software that seeks to be scalable, reliable and fast. For this reason, Distributed Systems is a course included in many Computer Science programs. To both describe current…

Computers and Society · Computer Science 2020-12-02 Cristina L. Abad , Eduardo Ortiz-Holguin , Edwin F. Boza

Scientists spend an increasing amount of time building and using software. However, most scientists are never taught how to do this efficiently. As a result, many are unaware of tools and practices that would allow them to write more…

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…

Software Engineering · Computer Science 2020-03-13 Huy Tu , Rishabh Agrawal , Tim Menzies

The purpose of this paper is to show how existing scientific software can be parallelized using a separate thin layer of Python code where all parallel communication is implemented. We provide specific examples on such layers of code, and…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-05-18 Jon K. Nilsen , Xing Cai , Bjorn Hoyland , Hans Petter Langtangen

Most university curricula consider software processes to be on the fringes of software engineering (SE). Students are told there exists a plethora of software processes ranging from RUP over V-shaped processes to agile methods. Furthermore,…

Software Engineering · Computer Science 2013-12-19 Marco Kuhrmann , Daniel Méndez Fernández , Jürgen Münch

Research software -- specialist software used to support or undertake research -- is of huge importance to researchers. It contributes to significant advances in the wider world and requires collaboration between people with diverse skills…

Software Engineering · Computer Science 2021-06-22 Neil P. Chue Hong , Jeremy Cohen , Caroline Jay

This document explores the advantages of integrating open source software and practices in managing a scientific lab, emphasizing reproducibility and the avoidance of pitfalls. It details practical applications from website management using…

Computers and Society · Computer Science 2024-05-14 Julien Cohen-Adad

As multicore computing is now standard, it seems irresponsible for constraints researchers to ignore the implications of it. Researchers need to address a number of issues to exploit parallelism, such as: investigating which constraint…

Artificial Intelligence · Computer Science 2018-03-30 Ian P. Gent , Ciaran McCreesh , Ian Miguel , Neil C. A. Moore , Peter Nightingale , Patrick Prosser , Chris Unsworth

Effective use of parallel and distributed computing in science depends upon multiple interdependent entities and activities that form an ecosystem. Active engagement between application users and technology catalysts is a crucial activity…

Software Engineering · Computer Science 2013-09-10 Ketan Maheshwari , David Kelly , Scott J. Krieder , Justin M. Wozniak , Daniel S. Katz , Mei Zhi-Gang , Mainak Mookherjee

While modern parallel computing systems offer high performance, utilizing these powerful computing resources to the highest possible extent demands advanced knowledge of various hardware architectures and parallel programming models.…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-05-03 Suejb Memeti , Sabri Pllana , Alecio Binotto , Joanna Kolodziej , Ivona Brandic

Scientific software often presents very particular requirements regarding usability, which is often completely overlooked in this setting. As computational science has emerged as its own discipline, distinct from theoretical and…

Human-Computer Interaction · Computer Science 2017-09-05 Francisco Queiroz , Raniere Silva , Jonah Miller , Sandor Brockhauser , Hans Fangohr

Open source software development, particularly within institutions such as universities and research laboratories, is often decentralized and difficult to track. Although academic teams produce many impactful scientific tools, their…

Software Engineering · Computer Science 2026-02-27 Juanita Gomez , Emily Lovell , Stephanie Lieggi , Alvaro A. Cardenas , James Davis

Rapid technological progress in computer sciences finds solutions and at the same time creates ever more complex requirements. Due to an evolving complexity todays programming languages provide powerful frameworks which offer standard…

Human-Computer Interaction · Computer Science 2019-05-17 Igor Ivkic , Alexander Wöhrer , Markus Tauber

This paper describes the motivation and design of a 10-week graduate course that teaches practices for developing research software; although offered by an engineering program, the content applies broadly to any field of scientific research…

Software Engineering · Computer Science 2019-06-27 Kyle E. Niemeyer

Scientific software-defined as computer programs, scripts, or code used in scientific research, data analysis, modeling, or simulation-has become central to modern research. However, there is limited research on the readability and…

Software Engineering · Computer Science 2025-01-20 Alyssia Chen , Carol Wong , Bonita Sharif , Anthony Peruma

Research software (also called scientific software) is essential for advancing scientific endeavours. Research software encapsulates complex algorithms and domain-specific knowledge and is a fundamental component of all science. A pervasive…

Software Engineering · Computer Science 2026-03-24 Neil A. Ernst , Ahmed Musa Awon , Swapnil Hingmire , Ze Shi Li

Software is now a vital scientific instrument, providing the tools for data collection and analysis across disciplines from bioinformatics and computational physics, to the humanities. The software used in research is often home-grown and…

Software Engineering · Computer Science 2019-03-15 Mario Rosado de Souza , Robert Haines , Markel Vigo , Caroline Jay

In computational science and in computer science, research software is a central asset for research. Computational science is the application of computer science and software engineering principles to solving scientific problems, whereas…

Software Engineering · Computer Science 2019-08-19 Wilhelm Hasselbring , Leslie Carr , Simon Hettrick , Heather Packer , Thanassis Tiropanis

Parallelization has become a cornerstone of modern computing, influencing everything from high performance supercomputers to everyday mobile devices. This paper presents a comprehensive guide on the fundamentals of parallelization that…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-04-08 Temitayo Adefemi