Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “code review”

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 37 records · Page 2

MAUS: the MICE analysis user software

The Muon Ionization Cooling Experiment (MICE) collaboration has developed the MICE Analysis User Software (MAUS) to simulate and analyze experimental data. It serves as the primary codebase for the experiment, providing for offline batch simulation and reconstruction as well as online data quality checks. The software provides both traditional particle-physics functionalities such as track reconstruction and particle identification, and accelerator physics functions, such as calculating transfer matrices and emittances. The code design is object orientated, but has a top-level structure based on the Map-Reduce model. This allows for parallelization to support live data reconstruction during data-taking operations. MAUS allows users to develop in either Python or C++ and provides APIs for both. Various software engineering practices from industry are also used to ensure correct and maintainable code, including style, unit and integration tests, continuous integration and load testing, code reviews, and distributed version control. The software framework and the simulation and reconstruction capabilities are described.

47 OTHER INSTRUMENTATION↗

Shifting Left for Machine Learning: An Empirical Study of Security Weaknesses in Supervised Learning-based Projects

Context: Supervised learning-based projects (SLPs), i.e., software projects that use supervised learning algorithms, such as decision trees are useful for performing classification-related tasks. Yet, security weaknesses, such as the use of hard-coded passwords in SLPs, can make SLPs susceptible to security attacks. A characterization of security weaknesses in SLPs can help practitioners understand the security weaknesses that are frequent in SLPs and adopt adequate mitigation strategies. Objective: The goal of this paper is to help practitioners se-curely develop supervised learning-based projects by conducting an empirical study of security weaknesses in supervised learning-based projects. Methodology: We conduct an empirical study by quantifying the frequency of security weaknesses in 278 open source SLPs. Results: We identify 22 types of security weaknesses that occur in SLPs. We observe ‘use of potentially dangerous function’ to be the most frequently occurring security weakness in SLPs. Of the identified 3,964 security weaknesses, 23.79 % and 40.49 % respectively, appear for source code files used to train and test models. We also observe evidence of co-location, e.g., instances of command injection co-locates with instances of potentially dangerous function. Conclusion: Based on our findings, we advocate for a shift left approach for SLP development with security-focused code reviews, and application of security static analysis.

Bhuiyan, Farzana Ahamed↗

DyninstAPI Patches

We are seeking a code review of patches against DyninstAPI 8.0. DyninstAPI is an open source binary instrumentation library from the University of Wisconsin and University of Maryland. Our patches port DyninstAPI to the BlueGene/P and BlueGene/Q systems, as well as fix DyninstAPI bugs and implement minor new features in DyninstAPI.

SciDAC↗

Software infrastructure progress in the RAVEN code

The milestones have been achieved. RAVEN has been migrated to Gitlab which adds new abilities for code review and management. Standalone RAVEN framework packages have been created for OSX and two Linux distributions.

97 MATHEMATICS AND COMPUTING↗

Controlled Environmental Agriculture and Energy Project

Task A: Heating Plant - To design/build a Heating Plant Building with associated heating components for heating the greenhouse and to house the biomass gasification system. The subtasks for this task was and Engineering Design, Procurement and Construction activities. Overall milestones for this task were one construction permit, a code review and stamped drawings, engineered building vendor supplied sealed drawings, and the actual erection of a 1250 sq.ft. building. Task B: Heating System - The activities for this task included the procurement of the heating boilers and all ancillary components. This also included the installation of all heating system components in the new building plus the existing greenhouse structure. The milestone for this task was for the ability to heat 2500 gallons of water to 80 degrees F. Task C: Organic Matter Automated Hopper - The activities involved in this task involved design/fabrication of an automated hopper to feed the biomass gasification system. We need to procure materials and the automated motion components, have the system installed and factory acceptance test of the system. The milestone is to be able to feed wood chips at a rate of 20 Kg/Hr. Task D: Imbert Gasification System - The activities involved in this include the design/build of the gasifier with all accompany ductwork, cyclones and feeding system. Also there is a modification to the scrubber assembly with an automated ash removal system. Lastly a modification to the exhaust/flair system is made to capture heat from this component. Milestone for this task was to be able to produce 15 CFM of SynGas. Task E: Generator Powered by SynGas - Procure two 20kW 4 pole generator heads for installation on the gasifier system. Modification of the fuel plenum manifold with adjustment to the fuel curves for maximum power and load points. Milestone for this task is the ability to run two fuels, either SynGas or propane. This continues with the following tasks: Controls Heating System; Controls Generators 20kW; Controls Gasification; Algae System; and Final Evaluation/Operation.

60 APPLIED LIFE SCIENCES↗

Teaching Computational Reproducibility for Neuroimaging

We describe a project-based introduction to reproducible and collaborative neuroimaging analysis. Traditional teaching on neuroimaging usually consists of a series of lectures that emphasize the big picture rather than the foundations on which the techniques are based. The lectures are often paired with practical workshops in which students run imaging analyses using the graphical interface of specific neuroimaging software packages. Our experience suggests that this combination leaves the student with a superficial understanding of the underlying ideas, and an informal, inefficient, and inaccurate approach to analysis. To address these problems, we based our course around a substantial open-ended group project. This allowed us to teach: (a) computational tools to ensure computationally reproducible work, such as the Unix command line, structured code, version control, automated testing, and code review and (b) a clear understanding of the statistical techniques used for a basic analysis of a single run in an MR scanner. The emphasis we put on the group project showed the importance of standard computational tools for accuracy, efficiency, and collaboration. The projects were broadly successful in engaging students in working reproducibly on real scientific questions. We propose that a course on this model should be the foundation for future programs in neuroimaging. We believe it will also serve as a model for teaching efficient and reproducible research in other fields of computational science.

60 APPLIED LIFE SCIENCES↗

Software engineering project management - A state-of-the-art report

The management of software engineering projects in the aerospace industry was investigated. The survey assessed such features as contract type, specification preparation techniques, software documentation required by customers, planning and cost-estimating, quality control, the use of advanced program practices, software tools and test procedures, the education levels of project managers, programmers and analysts, work assignment, automatic software monitoring capabilities, design and coding reviews, production times, success rates, and organizational structure of the projects.

Thayer, R. H.↗

Software reliability studies

The longterm goal of this research is to identify or create a model for use in analyzing the reliability of flight control software. The immediate tasks addressed are the creation of data useful to the study of software reliability and production of results pertinent to software reliability through the analysis of existing reliability models and data. The completed data creation portion of this research consists of a Generic Checkout System (GCS) design document created in cooperation with NASA and Research Triangle Institute (RTI) experimenters. This will lead to design and code reviews with the resulting product being one of the versions used in the Terminal Descent Experiment being conducted by the Systems Validations Methods Branch (SVMB) of NASA/Langley. An appended paper details an investigation of the Jelinski-Moranda and Geometric models for software reliability. The models were given data from a process that they have correctly simulated and asked to make predictions about the reliability of that process. It was found that either model will usually fail to make good predictions. These problems were attributed to randomness in the data and replication of data was recommended.

Wilson, Larry W.↗

Evaluation of the Trajectory Operations Applications Software Task (TOAST). Volume 2: Interview transcripts

The Trajectory Operations Applications Software Task (TOAST) is a software development project whose purpose is to provide trajectory operation pre-mission and real-time support for the Space Shuttle. The purpose of the evaluation was to evaluate TOAST as an Application Manager - to assess current and planned capabilities, compare capabilities to commercially-available off the shelf (COTS) software, and analyze requirements of MCC and Flight Analysis Design System (FADS) for TOAST implementation. As a major part of the data gathering for the evaluation, interviews were conducted with NASA and contractor personnel. Real-time and flight design users, orbit navigation users, the TOAST developers, and management were interviewed. Code reviews and demonstrations were also held. Each of these interviews was videotaped and transcribed as appropriate. Transcripts were edited and are presented chronologically.

Perkins, Sharon↗

Verifying Architectural Design Rules of the Flight Software Product Line

This paper presents experiences of verifying architectural design rules of the NASA Core Flight Software (CFS) product line implementation. The goal of the verification is to check whether the implementation is consistent with the CFS architectural rules derived from the developer's guide. The results indicate that consistency checking helps a) identifying architecturally significant deviations that were eluded during code reviews, b) clarifying the design rules to the team, and c) assessing the overall implementation quality. Furthermore, it helps connecting business goals to architectural principles, and to the implementation. This paper is the first step in the definition of a method for analyzing and evaluating product line implementations from an architecture-centric perspective.

Ganesan, Dharmalingam↗

Architectural Analysis of Systems Based on the Publisher-Subscriber Style

Architectural styles impose constraints on both the topology and the interaction behavior of involved parties. In this paper, we propose an approach for analyzing implemented systems based on the publisher-subscriber architectural style. From the style definition, we derive a set of reusable questions and show that some of them can be answered statically whereas others are best answered using dynamic analysis. The paper explains how the results of static analysis can be used to orchestrate dynamic analysis. The proposed method was successfully applied on the NASA's Goddard Mission Services Evolution Center (GMSEC) software product line. The results show that the GMSEC has a) a novel reusable vendor-independent middleware abstraction layer that allows the NASA's missions to configure the middleware of interest without changing the publishers' or subscribers' source code, and b) some high priority bugs due to behavioral discrepancies, which were eluded during testing and code reviews, among different implementations of the same APIs for different vendors.

Ganesun, Dharmalingam↗

Natural Language Interface for Safety Certification of Safety-Critical Software

Model-based design and automated code generation are being used increasingly at NASA. The trend is to move beyond simulation and prototyping to actual flight code, particularly in the guidance, navigation, and control domain. However, there are substantial obstacles to more widespread adoption of code generators in such safety-critical domains. Since code generators are typically not qualified, there is no guarantee that their output is correct, and consequently the generated code still needs to be fully tested and certified. The AutoCert generator plug-in supports the certification of automatically generated code by formally verifying that the generated code is free of different safety violations, by constructing an independently verifiable certificate, and by explaining its analysis in a textual form suitable for code reviews.

Denney, Ewen↗

The Psyche Planning Software Subsystem: Creating a Robust Toolset for a Discovery-class Mission

Psyche is a Discovery-class mission to the small metal-rich asteroid (16) Psyche, and is slated to launch in 2022. Psyche, like many missions, requires low-cost activity planning and sequence generation that serves as the backbone to overall uplink design. Such tools must be maintainable over long periods of operations, and powerful enough to solve complex issues that deep-space one-off missions encounter. In this paper we introduce cost-effective solutions that leverage inner- and open-source principles to meet a variety of common and novel use cases.The uplink process that was designed to meet these challenges is presented, as well as the data-flow through the high-level architecture of the planning software subsystem. The user-facing planning tools are described, particularly the Science Opportunity Analyzer, the Plan Editor, Psyche’s planning automation in the Blackbird framework, and Psyche Simulation Reports. All these applications are either new or have been substantially revamped to meet Psyche’s concept of operations. In particular, ensuring the entire toolchain can correctly process epoch-relative activities is discussed. Underlying the main applications are a common set of dependencies developed and maintained by a new cross-mission association of planning developers. In this way, Psyche can inherit well-tested functionality which saves effort and ensures its developers can focus on solving domain challenges. Quality control of the applications and libraries is ensured with a code-review and unit-test based novel ‘CM lite’ process. Collaboration with international industry and academia using the open-source modules is already occurring.The planning and scheduling software is designed to maximize operator awareness of the integrated plan at every step of the process and use common interfaces and file formats to easily transfer information. Design choices plus the team’s test-driven development process enables more expansive capabilities compared to the decentralized planning and sequence generation functions typical of Discovery-class orbiters without significant development cost increases. Benefits and drawbacks of Psyche’s approach are discussed, including comparison to other missions and tools where appropriate.

Ramanathan, Keshav↗

Session 4: ASME Code Rules

General review of code rules What do they cover. What they don’t. Underlying assumptions Probability of failure Material property parameters Stresses and loads Degradation What is NonmetallicsWork Group (NWG) doing? Failure in components Redefining failure Degradation rules Oxidation degradation Irradiation degradation Molten Salt Issues Abrasion/Erosion

11 NUCLEAR FUEL CYCLE AND FUEL MATERIALS↗

Safety Codes and Standards Review and Gap Analysis for Applicability to Hydrogen Rail Refueling, Defueling, Maintenance, and Storage

Hydrogen-powered locomotives may present an alternative to diesel for achieving transportation-related decarbonization, energy security, and resilience goals. As an emerging technology, hydrogen locomotives may not have adequate representation in current safety codes and standards. NFPA 2 and other appropriate codes and standards were reviewed to identify technical gaps in the code for hydrogen rail defueling, refueling, maintenance, and storage. Several technical gaps pertaining to setback distances, allowable quantities, ventilation rates, and grounding have been identified. Fueling requirements can be informed by road vehicle standards but may need to be revised for larger quantity hydrogen locomotive systems. Since there are no hydrogen-specific locomotive design and safety standards, some aspects of diesel-based locomotive standards may apply. CGA G- 5.5 currently provides the most guidance on height, placement, orientation, and design of vent systems, while other standards emphasize the importance of shielding vent stacks and provide requirements for orientation of their discharge.

08 HYDROGEN↗

Mandating better buildings: a global review of building codes and prospects for improvement in the United States

This paper provides a global overview of the design, implementation, and evolution of building energy codes. Reflecting alternative policy goals, building energy codes differ significantly across the United States, the European Union, and China. This review uncovers numerous innovative practices including greenhouse gas emissions caps per square meter of building space, energy performance certificates with retrofit recommendations, and inclusion of renewable energy to achieve “nearly zero-energy buildings”. These innovations motivated an assessment of an aggressive commercial building code applied to all US states, requiring both new construction and buildings with major modifications to comply with the latest version of the ASHRAE 90.1 Standards. Using the National Energy Modeling System (NEMS), we estimate that by 2035, such building codes in the United States could reduce energy for space heating, cooling, water heating and lighting in commercial buildings by 16%, 15%, 20% and 5%, respectively. Impacts on different fuels and building types, energy rates and bills as well as pollution emission reductions are also examined.

29 ENERGY PLANNING, POLICY, AND ECONOMY↗

Review of a code development and calibration program in support of the aeroassist flight experiment

The code development and calibration program for the Langley Aerothermodynamic Upwind Relaxation Algorithm (LAURA) is reviewed, with emphasis directed toward support of the Aeroassist Flight Experiment (AFE). The flight project is designed to obtain data which will be used in the validation of computational fluid dynamic approximation methods. Comparisons between experimental data and numerical simulation focus on perfect-gas tests over a scale model of the AFE and on flight and ground tests which challenge some aspect of the thermochemical nonequilibrium model. In the first case, the gas model is simple, but the grid-related problems of defining the real vehicle are present. In the second case, the vehicle geometries are simple, but thermochemical processes must be modeled correctly in order to compare with the experimental data. These comparisons are described as calibration runs because they test elements of the numerical simulation, but no single data set adequately simulates the full-scale AFE flight conditions. Comparisons between computation and experiment over a broad range of data sets show generally good agreement, though some aspects of the numerical model require further development.

Gnoffo, Peter A.↗