skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Preventing Run-Time Bugs at Compile-Time Using Advanced C++

Abstract

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.

Authors:
 [1]
  1. Fermilab
Publication Date:
Research Org.:
Fermi National Accelerator Lab. (FNAL), Batavia, IL (United States)
Sponsoring Org.:
USDOE Office of Science (SC), High Energy Physics (HEP) (SC-25)
OSTI Identifier:
1437395
Report Number(s):
FERMILAB-CONF-17-658-AD
1656459
DOE Contract Number:  
AC02-07CH11359
Resource Type:
Conference
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
Subject:
43 PARTICLE ACCELERATORS

Citation Formats

Neswold, Richard. Preventing Run-Time Bugs at Compile-Time Using Advanced C++. United States: N. p., 2018. Web. doi:10.18429/JACoW-ICALEPCS2017-THPHA174.
Neswold, Richard. Preventing Run-Time Bugs at Compile-Time Using Advanced C++. United States. doi:10.18429/JACoW-ICALEPCS2017-THPHA174.
Neswold, Richard. Mon . "Preventing Run-Time Bugs at Compile-Time Using Advanced C++". United States. doi:10.18429/JACoW-ICALEPCS2017-THPHA174. https://www.osti.gov/servlets/purl/1437395.
@article{osti_1437395,
title = {Preventing Run-Time Bugs at Compile-Time Using Advanced C++},
author = {Neswold, Richard},
abstractNote = {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.},
doi = {10.18429/JACoW-ICALEPCS2017-THPHA174},
journal = {},
number = ,
volume = ,
place = {United States},
year = {Mon Jan 01 00:00:00 EST 2018},
month = {Mon Jan 01 00:00:00 EST 2018}
}

Conference:
Other availability
Please see Document Availability for additional information on obtaining the full-text document. Library patrons may search WorldCat to identify libraries that hold this conference proceeding.

Save / Share: