Correctness for Scientific Computing Systems
U.S. National Science Foundation · Other Federal · 24-571
Source: Grants.gov · View original posting ↗
- AwardWhat a single award can be worth — the funder's published per-award amount or floor–ceiling range.
- $18M total
- DeadlineFinal application due date.
- Aug 11, 2026
- Letter of intentDue date for the letter of intent (a short pre-application some funders require or request before the full proposal).
- —
- MechanismNIH activity code — the grant type (R01 research project, R21 exploratory, K series career development, F series fellowship, …).
- —
- DurationMaximum project period for a single award.
- —
- Expected awardsHow many awards the funder anticipates making under this opportunity.
- —
- Funding cycleHow often the program accepts applications (annual, multiple cycles per year, rolling, or one-time).
- Unknown
- Open dateWhen applications open (or opened).
- May 10, 2024
- Total fundingThe overall pool the funder expects to commit across ALL awards under this opportunity — not what one project receives.
- $18M total
- Clinical trialWhether proposed projects must, may, or must not include a clinical trial.
- Unspecified
Research areas
Auto-classified from the title and description (keyword-based) — may be imperfect.
Description
Correctness for Scientific Computing Systems (CS 2 ) is a joint program of the National Science Foundation (NSF) and the Department of Energy (DOE). The program addresses challenges that are both core to DOE’s mission and essential to NSF’s mission of ensuring broad scientific progress. The program’s overarching goal is to elevate correctness as a fundamental requirement for scientific computing tools and tool chains, spanning low-level libraries through complex multi-physics simulations and emerging scientific workflows. At an elementary level, correctness of a system means that desired behavioral properties will be satisfied during the system’s execution. In the context of scientific computing, correctness can be understood, at both the level of software and hardware, as absence of faulty behaviors such as excessive numerical rounding, floating-point exceptions, data races deadlocks, memory faults, violations of specifications at interfaces of system modules, and so on. The CS 2 program puts correctness on an equal footing with performance, the focus of current scientific computing research. This program envisions the necessity of proving correctness even in performant scientific computing systems. Such correctness proofs themselves might rely upon multiple factors, including correctness of static and runtime program analyses. Recognizing that many scientific computing applications are inherently statistical, use probabilistic or randomized algorithms, and/or deal with uncertain data, probabilistic notions of correctness may be needed. It is also critical to realize that correctness guarantees are provided with respect to some pre-defined system model. For many reasons, including misspecification, approximation, and defect, the state space allowed by real systems might depart from that model. When this happens, the ability to probe the system to isolate the discrepancy is a key challenge in many domains. CS 2 requires close and continuous collaboration between researchers in two complementary areas of expertise. One area is scientific computing, which, for this solicitation, is broadly construed to include: models and simulations of scientific theories; management and analysis of data from scientific simulations, observations, and experiments; libraries for numerical computation; and allied topics. The second area is formal reasoning and mechanized proving of properties of programs, which, for this solicitation, is broadly construed to include automatic/interactive/auto-active verification, runtime verification, type systems, abstract interpretation, programming languages, program analysis, program logic, compilers, concurrency, stochastic reasoning, static and dynamic testing, property-based testing, and allied topics.