Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Static analysis”

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 235 records · Page 13

Design, Fabrication, and Testing of SMA Enabled Adaptive Chevrons for Jet Noise Reduction

This study presents the status and results from an effort to design, fabricate, and test an adaptive jet engine chevron concept based upon embedding shape memory alloy (SMA) actuators in a composite laminate, termed a SMA hybrid composite (SMAHC). The approach for fabricating the adaptive SMAHC chevrons involves embedding prestrained Nitinol actuators on one side of the mid-plane of the composite laminate such that thermal excitation generates a thermal moment and deflects the structure. A glass-epoxy pre-preg/Nitinol ribbon material system and a vacuum hot press consolidation approach are employed. A versatile test system for control and measurement of the chevron deflection performance is described. Projection moire interferometry (PMI) is used for global deformation measurement and infrared (IR) thermography is used for 2-D temperature measurement and feedback control. A recently commercialized constitutive model for SMA and SMAHC materials is used in the finite element code ABAQUS to perform nonlinear static analysis of the chevron prototypes. Excellent agreement is achieved between the predicted and measured chevron deflection performance, thereby validating the design tool. Although the performance results presented in this paper fall short of the requirement, the concept is proven and an approach for achieving the performance objectives is evident.

Turner, Travis L.↗

Lunar and Planetary Science XXXV: Missions and Instruments: Hopes and Hope Fulfilled

The titles in this section include: 1) Mars Global Surveyor Mars Orbiter Camera in the Extended Mission: The MOC Toolkit; 2) Mars Odyssey THEMIS-VIS Calibration; 3) Early Science Operations and Results from the ESA Mars Express Mission: Focus on Imaging and Spectral Mapping; 4) The Mars Express/NASA Project at JPL; 5) Beagle 2: Mission to Mars - Current Status; 6) The Beagle 2 Microscope; 7) Mars Environmental Chamber for Dynamic Dust Deposition and Statics Analysis; 8) Locating Targets for CRISM Based on Surface Morphology and Interpretation of THEMIS Data; 9) The Phoenix Mission to Mars; 10) First Studies of Possible Landing Sites for the Phoenix Mars Scout Mission Using the BMST; 11) The 2009 Mars Telecommunications Orbiter; 12) The Aurora Exploration Program - The ExoMars Mission; 13) Electron-induced Luminescence and X-Ray Spectrometer (ELXS) System Development; 14) Remote-Raman and Micro-Raman Studies of Solid CO2, CH4, Gas Hydrates and Ice; 15) The Compact Microimaging Spectrometer (CMIS): A New Tool for In-Situ Planetary Science; 16) Preliminary Results of a New Type of Surface Property Measurement Ideal for a Future Mars Rover Mission; 17) Electrodynamic Dust Shield for Solar Panels on Mars; 18) Sensor Web for Spatio-Temporal Monitoring of a Hydrological Environment; 19) Field Testing of an In-Situ Neutron Spectrometer for Planetary Exploration: First Results; 20) A Miniature Solid-State Spectrometer for Space Applications - Field Tests; 21) Application of Laser Induced Breakdown Spectroscopy (LIBS) to Mars Polar Exploration: LIBS Analysis of Water Ice and Water Ice/Soil Mixtures; 22) LIBS Analysis of Geological Samples at Low Pressures: Application to Mars, the Moon, and Asteroids; 23) In-Situ 1-D and 2-D Mapping of Soil Core and Rock Samples Using the LIBS Long Spark; 24) Rocks Analysis at Stand Off Distance by LIBS in Martian Conditions; 25) Evaluation of a Compact Spectrograph/Detection System for a LIBS Instrument for In-Situ and Stand-Off Detection; 26) Analysis of Organic Compounds in Mars Analog Samples; 27) Report of the Organic Contamination Science Steering Group; 28) The Water-Wheel IR (WIR) - A Contact Survey Experiment for Water and Carbonates on Mars; 29) Mid-IR Fiber Optic Probe for In Situ Water Detection and Characterization; 30) Effects of Subsurface Sampling & Processing on Martian Simulant Containing Varying Quantities of Water; 31) The Subsurface Ice Probe (SIPR): A Low-Power Thermal Probe for the Martian Polar Layered Deposits; 32) Deploying Ground Penetrating Radar in Planetary Analog Sites to Evaluate Potential Instrument Capabilities on Future Mars Missions; 33) Evaluation of Rock Powdering Methods to Obtain Fine-grained Samples for CHEMIN, a Combined XRD/XRF Instrument; 34) Novel Sample-handling Approach for XRD Analysis with Minimal Sample Preparation; 35) A New Celestial Navigation Method for Mars Landers; 36) Mars Mineral Spectroscopy Web Site: A Resource for Remote Planetary Spectroscopy.

Source record↗

Numerical and Experimental Dynamic Characteristics of Thin-Film Membranes

Presented is a total-Lagrangian displacement-based non-linear finite-element model of thin-film membranes for static and dynamic large-displacement analyses. The membrane theory fully accounts for geometric non-linearities. Fully non-linear static analysis followed by linear modal analysis is performed for an inflated circular cylindrical Kapton membrane tube under different pressures, and for a rectangular membrane under different tension loads at four comers. Finite element results show that shell modes dominate the dynamics of the inflated tube when the inflation pressure is low, and that vibration modes localized along four edges dominate the dynamics of the rectangular membrane. Numerical dynamic characteristics of the two membrane structures were experimentally verified using a Polytec PI PSV-200 scanning laser vibrometer and an EAGLE-500 8-camera motion analysis system.

Young, Leyland G.↗

Using Block-local Atomicity to Detect Stale-value Concurrency Errors

Data races do not cover all kinds of concurrency errors. This paper presents a data-flow-based technique to find stale-value errors, which are not found by low-level and high-level data race algorithms. Stale values denote copies of shared data where the copy is no longer synchronized. The algorithm to detect such values works as a consistency check that does not require any assumptions or annotations of the program. It has been implemented as a static analysis in JNuke. The analysis is sound and requires only a single execution trace if implemented as a run-time checking algorithm. Being based on an analysis of Java bytecode, it encompasses the full program semantics, including arbitrarily complex expressions. Related techniques are more complex and more prone to over-reporting.

Artho, Cyrille↗

New Tool Released for Engine-Airframe Blade-Out Structural Simulations

Researchers at the NASA Glenn Research Center have enhanced a general-purpose finite element code, NASTRAN, for engine-airframe structural simulations during steady-state and transient operating conditions. For steady-state simulations, the code can predict critical operating speeds, natural modes of vibration, and forced response (e.g., cabin noise and component fatigue). The code can be used to perform static analysis to predict engine-airframe response and component stresses due to maneuver loads. For transient response, the simulation code can be used to predict response due to bladeoff events and subsequent engine shutdown and windmilling conditions. In addition, the code can be used as a pretest analysis tool to predict the results of the bladeout test required for FAA certification of new and derivative aircraft engines. Before the present analysis code was developed, all the major aircraft engine and airframe manufacturers in the United States and overseas were performing similar types of analyses to ensure the structural integrity of engine-airframe systems. Although there were many similarities among the analysis procedures, each manufacturer was developing and maintaining its own structural analysis capabilities independently. This situation led to high software development and maintenance costs, complications with manufacturers exchanging models and results, and limitations in predicting the structural response to the desired degree of accuracy. An industry-NASA team was formed to overcome these problems by developing a common analysis tool that would satisfy all the structural analysis needs of the industry and that would be available and supported by a commercial software vendor so that the team members would be relieved of maintenance and development responsibilities. Input from all the team members was used to ensure that everyone's requirements were satisfied and that the best technology was incorporated into the code. Furthermore, because the code would be distributed by a commercial software vendor, it would be more readily available to engine and airframe manufacturers, as well as to nonaircraft companies that did not previously have access to this capability.

Lawrence, Charles↗

Verification of Autonomous Systems for Space Applications

Autonomous software, especially if it is based on model, can play an important role in future space applications. For example, it can help streamline ground operations, or, assist in autonomous rendezvous and docking operations, or even, help recover from problems (e.g., planners can be used to explore the space of recovery actions for a power subsystem and implement a solution without (or with minimal) human intervention). In general, the exploration capabilities of model-based systems give them great flexibility. Unfortunately, it also makes them unpredictable to our human eyes, both in terms of their execution and their verification. The traditional verification techniques are inadequate for these systems since they are mostly based on testing, which implies a very limited exploration of their behavioral space. In our work, we explore how advanced V&V techniques, such as static analysis, model checking, and compositional verification, can be used to gain trust in model-based systems. We also describe how synthesis can be used in the context of system reconfiguration and in the context of verification.

Brat, G.↗

Lunar Base Life Support Failures

Dynamic simulation of the lunar outpost habitat life support was undertaken to investigate the impact of life support failures and to investigate responses. Some preparatory static analysis for the Lunar Outpost life support model, an earlier version of the model, and an investigation into the impact of Extravehicular Activity (EVA) were reported previously. (Jones, 2008-01-2184, 2008-01-2017) The earlier model was modified to include possible resupply delays, power failures, recycling system failures, and atmosphere and other material storage failures. Most failures impact the lunar outpost water balance and can be mitigated by reducing water usage. Food solids, nitrogen can be obtained only by resupply from Earth. The most time urgent failure is a lass of carbon dioxide removal capability. Life support failures might be survivable if effective operational solutions are provided in the system design.

Jones, Harry W.↗

Hardware-Independent Proofs of Numerical Programs

On recent architectures, a numerical program may give different answers depending on the execution hardware and the compilation. Our goal is to formally prove properties about numerical programs that are true for multiple architectures and compilers. We propose an approach that states the rounding error of each floating-point computation whatever the environment. This approach is implemented in the Frama-C platform for static analysis of C code. Small case studies using this approach are entirely and automatically proved

Boldo, Sylvie↗

Proceedings of the First NASA Formal Methods Symposium

Topics covered include: Model Checking - My 27-Year Quest to Overcome the State Explosion Problem; Applying Formal Methods to NASA Projects: Transition from Research to Practice; TLA+: Whence, Wherefore, and Whither; Formal Methods Applications in Air Transportation; Theorem Proving in Intel Hardware Design; Building a Formal Model of a Human-Interactive System: Insights into the Integration of Formal Methods and Human Factors Engineering; Model Checking for Autonomic Systems Specified with ASSL; A Game-Theoretic Approach to Branching Time Abstract-Check-Refine Process; Software Model Checking Without Source Code; Generalized Abstract Symbolic Summaries; A Comparative Study of Randomized Constraint Solvers for Random-Symbolic Testing; Component-Oriented Behavior Extraction for Autonomic System Design; Automated Verification of Design Patterns with LePUS3; A Module Language for Typing by Contracts; From Goal-Oriented Requirements to Event-B Specifications; Introduction of Virtualization Technology to Multi-Process Model Checking; Comparing Techniques for Certified Static Analysis; Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder; jFuzz: A Concolic Whitebox Fuzzer for Java; Machine-Checkable Timed CSP; Stochastic Formal Correctness of Numerical Algorithms; Deductive Verification of Cryptographic Software; Coloured Petri Net Refinement Specification and Correctness Proof with Coq; Modeling Guidelines for Code Generation in the Railway Signaling Context; Tactical Synthesis Of Efficient Global Search Algorithms; Towards Co-Engineering Communicating Autonomous Cyber-Physical Systems; and Formal Methods for Automated Diagnosis of Autosub 6000.

Denney, Ewen↗

Pulsed Electric Propulsion Thrust Stand Calibration Method

The evaluation of the performance of any propulsion device requires the accurate measurement of thrust. While chemical rocket thrust is typically measured using a load cell, the low thrust levels associated with electric propulsion (EP) systems necessitate the use of much more sensitive measurement techniques. The design and development of electric propulsion thrust stands that employ a conventional hanging pendulum arm connected to a balance mechanism consisting of a secondary arm and variable linkage have been reported in recent publications by Polzin et al. These works focused on performing steady-state thrust measurements and employed a static analysis of the thrust stand response. In the present work, we present a calibration method and data that will permit pulsed thrust measurements using the Variable Amplitude Hanging Pendulum with Extended Range (VAHPER) thrust stand. Pulsed thrust measurements are challenging in general because the pulsed thrust (impulse bit) occurs over a short timescale (typically 1 micros to 1 millisecond) and cannot be resolved directly. Consequently, the imparted impulse bit must be inferred through observation of the change in thrust stand motion effected by the pulse. Pulsed thrust measurements have typically only consisted of single-shot operation. In the present work, we discuss repetition-rate pulsed thruster operation and describe a method to perform these measurements. The thrust stand response can be modeled as a spring-mass-damper system with a repetitive delta forcing function to represent the impulsive action of the thruster.

Wong, Andrea R.↗

Regression Verification Using Impact Summaries

Regression verification techniques are used to prove equivalence of syntactically similar programs. Checking equivalence of large programs, however, can be computationally expensive. Existing regression verification techniques rely on abstraction and decomposition techniques to reduce the computational effort of checking equivalence of the entire program. These techniques are sound but not complete. In this work, we propose a novel approach to improve scalability of regression verification by classifying the program behaviors generated during symbolic execution as either impacted or unimpacted. Our technique uses a combination of static analysis and symbolic execution to generate summaries of impacted program behaviors. The impact summaries are then checked for equivalence using an o-the-shelf decision procedure. We prove that our approach is both sound and complete for sequential programs, with respect to the depth bound of symbolic execution. Our evaluation on a set of sequential C artifacts shows that reducing the size of the summaries can help reduce the cost of software equivalence checking. Various reduction, abstraction, and compositional techniques have been developed to help scale software verification techniques to industrial-sized systems. Although such techniques have greatly increased the size and complexity of systems that can be checked, analysis of large software systems remains costly. Regression analysis techniques, e.g., regression testing [16], regression model checking [22], and regression verification [19], restrict the scope of the analysis by leveraging the differences between program versions. These techniques are based on the idea that if code is checked early in development, then subsequent versions can be checked against a prior (checked) version, leveraging the results of the previous analysis to reduce analysis cost of the current version. Regression verification addresses the problem of proving equivalence of closely related program versions [19]. These techniques compare two programs with a large degree of syntactic similarity to prove that portions of one program version are equivalent to the other. Regression verification can be used for guaranteeing backward compatibility, and for showing behavioral equivalence in programs with syntactic differences, e.g., when a program is refactored to improve its performance, maintainability, or readability. Existing regression verification techniques leverage similarities between program versions by using abstraction and decomposition techniques to improve scalability of the analysis [10, 12, 19]. The abstractions and decomposition in the these techniques, e.g., summaries of unchanged code [12] or semantically equivalent methods [19], compute an over-approximation of the program behaviors. The equivalence checking results of these techniques are sound but not complete-they may characterize programs as not functionally equivalent when, in fact, they are equivalent. In this work we describe a novel approach that leverages the impact of the differences between two programs for scaling regression verification. We partition program behaviors of each version into (a) behaviors impacted by the changes and (b) behaviors not impacted (unimpacted) by the changes. Only the impacted program behaviors are used during equivalence checking. We then prove that checking equivalence of the impacted program behaviors is equivalent to checking equivalence of all program behaviors for a given depth bound. In this work we use symbolic execution to generate the program behaviors and leverage control- and data-dependence information to facilitate the partitioning of program behaviors. The impacted program behaviors are termed as impact summaries. The dependence analyses that facilitate the generation of the impact summaries, we believe, could be used in conjunction with other abstraction and decomposition based approaches, [10, 12], as a complementary reduction technique. An evaluation of our regression verification technique shows that our approach is capable of leveraging similarities between program versions to reduce the size of the queries and the time required to check for logical equivalence. The main contributions of this work are: - A regression verification technique to generate impact summaries that can be checked for functional equivalence using an off-the-shelf decision procedure. - A proof that our approach is sound and complete with respect to the depth bound of symbolic execution. - An implementation of our technique using the LLVMcompiler infrastructure, the klee Symbolic Virtual Machine [4], and a variety of Satisfiability Modulo Theory (SMT) solvers, e.g., STP [7] and Z3 [6]. - An empirical evaluation on a set of C artifacts which shows that the use of impact summaries can reduce the cost of regression verification.

Backes, John↗

Towards a Certified Lightweight Array Bound Checker for Java Bytecode

Dynamic array bound checks are crucial elements for the security of a Java Virtual Machines. These dynamic checks are however expensive and several static analysis techniques have been proposed to eliminate explicit bounds checks. Such analyses require advanced numerical and symbolic manipulations that 1) penalize bytecode loading or dynamic compilation, 2) complexify the trusted computing base. Following the Foundational Proof Carrying Code methodology, our goal is to provide a lightweight bytecode verifier for eliminating array bound checks that is both efficient and trustable. In this work, we define a generic relational program analysis for an imperative, stackoriented byte code language with procedures, arrays and global variables and instantiate it with a relational abstract domain as polyhedra. The analysis has automatic inference of loop invariants and method pre-/post-conditions, and efficient checking of analysis results by a simple checker. Invariants, which can be large, can be specialized for proving a safety policy using an automatic pruning technique which reduces their size. The result of the analysis can be checked efficiently by annotating the program with parts of the invariant together with certificates of polyhedral inclusions. The resulting checker is sufficiently simple to be entirely certified within the Coq proof assistant for a simple fragment of the Java bytecode language. During the talk, we will also report on our ongoing effort to scale this approach for the full sequential JVM.

Pichardie, David↗

Comparison of Performance Test Results to CFD and Structural Models of Non-Contacting Finger Seals

Performance tests of non-contacting finger seal designs were conducted at 300, 700, 922 K (70, 800 and 1200 F) at pressure differentials up to 517 kPa (75 psid) and surface speeds up to 366 m/s (1200 ft/s). Room temperature, static analysis of the seal was performed. A simplified CFD model was developed to examine pressure loads within the seal. Results from the CFD model were used as input to a finite element analysis model of a six-finger segment of the non-contacting finger seal. Examination of predicted deflections of individual components of the seal gives insight into the seal behavior. Wear patterns from testing verify the pattern of radial deflection. The models are used to predict maximum pressure differential capability of the seal and compared to experimental results. The CFD model slightly under-predicts the measured leakage flow factor, but has the same trend as the measured flow factor versus pressure differential.

Seals:Brush Seals↗

Static Controls Performance Tool for Lunar Landers

This document presents a static analysis tool used to evaluate the controllability of Lunar landers. This was created as part of the NASA Lunar Cargo Transportation and Landing by Soft Touchdown (Lunar CATALYST) program. This tool is capable of accepting typical design information such as location and direction of thrusters, maximum thruster forces, gravity vectors, and center of mass locations. The tool evaluates how far the center of gravity can move from its starting position while still maintaining control. This type of analysis is intended to support results produced by time domain simulations. The code created for this project was implemented in Python, and it was designed to be integrated into systems level optimization tools to yield first-cut results on optimal thruster placement.

Aretskin-Hariton, Eliot D.↗

Generation of Library Models for Verification of Android Applications

Android applications are difficult to verify and test since they have many external dependencies. To overcome this problem, environment generation can be used to create a model of the environment to simulate the behavior of these external dependencies. Creating this environment model manually is a tedious process and although there are many techniques available to generate models, the key lies in identifying how these techniques can be applied to a specific domain. In this paper we discuss two static analysis tools OCSEGen and Modgen and how they can be applied to the Android domain to generate models for specific parts of the environment.

Verification↗

Rapid Memory Footprint Access Diagnostics

Footprint and reuse distance measure temporal locality and therefore do not capture the significance of access patterns (spacial locality). A strided access pattern has the largest possible footprint but usually has the best performance. To highlight exposed memory latency, we separate footprint into strided (prefetchable) and irregular (non-prefetchable) access components and calculate the growth rate of each. To rapidly compute these footprint access diagnostics, we present two methods, whole-program and precise. Current footprint analyses can cause 200× or more slowdown with realistic inputs and are therefore impractical. Our whole-program method reduces the overhead to 10% by computing upper bounds, but still yields inter-procedural insight through a call path profile. Our precise method uses additional static analysis and profiling to refine the upper bounds for intra-procedural loop nests. We evaluate our approaches using benchmarks that vary access patterns (strided \vs unpredictable), sparsity (all words in a cache line \vs some), and reuse (varying and repeated accesses per element). Notably, for loop nests with unpredictable accesses, the precise method's accuracy is within 10% of ideal. The whole-program method has sufficient accuracy to diagnose bottlenecks.

data locality, memory footprint, footprint access ↗

Summer 2024 INL Intern Poster Session Submission - Brian Schumitz

This LRS submission is my poster for the INL Intern Poster Session, Summer 2024. Abstract: The Software Engineering and Cybersecurity Lab (SECL) at Montana State University has developed PIQUE, a system for evaluating software quality. PIQUE's adaptability allows for language-specific static-analysis operations, including a model for assessing cloud microservice ecosystems. These ecosystems often rely on Docker for efficient deployment and management of containerized services. Our research focuses on evaluating the network quality within these microservice ecosystems. To automate this process, we're utilizing Snort, an open-source intrusion detection system renowned for its ability to detect and log network traffic. By leveraging Snort's customizable rules, we aim to construct comprehensive testing methods for measuring and quantifying the network quality based on traffic between Docker containers. This research aims to enhance the overall security and reliability of cloud microservice ecosystems by providing automated and robust quality evaluation mechanisms, ultimately contributing to the advancement of software engineering practices in these environments

97 MATHEMATICS AND COMPUTING↗