RSE of a Quantum Transport Code and its Effects
Christoph Conrads, Edoardo Di Napoli

TL;DR
This paper discusses practical software engineering practices applied to libNEGF, a Fortran quantum transport code, highlighting defect detection, performance monitoring, and generalizable recommendations for scientific software development.
Contribution
It provides a systematic account of RSE practices in scientific code, revealing common defects and performance issues, with recommendations applicable across programming languages.
Findings
Identification of critical defects like uninitialized memory reads and boundary condition errors.
Continuous benchmarking exposed performance regressions due to HPC configuration changes.
Defects similar to undefined behavior are common in Fortran scientific codes.
Abstract
This paper presents our research software engineering (RSE) experiences over two years with libNEGF, a quantum transport code. We describe practical approaches to code quality assurance--including continuous integration, automated testing, and compiler warning correction--and performance engineering through continuous benchmarking. Our systematic application of these practices revealed critical defects: uninitialized memory reads, out-of-bounds writes, and notably, a misunderstood mathematical model in our boundary condition handling. We also document how continuous benchmarking exposed performance regressions caused by HPC system configuration changes. Our findings provide data points suggesting that a dangerous class of defects--equivalent to undefined behavior in C/C++ and processor-dependent behavior in Fortran--is as prevalent in Fortran scientific codes as elsewhere. While libNEGF…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
