Preventing Run-Time Bugs at Compile-Time Using Advanced C++
- Fermilab
When writing software, we develop algorithms that tell the computer what to do at run-time. Our solutions are easier to understand and debug when they are properly modeled using class hierarchies, enumerations, and a well-factored API. Unfortunately, even with these design tools, we end up having to debug our programs at run-time. Worse still, debugging an embedded system changes its dynamics, making it tough to find and fix concurrency issues. This paper describes techniques using C++ to detect run-time bugs *at compile time*. A concurrency library, developed at Fermilab, is used for examples in illustrating these techniques.
- Research Organization:
- Fermi National Accelerator Lab. (FNAL), Batavia, IL (United States)
- Sponsoring Organization:
- USDOE Office of Science (SC), High Energy Physics (HEP)
- DOE Contract Number:
- AC02-07CH11359
- OSTI ID:
- 1437395
- Report Number(s):
- FERMILAB-CONF-17-658-AD; 1656459
- Resource Relation:
- Conference: 16th International Conference on Accelerator and Large Experimental Physics Control Systems, Barcelona, Spain, 10/08-10/13/2017
- Country of Publication:
- United States
- Language:
- English
Similar Records
...And Eat it Too: High Read Performance in Write-Optimized HPC I/O Middleware File Formats
Lightweight and Statistical Techniques for Petascale Debugging: Correctness on Petascale Systems (CoPS) Preliminry Report
High-speed, multi-channel detector readout electronics for fast radiation detectors
Conference
·
Thu Jan 01 00:00:00 EST 2009
·
OSTI ID:1437395
+5 more
Lightweight and Statistical Techniques for Petascale Debugging: Correctness on Petascale Systems (CoPS) Preliminry Report
Technical Report
·
Tue Sep 13 00:00:00 EDT 2011
·
OSTI ID:1437395
High-speed, multi-channel detector readout electronics for fast radiation detectors
Technical Report
·
Fri Jun 22 00:00:00 EDT 2012
·
OSTI ID:1437395