  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) novel parallelism paradigms such as Shared Memory Parallelism (with
e.g. OpenMP 4.5); Distributed Memory Parallelism (with e.g. MPI 4); Hybrid
Parallelism which combines them; and Heterogeneous Parallelism (for CPUs,
co-processors and accelerators), 2) introducing advanced Software Engineering
concepts such as Object Oriented Parallel Programming (OOPP); Parallel Unit
testing; Parallel I/O Formats; Hybrid Parallel Visualization; and 3) Selecting
the Best Practices in other necessary areas such as User Interface; Automatic
Documentation; Version Control and Project Management. In this work we present
BACKUS: Comprehensive High-Performance Research Software Engineering Approach
for Simulations in Supercomputing Systems, which we found to fit best for
long-lived parallel scientific codes.
