Supporting Software Sustainability by Using Complexity Metrics to Inform Code Reviews
Explore the source record for details and available documents.
SEARCH · Search NASA
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.
Explore the source record for details and available documents.
Explore the source record for details and available documents.
This milestone report summarizes the FMC work on improvements to the MAMBA modeling methodology. The work was performed in close collaboration with the PHI as well as THM focus area and it was undertaken to improve both the physical fidelity and computational performance of MAMBA. We first describe the path towards identifying and then resolving issues in the MAMBA code and the underlying physics models that were still remaining at the beginning of FY18, after the code re-write in the previous year. These were primarily related to boiling and species transport, especially boron, within the CRUD. The code problems originated in the MAMBA3D code, from which the development of the new re-written code started, but they were only identified during testing of the new MAMBA code. We purposefully discuss a number of alternative explanations and solutions to the main issue identified, since the two-phase character of fluid transport in the CRUD and the related mass transport are still sources of model uncertainty that we continue to investigate. The hands-on code development referenced in this report was done under PHI and this milestone mainly provided support in the form of analysis, literature review, code review and feedback to the code developers.
This article identifies several examples of industry efforts and successes in removing gaps in energy storage (ES) Codes & Standards (C&S) by updating or creating and publishing new standards. A particular challenge discussed in this article is that while modern battery technologies including lithium ion (Li-ion) increase technical and economic viability of grid energy storage, newer battery technologies also present new or unknown risks to managing the safety of energy storage systems (ESS). There has been progress in filling gaps in published ES C&S that recognize and address the expanding range of technologies and their unique characteristics. However, there remain significant need and opportunity for researchers to contribute to the underlying knowledge base that informs development of technical references and standards, and ultimately the application of published standards for the effective and safe design and use of modern ESS.
This work reports on the results of the 10 th Non-LTE code comparison workshop, which was held at the University of San Diego campus November 28 through December 1, 2017. Non-equilibrium collisional-radiative models predict the electronic state populations and attendant emission and absorption characteristics of hot, dense matter and are used to help design and diagnose high-energy-density experiments. At this workshop, fifteen codes from eleven institutions contributed results for steady-state and time-dependent neon, aluminum, silicon, and chlorine cases relevant to a variety of high-density experimental and radiation-driven astrophysical systems. We focus on differences in the predictions from codes with different internal structure, completeness, density effects, and rate fidelity and the impact of those differences on hot, dense plasma diagnostics.
This report reviews regulations, codes, and standards to be considered for FCEB operations on airports governing vehicle safety, hydrogen infrastructure, and airport operations. Overall, the review found the existing regulatory framework largely suitable for FCEB operations on airports, with only minor gaps identified pertaining to heavy-duty vehicle fueling, operation and fire safety on airport aprons, and authorization for emergency power use.
The LLNL team has carried out extensive analysis of GridPACK code, including two major code reviews (each being a 2-day event) and a vendor emulation exercise, where the team integrated GridPACK library within a third-party application. The code analysis identified a number of areas for improvement of GridPACK code architecture, but it did not find fundamental flaws in the GridPACK design. The team found the GridPACK strategy of developing a software development kit (SDK) for power systems application development to be sound and well aligned with Office of Electricity long term objectives. The SDK aims to provide power systems software vendors an easy access to high performance computing (HPC) libraries.
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.
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.
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.
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
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.
Hydrogen continues to show promise as a viable contributor to achieving energy storage goals such as energy security and decarbonization in the United States. However, many new and expanded hydrogen use applications will require identifying methods of larger-scale storage than the solutions that currently exist for smaller storage applications. One possibility is to store large quantities of gaseous hydrogen below ground level. Underground storage of other fuels such as natural gas is already currently utilized, so much of the infrastructure and basic technologies can be used as a basis for underground hydrogen storage (UHS). A few commercial UHS facilities currently exist in the United States, including salt caverns owned and operated by Air Liquide, Linde, and Conoco Philips, but UHS is still a relatively new concept that has not been widely deployed. It is necessary to understand the safety risks and hazards associated with UHS before its use can be expanded and accepted more broadly. Many of these risks are addressed through regulations, codes, and standards (RCS) issued by governing bodies and organizations with expertise in certain hazards. This report is a review of RCS documents relevant to UHS, with a particular lens on potential technical gaps in existing guidance. These gaps may be specific to the physical properties of hydrogen or due to the different technologies relevant for hydrogen vs. natural gas storage. This is meant to be a high-level review to identify relevant documents and potential gaps. Formally addressing the individual gaps identified here within the codes and standards themselves would involve a more intensive analysis and differ based on the code or standard revision processes of the various publishing organizations. Therefore, presenting specific recommendations for revising the verbiage of the documents for UHS applications is left for future work and other publications.
We review the results of the 1 st Extreme Ultraviolet (EUV) Light Sources Code Comparison Workshop. The goal of this workshop was to provide a platform for specialists in EUV light source plasma modeling to benchmark and validate their numerical codes using well-defined case studies. Detailed consideration of a plethora of atomic collisional and radiative processes is required for modeling EUV light source plasmas. Eight institutions spanning four countries contributed data to the workshop. Two topics were addressed, namely (i) the atomic kinetics and radiative properties of tin plasmas under EUV-generating conditions and (ii) laser absorption in a fully ionized, one-dimensional hydrogen plasma. In this paper, we summarize the key findings of the workshop and outline plans for future iterations of the code comparison activity.
MOLCAS/OpenMolcas is an ab initio electronic structure program providing a large set of computational methods from Hartree–Fock and density functional theory to various implementations of multiconfigurational theory. This article provides a comprehensive overview of the main features of the code, specifically reviewing the use of the code in previously reported chemical applications as well as more recent applications including the calculation of magnetic properties from optimized density matrix renormalization group wave functions.
ROOT is an open source framework, freely available on GitHub, at the heart of data acquisition, processing and analysis of HE(N)P experiments, and beyond. It is developed collaboratively: contributions are not authored only by ROOT team members, but also by the user community at large: developers and scientists from universities, labs as well as the private sector. More than 1500 GitHub Pull Requests are merged on average per year. It is in this context that code integration acquires a primary role. The review of code contributions isn’t enough: not only they need to be thoroughly reviewed, they also need to be thoroughly tested through a powerful CI infrastructure on several different platforms to comply with the high code quality standards of the project. Since the end of 2023, ROOT moved its continuous integration system from Jenkins to GitHub Actions. In this contribution, we characterise the transition to the GitHub CI, focussing on our strategy, its implementation and the lessons learned, as well as the advantages the new system offers with respect to the previous one. Particular emphasis will be given to the evaluation of the cost-benefit ratio for Jenkins and GitHub Actions for the ROOT project. We also describe how we manage to run in less than one hour thousands of unit, integration, functional and end-to-end tests on different flavours of Windows, four versions of macOS, as well as about ten of the most used Linux distributions, taking advantage of the CERN computing infrastructure.
Building energy codes are essential tools for achieving energy efficiency in buildings. However, the full energy savings potential of these codes can only be realized if buildings are constructed in compliance with them. Therefore, evaluating building energy code compliance is crucial in bridging the gap between the energy efficiency requirements set by energy codes and the actualized energy savings achieved. An energy code compliance evaluation serves as a mechanism to assess construction practices, evaluate the effectiveness of code enforcement, identify gaps in compliance, and guide strategies for improvement through training and education. Conducting code compliance evaluation activities involves field studies that require careful design and significant resources. Historically, more emphasis has been placed on developing and adopting building energy codes, while efforts to evaluate compliance have been relatively limited and lacking consistent approaches. The passage of the 2009 American Recovery and Reinvestment Act (ARRA), which mandated that states create plans for achieving 90% compliance within eight years, stimulated the need for an energy code compliance evaluation. As a result, federal, state, and local governments, and utilities have invested in the development of methodologies and tools for code compliance evaluation studies. This paper reviews the code compliance evaluation studies conducted in the United States over the past three decades. It describes and compares the methodologies and metrics used to assess building energy code compliance, summarizes the general elements and steps involved in the evaluation process, and discusses common issues in these studies. Over time, code compliance evaluation methodologies have evolved from isolated development within individual states, regions, and utilities, to widely accepted protocols applicable across different states and local jurisdictions. There has been a transition in compliance metrics, shifting from historical compliance rates to energy-consumption-oriented approaches.
Modern software development has gradually become more complex, leveraging available open-source software and third party components. This practice has raised questions about the provenance, licensing, versioning and compliance of reused code and its dependencies. Furthermore, it is par ticularly important to review such code fragments and third party components for known-vulnerabilities before they are included in a software product. A Software Bill of Materials (SBoM) is a mechanism to achieve such an analysis, provid ing transparency and visibility into a software product to both the software developer and its respective consumer. An SBoM lists information and details about all the elements constituting a piece of software and can, therefore, be used to evaluate associated security risk. While the concept of SBoMs is growing in popularity, it is still fairly new to many organizations, causing them to potentially struggle with pro ducing and processing SBoMs and limiting their widespread adoption. In this work, we delve into the area of SBoMs and present the state-of-the-art SBoM tools, creating a framework for analysis and categorizing them based on a diverse set of features and functionalities. We are the first to provide a detailed analysis of 83 open-source SBoM tools along with a perspective on how a potential SBoM user can select a tool based on their specific requirements. Our work aims to help promote understanding of this domain, thereby encouraging and furthering its overall adoption. We additionally seek to pave a path for future work in this area by providing recommendations to tool developers and users, researchers, and standardizing organizations.