A 20-year-old paper titled Smart Libraries: Best SQE Practices for Libraries with an Emphasis on Scientific Computing describes over 30 Software Quality Engineering (SQE) practices that remain relevant in today's HPC/CSE community.
Resource information | Details |
---|---|
Paper Title | Smart Libraries: Best SQE Practices for Libraries with an Emphasis on Scientific Computing |
Authors | M. C. Miller, J. F. Reus, R. P. Matzke, Q. A. Koziol, A. P. Cheng |
Publication | Proceedings of the Nuclear Explosives Code Developer's Conference 2004, Volume 1, December 2004, UCRL-JRNL-208636 https://www.osti.gov/biblio/936460 |
What is a smart library? A critical design goal of a smart library is to enable users, often developers of applications using the library, to avoid making simple mistakes in building, installing, and using the library, as well as to enable them to easily diagnose and correct problems when they occur.
Although it is nearly twenty years old now, this 2004 NECDC paper lists over 30 concrete software engineering practices that are still useful for developing libraries used in scientific computing today.
Key differences between Software Quality Engineering (SQE) practices for libraries, as opposed to applications, are highlighted, with explanations of why libraries often have more stringent SQE requirements.
The article concludes with a couple of detailed use cases that involve the use of smart libraries in real-world scientific computing workflows and explains how their features ultimately helped in reducing development time and improving productivity.