Search NASASearch

SEARCH · Search NASA

Results for “Software Testing”

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 181 records · Page 10

The 2GCHAS: A high productivity software development environment

To the user, the most visible feature of the Transportable Applications Executive (TAE) is its very powerful user interface. To the programmer, TAE's user interface, proc concept, standardized interface definitions, and hierarchy search provide a set of tools for rapidly prototyping or developing production software. The 2GCHAS (Second Generation Comprehensive Helicopter Analysis System) project has extended and enhanced these mechanisms, creating a powerful and high productivity programming environment where the 2GCHAS development environment is 2GCHAS itself and where a sustained rate for certified, documented, and tested software above 30 delivered source instructions per programmer day has been achieved. The 2GCHAS environment is not limited to helicopter analysis, but is applicable to other disciplines where software development is important.

Babb, Larry

Verifying Diagnostic Software

Livingstone PathFinder (LPF) is a simulation-based computer program for verifying autonomous diagnostic software. LPF is designed especially to be applied to NASA s Livingstone computer program, which implements a qualitative-model-based algorithm that diagnoses faults in a complex automated system (e.g., an exploratory robot, spacecraft, or aircraft). LPF forms a software test bed containing a Livingstone diagnosis engine, embedded in a simulated operating environment consisting of a simulator of the system to be diagnosed by Livingstone and a driver program that issues commands and faults according to a nondeterministic scenario provided by the user. LPF runs the test bed through all executions allowed by the scenario, checking for various selectable error conditions after each step. All components of the test bed are instrumented, so that execution can be single-stepped both backward and forward. The architecture of LPF is modular and includes generic interfaces to facilitate substitution of alternative versions of its different parts. Altogether, LPF provides a flexible, extensible framework for simulation-based analysis of diagnostic software; these characteristics also render it amenable to application to diagnostic programs other than Livingstone.

Lindsey, Tony

Testing Mars 2020 Flight Software and Hardware in the Surface System Development Environment

The Mars 2020 (M2020) Perseverance Rover is NASA's most advanced planetary rover mission to date. It includes a novel Sample Caching Subsystem (SCS) which will collect rock cores for possible future return to Earth, as well as an improved mobility system with enhanced autonomous navigation which will enable it to traverse faster and farther than prior rovers. The development of both systems required extensive flight software and flight hardware testing. To support this testing, we developed the Surface System Development Environment (SSDEV) and used it for a wide variety of testing. SSDEV is a bundled subset of M2020 Flight Software which runs on commercially available Linux computers and can be combined with multiple backend options for simulation and hardware control. The SSDEV architecture enabled our teams to perform much more testing of flight software and flight hardware than would have otherwise been possible. As a secondary benefit, the SSDEV-based test campaigns also helped our teams enter the operations phase of the mission with greater readiness of operations products and tools. In this paper, we summarize the motivation for SSDEV, provide an overview of the SSDEV architecture, list several examples of how SSDEV was used, and summarize lessons learned. SSDEV is not a substitute for integrated testing with flight-like avionics, but it enabled substantially more testing than would have otherwise been possible and also provided some unique benefits. We recommend architectures like SSDEV to future projects that need to perform extensive hardware and software testing using a limited set of flight-like avionics.

Wai, Dennis

Integrated Application of Active Controls (IAAC) technology to an advanced subsonic transport project: Program review

This report summarizes the Integrated Application of Active Controls (IAAC) Technology to an Advanced Subsonic Transport Project, established as one element of the NASA/Boeing Energy Efficient Transport Technology Program. The performance assessment showed that incorporating ACT into an airplane designed to fly approximately 200 passengers approximately 2,000 nmi could yield block fuel savings from 6 to 10 percent at the design range. The principal risks associated with incorporating these active control functions into a commercial airplane are those involved with the ACT system implementation. The Test and Evaluation phase of the IAAC Project focused on the design, fabrication, and test of a system that implemented pitch axis fly-by-wire, pitch axis augmentation, and wing load alleviation. The system was built to be flight worthy, and was planned to be experimentally flown on the 757. The system was installed in the Boeing Digital Avionics Flight Controls Laboratory (DAFCL), where open loop hardware and software tests, and a brief examination of a direct drive valve (DDV) actuation concept were accomplished. The IAAC Project has shown that ACT can be beneficially incorporated into a commercial transport airplane. Based on the results achieved during the testing phase, there appears to be no fundamental reason(s) that would preclude the commercial application of ACT, assuming an appropriate development effort is included.

Source record

Adaptations of guidance, navigation, and control verification and validation philosophies for small spacecraft

Decades of experience developing increasingly capable and more complex space-craft have resulted in a set of accepted practices and philosophies to verify and validate (V&V) guidance, navigation, and control (GN&C) subsystems. Until recently, small, low-cost spacecraft have had very simple or non-existent GN&C subsystems requiring minimal or no subsystem testing. As the next generation of small spacecraft take on more challenging GN&C requirements, the GN&C community is struggling with how to scale the subsystem V&V effort to produce spacecraft approaching the reliability of flagship-class missions while staying within the reduced resources of a small satellite project.For this paper, we will examine five aspects of GN&C V&V (requirements definition, software testing and analysis, hardware component testing, integrated vehicle testing, and in-flight V&V) and compare the V&V campaign of a flagship-class mission (Mars 2020) to that of two recent, successful CubeSat missions: ASTERIA and MarCO. Experiences from the development of these CubeSats yield valuable lessons learned and guidelines for future small spacecraft designers.

Chen, George T.

Adaptations of Guidance, Navigation and Control Verification and Validation Philosophies for Small Spacecraft

Decades of experience developing increasingly capable and more complex space-craft have resulted in a set of accepted practices and philosophies to verify and validate (V&V) guidance, navigation, and control (GN&C) subsystems. Until recently, small, low-cost spacecraft have had very simple or non-existent GN&C subsystems requiring minimal or no subsystem testing. As the next generation of small spacecraft take on more challenging GN&C requirements, the GN&C community is struggling with how to scale the subsystem V&V effort to produce spacecraft approaching the reliability of flagship-class missions while staying within the reduced resources of a small satellite project. For this paper, we will examine five aspects of GN&C V&V (requirements definition, software testing and analysis, hardware component testing, integrated vehicle testing, and in-flight V&V) and compare the V&V campaign of a flagship-class mission (Mars 2020) to that of two recent, successful CubeSat missions: ASTERIA and MarCO. Experiences from the development of these CubeSats yield valuable lessons learned and guidelines for future small spacecraft designers.

Pong, Christopher M.

Flight problem evaluation for Space Shuttle Orbiter

The flight problems experienced with the reusable Space Shuttle Orbiter have decreased during subsequent flights of each vehicle. By comparison to first flights of previous vehicles, the problems encountered on the initial flight of each new vehicle entering the fleet decreased. This improvement in turn has reduced the turnaround time between flights significantly and thus greatly enhanced the increased Space Shuttle launch frequency. The reusable manned space vehicle concept necessitated the development of a flight problem recognition and resolution system which would enable a thorough and timely vehicle turnaround flow. Flight evaluation, testing, and repair of manned spacecraft to enhance reliability and to ensure mission success is a unique activity. Real-time recognition of the flight problem, prompt isolation of the cause, and timely implementation of the corrective action are the keys to maintaining an operational fleet. Examples of flight problems that have been encountered as well as the corrective actions implemented during the first 24 Space Shuttle missions are presented. The corrective actions taken to preclude problem recurrence include modifications of hardware designs, manufacturing processes, flight software, test methods, and operational procedures.

Mechelay, Joseph E.

Impact Damage and Strain Rate Effects for Toughened Epoxy Composite Structures

Structural integrity of composite systems under dynamic impact loading is investigated herein. The GENOA virtual testing software environment is used to implement the effects of dynamic loading on fracture progression and damage tolerance. Combinations of graphite and glass fibers with a toughened epoxy matrix are investigated. The effect of a ceramic coating for the absorption of impact energy is also included. Impact and post impact simulations include verification and prediction of (1) Load and Impact Energy, (2) Impact Damage Size, (3) Maximum Impact Peak Load, (4) Residual Strength, (5) Maximum Displacement, (6) Contribution of Failure Modes to Failure Mechanisms, (7) Prediction of Impact Load Versus Time, and (8) Damage, and Fracture Pattern. A computer model is utilized for the assessment of structural response, progressive fracture, and defect/damage tolerance characteristics. Results show the damage progression sequence and the changes in the structural response characteristics due to dynamic impact. The fundamental premise of computational simulation is that the complete evaluation of composite fracture requires an assessment of ply and subply level damage/fracture processes as the structure is subjected to loads. Simulation results for the graphite/epoxy composite were compared with the impact and tension failure test data, correlation and verification was obtained that included: (1) impact energy, (2) damage size, (3) maximum impact peak load, (4) residual strength, (5) maximum displacement, and (6) failure mechanisms of the composite structure.

Chamis, Christos C.

Improving system reliability through formal analysis and use of checks in software

Software is playing increasingly important roles in avionics systems. It is widely used in navigation and, in some cases, in control loops that maintain aircraft stability. To guarantee the safety of flight systems, the FAA requires that critical components have a probability of failure no greater than 10(exp -9) per hour of flight. Software is being used to diagnose system components for failure. SIFT (Software Implemented Fault Tolerance) was a computer system developed to study the use of software to check for failure and manage processor reconfiguration. To guarantee that software satisfies its specifications, formal verification can be used. With this a program and its specification are viewed as mathematical objects, and a mathematical proof is used to show that the program and its specification are equivalent. In previous research, a theory of checking was developed to offer assistance in analyzing specifications and designing run-time checks. In the theory, checking is considered abstractly in terms of n-ary relations much like those of relational database theory. Within the theory check are categorized, checks on input and checks on results are considered, and formal attention is given to the minimization and logical combination of checks. The focus is upon input checks and the obstacles in checking input to critical systems. A central concern is with a property referred to as independence. The concern is with circumstances under which it is possible to apply isolated, independent checks to separate sensor inputs and be assure that all illegal input will be properly detected. Presently, independence is being investigated and checked in the context of the GCS (Guidance and Control System). The GCS simulator is intended for testing software that implements control laws for landing spacecraft. The large number of inputs and their complex interrelationships provide an exciting context in which to investigate independence and the difficulties of supplying input checks.

Staknis, Mark E.

Development and Demonstration of an Ada Test Generation System

In this project we have built a prototype system that performs Feasible Path Analysis on Ada programs: given a description of a set of control flow paths through a procedure, and a predicate at a program point feasible path analysis determines if there is input data which causes execution to flow down some path in the collection reaching the point so that tile predicate is true. Feasible path analysis can be applied to program testing, program slicing, array bounds checking, and other forms of anomaly checking. FPA is central to most applications of program analysis. But, because this problem is formally unsolvable, syntactic-based approximations are used in its place. For example, in dead-code analysis the problem is to determine if there are any input values which cause execution to reach a specified program point. Instead an approximation to this problem is computed: determine whether there is a control flow path from the start of the program to the point. This syntactic approximation is efficiently computable and conservative: if there is no such path the program point is clearly unreachable, but if there is such a path, the analysis is inconclusive, and the code is assumed to be live. Such conservative analysis too often yields unsatisfactory results because the approximation is too weak. As another example, consider data flow analysis. A du-pair is a pair of program points such that the first point is a definition of a variable and the second point a use and for which there exists a definition-free path from the definition to the use. The sharper, semantic definition of a du-pair requires that there be a feasible definition-free path from the definition to the use. A compiler using du-pairs for detecting dead variables may miss optimizations by not considering feasibility. Similarly, a program analyzer computing program slices to merge parallel versions may report conflicts where none exist. In the context of software testing, feasibility analysis plays an important role in identifying testing requirements which are infeasible. This is especially true for data flow testing and modified condition/decision coverage. Our system uses in an essential way symbolic analysis and theorem proving technology, and we believe this work represents one of the few successful uses of a theorem prover working in a completely automatic fashion to solve a problem of practical interest. We believe this work anticipates an important trend away from purely syntactic-based methods for program analysis to semantic methods based on symbolic processing and inference technology. Other results demonstrating the practical use of automatic inference is being reported in hardware verification, although there are significant differences between the hardware work and ours. However, what is common and important is that general purpose theorem provers are being integrated with more special-purpose decision procedures to solve problems in analysis and verification. We are pursuina commercial opportunities for this work, and will use and extend the work in other projects we are engaged in. Ultimately we would like to rework the system to analyze C, C++, or Java as a key step toward commercialization.

Source record

Real-time operating system for a multi-laser/multi-detector system

The laser-one hazard detector system, used on the Rensselaer Mars rover, is reviewed briefly with respect to the hardware subsystems, the operation, and the results obtained. A multidetector scanning system was designed to improve on the original system. Interactive support software was designed and programmed to implement real time control of the rover or platform with the elevation scanning mast. The formats of both the raw data and the post-run data files were selected. In addition, the interface requirements were selected and some initial hardware-software testing was completed.

Coles, G.

PDSS/IMC requirements and functional specifications

The system (software and hardware) requirements for the Payload Development Support System (PDSS)/Image Motion Compensator (IMC) are provided. The PDSS/IMC system provides the capability for performing Image Motion Compensator Electronics (IMCE) flight software test, checkout, and verification and provides the capability for monitoring the IMC flight computer system during qualification testing for fault detection and fault isolation.

Source record

Dynamic characteristics of far-field radiation of current modulated phase-locked diode laser arrays

A versatile and powerful streak camera/frame grabber system for studying the evolution of the near and far field radiation patterns of diode lasers was assembled and tested. Software needed to analyze and display the data acquired with the steak camera/frame grabber system was written and the total package used to record and perform preliminary analyses on the behavior of two types of laser, a ten emitter gain guided array and a flared waveguide Y-coupled array. Examples of the information which can be gathered with this system are presented.

Elliott, R. A.

Hardware fault insertion and instrumentation system: Mechanization and validation

Automated test capability for extensive low-level hardware fault insertion testing is developed. The test capability is used to calibrate fault detection coverage and associated latency times as relevant to projecting overall system reliability. Described are modifications made to the NASA Ames Reconfigurable Flight Control System (RDFCS) Facility to fully automate the total test loop involving the Draper Laboratories' Fault Injector Unit. The automated capability provided included the application of sequences of simulated low-level hardware faults, the precise measurement of fault latency times, the identification of fault symptoms, and bulk storage of test case results. A PDP-11/60 served as a test coordinator, and a PDP-11/04 as an instrumentation device. The fault injector was controlled by applications test software in the PDP-11/60, rather than by manual commands from a terminal keyboard. The time base was especially developed for this application to use a variety of signal sources in the system simulator.

Benson, J. W.

Igniter Simulator

Report describes electronic circuitry that simulates electrical properties of igniter of Space Shuttle main engine. Circuit used to test software of engine controller, without having to fire real igniter or turn on engine. Circuit used in all igniter simulations and mimics operation of igniter more realistically than did previous versions.

Simon, Richard A.

Application of the p-version of the finite-element method to global-local problems

A brief survey is given of some recent developments in finite-element analysis technology which bear upon the three main research areas under consideration in this workshop: (1) analysis methods; (2) software testing and quality assurance; and (3) parallel processing. The variational principle incorporated in a finite-element computer program, together with a particular set of input data, determines the exact solution corresponding to that input data. Most finite-element analysis computer programs are based on the principle of virtual work. In the following, researchers consider only programs based on the principle of virtual work and denote the exact displacement vector field corresponding to some specific set of input data by vector u(EX). The exact solution vector u(EX) is independent of the design of the mesh or the choice of elements. Except for very simple problems, or specially constructed test problems, vector u(EX) is not known. Researchers perform a finite-element analysis (or any other numerical analysis) because they wish to make conclusions concerning the response of a physical system to certain imposed conditions, as if vector u(EX) were known.

Szabo, Barna A.

Determination of fiber volume in graphite/epoxy materials using computer image analysis

The fiber volume of graphite/epoxy specimens was determined by analyzing optical images of cross sectioned specimens using image analysis software. Test specimens were mounted and polished using standard metallographic techniques and examined at 1000 times magnification. Fiber volume determined using the optical imaging agreed well with values determined using the standard acid digestion technique. The results were found to agree within 5 percent over a fiber volume range of 45 to 70 percent. The error observed is believed to arise from fiber volume variations within the graphite/epoxy panels themselves. The determination of ply orientation using image analysis techniques is also addressed.

Viens, Michael J.