Engineering PapersSearch

SEARCH · Engineering Papers

Results for “software verification”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 109 records · Page 6

Technology Transfer Challenges for High-Assurance Software Engineering Tools

In this paper, we describe our experience with the challenges thar we are currently facing in our effort to develop advanced software verification and validation tools. We categorize these challenges into several areas: cost benefits modeling, tool usability, customer application domain, and organizational issues. We provide examples of challenges in each area and identrfj, open research issues in areas which limit our ability to transfer high-assurance software engineering tools into practice.

John Penix

Kodiak: An Implementation Framework for Branch and Bound Algorithms

Recursive branch and bound algorithms are often used to refine and isolate solutions to several classes of global optimization problems. A rigorous computation framework for the solution of systems of equations and inequalities involving nonlinear real arithmetic over hyper-rectangular variable and parameter domains is presented. It is derived from a generic branch and bound algorithm that has been formally verified, and utilizes self-validating enclosure methods, namely interval arithmetic and, for polynomials and rational functions, Bernstein expansion. Since bounds computed by these enclosure methods are sound, this approach may be used reliably in software verification tools. Advantage is taken of the partial derivatives of the constraint functions involved in the system, firstly to reduce the branching factor by the use of bisection heuristics and secondly to permit the computation of bifurcation sets for systems of ordinary differential equations. The associated software development, Kodiak, is presented, along with examples of three different branch and bound problem types it implements.

Smith, Andrew P.

Real-time computer simulation/emulation for verification of multi-fault-tolerant control of Centaur-in-Shuttle

NASA has contracted with General Dynamics to design and develop an advanced Centaur liquid upper stage for support of the Galileo and Solar Polar interplanetary missions in 1985-86. The control of the Centaur while it resides in the Shuttle cargo bay must meet the STS safety requirements to be dual failure tolerant in all mission critical functions. The demonstration of the integrity of this control system in the event of multiple component failures and worst-case time-phase asynchroniety among the system's computers is performed by a real-time computer simulation. The simulation emulates the control hardware, subsystem interfaces, and imbedded software processes, wire-by-wire, to provide accessibility for fault insertion. Observability is provided via graphics and diagnostic software. Verification is the product of Monte Carlo simulation analysis.

Szatkowski, G. P.

Gamma Source Verification for GAMSRC and GAMSOR

Nuclear reactors that rely upon the fission reaction have two modes of thermal energy deposition in the reactor system: neutron absorption and gamma absorption. The gamma rays are typically generated by neutron capture reactions or during the fission process which means the primary driver of energy production is of course the neutron interactions. The GAMSOR program was first built in the mid 1980s to properly account for the gamma heating in an operating reactor core on core internals. The GAMSOR code is sequence of DIF3D calculations to compute the neutron and gamma flux and combine them to define both the neutron and gamma heating throughout the modeled domain. The goal of this manuscript is to present the software verification of GAMSOR. The first step of the GAMSOR sequence of calculations involves of a modified version of DIF3D (called DIF3D-GAMSOR) which generates a gamma source distribution for the follow-on DIF3D gamma transport calculation (step 2). This modified version of DIF3D increases the burden of maintenance and verification work on GAMSOR as one must reverify the DIF3D capabilities which is undesirable. Because the calculation of the gamma source is the only unique aspect of GAMSOR beyond the regular DIF3D capabilities, that part was put in a standalone code called GAMSRC such that one can use the verified DIF3D code in step 1 followed by GAMSRC to carry out the same GAMSOR calculation step. As a consequence, this manuscript is focused on verification of the gamma source files generated by GAMSRC. The verification of the modified version of DIF3D (DIF3D-GAMSOR) will be done less rigorously in that it will be verified that it produces the same output that GAMSRC does and thus GAMSRC is equivalent to GAMSOR on the problems studied here. Hand calculations and independent numerical calculations of the gamma source generation are used for the verification work. This work follows the same methodology of GAMSRC. As expected, the results agree well with those calculated by GAMSRC as will be shown.

22 GENERAL STUDIES OF NUCLEAR REACTORS

Expert system decision support for low-cost launch vehicle operations

Progress in assessing the feasibility, benefits, and risks associated with AI expert systems applied to low cost expendable launch vehicle systems is described. Part one identified potential application areas in vehicle operations and on-board functions, assessed measures of cost benefit, and identified key technologies to aid in the implementation of decision support systems in this environment. Part two of the program began the development of prototypes to demonstrate real-time vehicle checkout with controller and diagnostic/analysis intelligent systems and to gather true measures of cost savings vs. conventional software, verification and validation requirements, and maintainability improvement. The main objective of the expert advanced development projects was to provide a robust intelligent system for control/analysis that must be performed within a specified real-time window in order to meet the demands of the given application. The efforts to develop the two prototypes are described. Prime emphasis was on a controller expert system to show real-time performance in a cryogenic propellant loading application and safety validation implementation of this system experimentally, using commercial-off-the-shelf software tools and object oriented programming techniques. This smart ground support equipment prototype is based in C with imbedded expert system rules written in the CLIPS protocol. The relational database, ORACLE, provides non-real-time data support. The second demonstration develops the vehicle/ground intelligent automation concept, from phase one, to show cooperation between multiple expert systems. This automated test conductor (ATC) prototype utilizes a knowledge-bus approach for intelligent information processing by use of virtual sensors and blackboards to solve complex problems. It incorporates distributed processing of real-time data and object-oriented techniques for command, configuration control, and auto-code generation.

Szatkowski, G. P.

Verification of EvaluateFLux Utility Program

The EvaluateFlux program is a post-processing utility program for DIF3D, specifically DIF3D-VARIANT which handles Cartesian and hexagonal geometries. The EvaluateFlux program was developed to allow users to obtain flux and power traverses through the geometry domain, and its initial purpose was to facilitate foil analysis by evaluating the flux solution from DIF3D-VARIANT and combining it with foil cross section data. The EvaluateFlux program can calculate the neutron flux, as well as the reaction rates, at any user provided evaluation point. It does this by identifying the spatial mesh associated with the evaluation point and then evaluates the polynomial based neutron flux moments stored in the NHFLUX file at that point. The output of EvaluateFlux varies depending on the input setup. The maximum output includes the neutron flux and microscopic and macroscopic reaction rates at each evaluation point. The purpose of this work is to verify the outputs of EvaluateFlux. Simple models that have hand calculatable results are first defined and used to verify the EvaluateFlux outputs. More complex cases are then added where a duplicate program of EvaluateFlux that uses PrintTables outputs of the binary files is used to verify the EvaluateFlux outputs. In those complex cases, hand calculations of selected evaluation points were also displayed to confirm the software verification. For all the tests done, the hand calculations agreed well with those calculated by EvaluateFlux. For the larger complex problems, the duplicate program that can process hundreds of evaluation points was able to identify that zero points within some meshes have large errors. This aspect was attributed to the truncation error on the input provided to the duplicate program and is not a concern for the accuracy of the EvaluateFlux software.

97 MATHEMATICS AND COMPUTING

Verification of the EvaluateFlux Utility Program

The EvaluateFlux program is a post-processing utility program for DIF3D, specifically DIF3D-VARIANT which handles Cartesian and hexagonal geometries. The EvaluateFlux program was developed to allow users to obtain flux and power traverses through the geometry domain, and its initial purpose was to facilitate foil analysis by evaluating the flux solution from DIF3D-VARIANT and combining it with foil cross section data. The EvaluateFlux program can calculate the neutron flux, as well as the reaction rates, at any user provided evaluation point. It does this by identifying the spatial mesh associated with the evaluation point and then evaluates the polynomial based neutron flux moments stored in the NHFLUX file at that point. The output of EvaluateFlux varies depending on the input setup. The maximum output includes the neutron flux and microscopic and macroscopic reaction rates at each evaluation point. The purpose of this work is to verify the outputs of EvaluateFlux. Simple models that have hand calculatable results are first defined and used to verify the EvaluateFlux outputs. More complex cases are then added where a duplicate program of EvaluateFlux that uses PrintTables outputs of the binary files is used to verify the EvaluateFlux outputs. In those complex cases, hand calculations of selected evaluation points were also displayed to confirm the software verification. For all the tests done, the hand calculations agreed well with those calculated by EvaluateFlux. For the larger complex problems, the duplicate program that can process hundreds of evaluation points was able to identify that zero points within some meshes have large errors. This aspect was attributed to the truncation error on the input provided to the duplicate program and is not a concern for the accuracy of the EvaluateFlux software.

22 GENERAL STUDIES OF NUCLEAR REACTORS

Program Model Checking: A Practitioner's Guide

Program model checking is a verification technology that uses state-space exploration to evaluate large numbers of potential program executions. Program model checking provides improved coverage over testing by systematically evaluating all possible test inputs and all possible interleavings of threads in a multithreaded system. Model-checking algorithms use several classes of optimizations to reduce the time and memory requirements for analysis, as well as heuristics for meaningful analysis of partial areas of the state space Our goal in this guidebook is to assemble, distill, and demonstrate emerging best practices for applying program model checking. We offer it as a starting point and introduction for those who want to apply model checking to software verification and validation. The guidebook will not discuss any specific tool in great detail, but we provide references for specific tools.

Pressburger, Thomas T.

A User-Focused Renovation of CERES Metadata

Production software and public data products for Clouds and the Earth’s Radiant Energy System (CERES) continue to evolve as the project extends its climate data record. The data management team for CERES is currently undertaking major renovations of both code and data products, the latter of which is, of course, in service of improving user experience. A major mode of CERES’ data product improvement is in renovating products’ metadata. Metadata standards have evolved since CERES began producing its data products in 2000. In its twentieth year, CERES essentially asked the question: how would the project design its data products if it could start all over again? With forthcoming editions, this rebirth will be realized. CERES has redesigned its metadata standards to best position itself for data discoverability. The project has used the latest standards being developed in NASA’s Earth Science Data and Information Systems (ESDIS) Project’s Unified Metadata Model (UMM) documentation; collaborated with the Atmospheric Science Data Center (ASDC) to ensure compliance with Common Metadata Repository compatibility, and continued compliance with Climate and Forecast (CF) Conventions. In doing so, the team created its own, internal document for proper metadata creation and metadata verification software that is deployed prior to all code deliveries. This presentation will discuss this redesign process, as well as needs met and those that are still outstanding in the search for an improved user experience with CERES data products.

Kathleen Dejwakh

Deductive Verification of Cryptographic Software

We report on the application of an off-the-shelf verification platform to the RC4 stream cipher cryptographic software implementation (as available in the openSSL library), and introduce a deductive verification technique based on self-composition for proving the absence of error propagation.

Almeida, Jose Barcelar

From Sim to Real: A Pipeline for Training and Deploying Traffic Smoothing Cruise Controllers

Designing and validating controllers for connected and automated vehicles to enhance traffic flow presents significant challenges, from the complexity of replicating real-world stop-and-go traffic dynamics in simulation, to the intricacies involved in transitioning from simulation to actual deployment. In this work, we present a full pipeline from data collection to controller deployment. Specifically, we collect 772 km of driving data from the I-24 in Tennessee, and use it to build a one-lane simulator, placing simulated vehicles behind real-world trajectories. Using policy-gradient methods with an asymmetric critic, we improve fuel efficiency by over 10% when simulating congested scenarios. Our comprehensive approach includes reinforcement learning for controller training, software verification, hardware validation and setup, and navigating various sim-to-real challenges. Furthermore, we analyze the controller's behavior and wave-smoothing properties, and deploy it on four Toyota Rav4’s in a real-world validation experiment on the I-24. Lastly, we release the driving dataset, the simulator and the trained controller, to enable future benchmarking and controller design.

42 ENGINEERING

An open-access simulated earthquake ground-motion database for an M7 Hayward Fault earthquake in the San Francisco Bay Region

Comprehensive understanding of earthquake ground motions, particularly in the near-fault region of large-magnitude events, is limited by gaps in strong-motion data. This challenge is prominent in areas with high seismic hazard but infrequent large earthquakes where data is sparse and difficult to interpret. These data limitations lead to uncertainties in the development of site-specific ground motions, which are crucial for engineering risk assessments. To address these challenges, physics-based regional-scale ground-motion simulations have been developed. With the emergence of exaflop-scale computing ecosystems, it is now possible to simulate regional earthquake processes at unprecedented fidelity and generate the large number of fault rupture realizations necessary to characterize both intra- and inter-event ground-motion variability. This article introduces a new database of simulated earthquake ground motions, created for applications in earthquake engineering, earthquake planning, and emergency response. The inaugural version of the database features simulated ground motions for a magnitude 7 Hayward Fault earthquake in the San Francisco Bay Region (SFBR), using the EarthQuake SIMulation (EQSIM) simulation framework and the Graves–Pitarka kinematic rupture model. The aim is to provide high-fidelity, spatially dense, three-component motions generated on the Department of Energy’s (DOE) newest generation of graphics processing unit (GPU)-accelerated supercomputers. These motions are being made openly available to the engineering, scientific, and disaster planning communities. In addition, this work develops protocols for the efficient dissemination of these large data sets and emphasizes community engagement to build confidence in their application. This article discusses the methodology behind the data, underlying software verification and validation, scalable data management, and a user interface for data access. The goal is to facilitate widespread use and elicit expert feedback to maximize the utility and exploitation of simulated motions. While the initial focus is on the San Francisco Region, simulations for additional regions will be added as the DOE program progresses.

Simulated ground-motion database

Theory Manual for the Reaction Summary Module- SUMMAR

The post-processing module of DIF3D called SUMMAR was created to produce commonly used reactor engineering outputs. It is a optional output option for DIF3D and provides alternative summarizes of power, flux, and neutron balance over the user specified regions and areas. It can also provide isotope-wise microscopic and macroscopic reaction rates along with the effective one-group microscopic cross sections needed for solving the Bateman equations. This report serves as both the theory manual, user guide, and software verification of the SUMMAR module. The methodology and equations for all SUMMAR calculated parameters are presented here and discussed. Then the verification work, based upon simple DIF3D models, is presented to validate the derived equations. The SUMMAR inputs and outputs are detailed and examples are given to demonstrate it.

22 GENERAL STUDIES OF NUCLEAR REACTORS

Towards a Verifiable Domain-Specific Language for Hardware-Accelerated Stencils

Defining a domain-specific language (DSL) that supports vector-calculus abstractions eases the porting of partial differential equation (PDE) solvers to specialized architectures. Sufficiently high-level abstractions empower users to express universal laws with sufficient generality that the laws must always hold true within their domain of validity. A broad class of PDE solvers employs stencil-based algorithms, the target domain of Berkeley Lab's stencil accelerator chip co-design project. First released as open-source in January 2026, the Formal software framework lays a foundation for defining an embedded DSL based on composable operators that implement mimetic numerical methods -- stencil algorithms that guarantee satisfaction of discrete versions of important vector calculus theorems. The Formal DSL will be the frontend to a new class of stencil-PDE accelerators developed jointly by LBNL, UHCL, and UC Berkeley through the DOE Competitive Portfolios for Computer Science Project. This offers the potential of an order of magnitude acceleration for this important category of computational methods to serve the DOE mission. Future work on the Formal DSL will facilitate software verification via type-safe templates that enable problem-specific correctness proofs relying upon generic function theory and carefully crafted unit tests.

Rouson, Damian

The Fluid Dynamics Uncertainty Quantification Challenge Problem: XFOIL vs. MFOIL

Uncertainty quantification (UQ) has become more critical in aerospace engineering due to the growing dependence on computational tools for design optimization and performance analyses of aerospace vehicles. Even though the significance of UQ in assessing the credibility of computational analyses is well recognized, its costs and complexity impede its integration into standard practices, particularly in computational fluid dynamics (CFD) and other fluid analyses. This paper presents a UQ study for low-fidelity computational aerodynamics analyses with XFOIL and mfoil (i.e., the MATLAB version of XFOIL with several implementation modifications); these tools are utilized widely in both research and education. The main contributions of this paper are as follows: 1) improved precision in quantifying the uncertainty of the baseline Monte Carlo results used to benchmark surrogate modeling techniques for UQ, 2) quantification of the effect of the implementation differences between XFOIL and mfoil on solution quantities of interest (QoIs), such as lift and pitching moment coefficients, and 3) development of an open-source UQ library for use with XFOIL and mfoil, which has educational values and helps promote UQ for fluid analyses with aerospace applications. Results and discussions revolve around cases 1-4 of the challenge problem posed by the AIAA Fluid Dynamics Technical Committee’s Uncertainty Quantification Discussion Group (UQDG). In case 3, this work employs CFDverify, an open-source solution verification software, to quantify the discretization error and evaluate the extrapolated QoIs based on the grid convergence index (GCI). This UQ study differentiates itself from previous studies in the rigor of handling baseline Monte Carlo uncertainty and in including mfoil, which is a more accessible alternative to XFOIL. Finally, despite the growing computing power, low-fidelity computational tools remain valuable, such as for aerodynamic shape optimization at Mach numbers below 0.65 and low-to-mid Reynolds numbers.

Lay, Aidan S [University of Tennessee, Knoxville (

Fault-tolerance experiments with the JPL STAR computer.

Results of fault-tolerance experiments performed using an experimental computer with dynamic (standby) redundancy, including replaceable subsystems and a 'program rollback' provision to eliminate transient-caused errors. After a brief review of the specification of fault-tolerance with respect to transient faults, including a description of the method of injection of transient faults in software and system tests, fault-tolerance experiments carried out with this computer with regard to the determination of fault classes, software verification, system verification, and recovery stability are summarized. A test and repair processor is described which constitutes a special monitor unit of the computer and is used to obtain information for fault detection in the other subsystems of the computer and to ensure that proper recovery occurs when a fault is detected.

Avizienis, A.