Search NASASearch

SEARCH · Search NASA

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 199 records · Page 11

The Formal Semantics of PVS

A specification language is a medium for expressing what is computed rather than how it is computed. Specification languages share some features with programming languages but are also different in several important ways. For our purpose, a specification language is a logic within which the behavior of computational systems can be formalized. Although a specification can be used to simulate the behavior of such systems, we mainly use specifications to state and prove system properties with mechanical assistance. We present the formal semantics of the specification language of SRI's Prototype Verification System (PVS). This specification language is based on the simply typed lambda calculus. The novelty in PVS is that it contains very expressive language features whose static analysis (e.g., typechecking) requires the assistance of a theorem prover. The formal semantics illuminates several of the design considerations underlying PVS, the interaction between theorem proving and typechecking.

Owre, Sam

Examining Reuse in LaSRS++-Based Projects

NASA Langley Research Center (LaRC) developed the Langley Standard Real-Time Simulation in C++ (LaSRS++) to consolidate all software development for its simulation facilities under one common framework. A common framework promised a decrease in the total development effort for a new simulation by encouraging software reuse. To judge the success of LaSRS++ in this regard, reuse metrics were extracted from 11 aircraft models. Three methods that employ static analysis of the code were used to identify the reusable components. For the method that provides the best estimate, reuse levels fall between 66% and 95% indicating a high degree of reuse. Additional metrics provide insight into the extent of the foundation that LaSRS++ provides to new simulation projects. When creating variants of an aircraft, LaRC developers use object-oriented design to manage the aircraft as a reusable resource. Variants modify the aircraft for a research project or embody an alternate configuration of the aircraft. The variants inherit from the aircraft model. The variants use polymorphism to extend or redefine aircraft behaviors to meet the research requirements or to match the alternate configuration. Reuse level metrics were extracted from 10 variants. Reuse levels of aircraft by variants were 60% - 99%.

Madden, Michael M.

Backtracking and Re-execution in the Automatic Debugging of Parallelized Programs

In this work we describe a new approach using relative debugging to find differences in computation between a serial program and a parallel version of th it program. We use a combination of re-execution and backtracking in order to find the first difference in computation that may ultimately lead to an incorrect value that the user has indicated. In our prototype implementation we use static analysis information from a parallelization tool in order to perform the backtracking as well as the mapping required between serial and parallel computations.

Matthews, Gregory

Program Model Checking as a New Trend

This paper introduces a special section of STTT (International Journal on Software Tools for Technology Transfer) containing a selection of papers that were presented at the 7th International SPIN workshop, Stanford, August 30 - September 1, 2000. The workshop was named SPIN Model Checking and Software Verification, with an emphasis on model checking of programs. The paper outlines the motivation for stressing software verification, rather than only design and model verification, by presenting the work done in the Automated Software Engineering group at NASA Ames Research Center within the last 5 years. This includes work in software model checking, testing like technologies and static analysis.

Havelund, Klaus

Design for Verification: Enabling Verification of High Dependability Software-Intensive Systems

Strategies to achieve confidence that high-dependability applications are correctly implemented include testing and automated verification. Testing deals mainly with a limited number of expected execution paths. Verification usually attempts to deal with a larger number of possible execution paths. While the impact of architecture design on testing is well known, its impact on most verification methods is not as well understood. The Design for Verification approach considers verification from the application development perspective, in which system architecture is designed explicitly according to the application's key properties. The D4V-hypothesis is that the same general architecture and design principles that lead to good modularity, extensibility and complexity/functionality ratio can be adapted to overcome some of the constraints on verification tools, such as the production of hand-crafted models and the limits on dynamic and static analysis caused by state space explosion.

Mehlitz, Peter C.

Automatic Relative Debugging of OpenMP Programs

In this work we show how automatic relative debugging can be used to find differences in computation between a serial program and an OpenMP parallel version of that program. Backtracking and re-execution are used to determine the first OpenMP parallel region that produces a difference in computation that may lead to an incorrect value the user has indicated. Tool-parallelized programs are addressed by utilizing static analysis and directive information from the parallelization tool. Manually-parallelized programs are addressed as well by performing data dependence and directive analysis.

Matthews, Gregory

Experimental Evaluation of Verification and Validation Tools on Martian Rover Software

We report on a study to determine the maturity of different verification and validation technologies (V&V) on a representative example of NASA flight software. The study consisted of a controlled experiment where three technologies (static analysis, runtime analysis and model checking) were compared to traditional testing with respect to their ability to find seeded errors in a prototype Mars Rover. What makes this study unique is that it is the first (to the best of our knowledge) to do a controlled experiment to compare formal methods based tools to testing on a realistic industrial-size example where the emphasis was on collecting as much data on the performance of the tools and the participants as possible. The paper includes a description of the Rover code that was analyzed, the tools used as well as a detailed description of the experimental setup and the results. Due to the complexity of setting up the experiment, our results can not be generalized, but we believe it can still serve as a valuable point of reference for future studies of this kind. It did confirm the belief we had that advanced tools can outperform testing when trying to locate concurrency errors. Furthermore the results of the experiment inspired a novel framework for testing the next generation of the Rover.

Brat, Guillaume

Experimental Evaluation of Verification and Validation Tools on Martian Rover Software

To achieve its science objectives in deep space exploration, NASA has a need for science platform vehicles to autonomously make control decisions in a time frame that excludes intervention from Earth-based controllers. Round-trip light-time is one significant factor motivating autonomy capability, another factor is the need to reduce ground support operations cost. An unsolved problem potentially impeding the adoption of autonomy capability is the verification and validation of such software systems, which exhibit far more behaviors (and hence distinct execution paths in the software) than is typical in current deepspace platforms. Hence the need for a study to benchmark advanced Verification and Validation (V&V) tools on representative autonomy software. The objective of the study was to access the maturity of different technologies, to provide data indicative of potential synergies between them, and to identify gaps in the technologies with respect to the challenge of autonomy V&V. The study consisted of two parts: first, a set of relatively independent case studies of different tools on the same autonomy code, second a carefully controlled experiment with human participants on a subset of these technologies. This paper describes the second part of the study. Overall, nearly four hundred hours of data on human use of three different advanced V&V tools were accumulated, with a control group that used conventional testing methods. The experiment simulated four independent V&V teams debugging three successive versions of an executive controller for a Martian Rover. Defects were carefully seeded into the three versions based on a profile of defects from CVS logs that occurred in the actual development of the executive controller. The rest of the document is structured a s follows. In section 2 and 3, we respectively describe the tools used in the study and the rover software that was analyzed. In section 4 the methodology for the experiment is described; this includes the code preparation, seeding of defects, participant training and experimental setup. Next we give a qualitative overview of how the experiment went from the point of view of each technology; model checking (section 5), static analysis (section 6), runtime analysis (section 7) and testing (section 8). The find section gives some preliminary quantitative results on how the tools compared.

Brat, Guillaume

Adding Assurance to Automatically Generated Code

Code to estimate position and attitude of a spacecraft or aircraft belongs to the most safety-critical parts of flight software. The complex underlying mathematics and abundance of design details make it error-prone and reliable implementations costly. AutoFilter is a program synthesis tool for the automatic generation of state estimation code from compact specifications. It can automatically produce additional safety certificates which formally guarantee that each generated program individually satisfies a set of important safety policies. These safety policies (e.g.. array-bounds, variable initialization) form a core of properties which are essential for high-assurance software. Here we describe the AutoFilter system and its certificate generator and compare our approach to the static analysis tool PolySpace.

Denney, Ewen

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