Search NASASearch

SEARCH · Search NASA

Results for “SYMBOL”

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

Improving Coverage of Test Cases Generated by Symbolic PathFinder for Programs with Loops

Symbolic execution is a program analysis technique that is used for many purposes, one of which is test-case generation. For loop-free programs, this generates a test-set that achieves path coverage. Program loops, however, imply exponential growth of the number of paths in the best case and non-termination in the worst case. In practice, the number of loop unwindings needs to be bounded for analysis. We consider symbolic execution in the context of the tool Symbolic Pathfinder. This tool extends the model-checker Java Pathfinder and relies on its bounded state-space exploration for termination. We present an implementation of k-bounded loop unwinding, which increases the amount of user-control over the symbolic execution of loops. Bounded unwinding can be viewed as a naive way to prune paths through loops. When using symbolic execution for test-case generation, naively pruning paths is likely at the cost of coverage. In order to improve coverage of branches within a loop body, we present a technique that semi-automatically concretizes variables used in a loop. The basic technique is limited and we therefore present annotations to manually steer symbolic execution towards certain branches, as well as ideas on how the technique can be extended to be more widely applicable.

Programs With Loops

Applications of symbolic computing methods to the dynamic analysis of large systems

Since the symbolic computing language is very well suited to the operations with algebraic equations, techniques use the transfer function concept as a tool for the analysis of large linear dynamic systems. Techniques were coded in the experimental symbolic computer language FORMAC. The first of these approaches, REDUCE 1, establishes the techniques and a computer program to symbolically reduce arbitrary block diagrams associated with large systems for desired transfer functions. Symbolic closed form solutions are determined in several forms including an expanded form in terms of the driving frequencies and system constants. Programs are also written to numerically evaluate the symbolic solutions. A second computer program, REDUCE 2, is also based on the use of symbolic computing methods and was written to accommodate large engineering systems.

Lorenzo, C. F.

Antenna arraying of Voyager telemetry signals by symbol stream combining

Telemetry signals received from the Voyager 2 spacecraft at Deep Space Stations at Parkes and Canberra, Australia, on February 6, 1986, were combined by the method of symbol stream combining. This second demonstration of symbol stream combining followed the International Cometary Explorer (ICE) demonstration at Giacobini-Zinner encounter in September 1985. The Voyager demonstration was at a symbol rate of 43.2 ksymb/s, compared to 2 ksymb/s for ICE. Recording, playback, and combining at this higher rate were demonstrated. The average symbol signal-to-noise ratio (SNR) of the combined data was 2.84 dB, or 0.23 dB less than the sum of the SNRs of the two imput symbol streams. This 0.23 loss from ideal combining was due to use of 4-bit quantization of the input symbol stream and imperfect scaling. A practical implementation with 8-bit quantization could achieve combining losses of under 0.05 dB over a wide dynamic range of input signal levels.

Hurd, W. J.

Memoized Symbolic Execution

This paper introduces memoized symbolic execution (Memoise), a novel approach for more efficient application of forward symbolic execution, which is a well-studied technique for systematic exploration of program behaviors based on bounded execution paths. Our key insight is that application of symbolic execution often requires several successive runs of the technique on largely similar underlying problems, e.g., running it once to check a program to find a bug, fixing the bug, and running it again to check the modified program. Memoise introduces a trie-based data structure that stores the key elements of a run of symbolic execution. Maintenance of the trie during successive runs allows re-use of previously computed results of symbolic execution without the need for re-computing them as is traditionally done. Experiments using our prototype embodiment of Memoise show the benefits it holds in various standard scenarios of using symbolic execution, e.g., with iterative deepening of exploration depth, to perform regression analysis, or to enhance coverage.

Yang, Guowei

Symbolic Analysis of Concurrent Programs with Polymorphism

The current trend of multi-core and multi-processor computing is causing a paradigm shift from inherently sequential to highly concurrent and parallel applications. Certain thread interleavings, data input values, or combinations of both often cause errors in the system. Systematic verification techniques such as explicit state model checking and symbolic execution are extensively used to detect errors in such systems [7, 9]. Explicit state model checking enumerates possible thread schedules and input data values of a program in order to check for errors [3, 9]. To partially mitigate the state space explosion from data input values, symbolic execution techniques substitute data input values with symbolic values [5, 7, 6]. Explicit state model checking and symbolic execution techniques used in conjunction with exhaustive search techniques such as depth-first search are unable to detect errors in medium to large-sized concurrent programs because the number of behaviors caused by data and thread non-determinism is extremely large. We present an overview of abstraction-guided symbolic execution for concurrent programs that detects errors manifested by a combination of thread schedules and data values [8]. The technique generates a set of key program locations relevant in testing the reachability of the target locations. The symbolic execution is then guided along these locations in an attempt to generate a feasible execution path to the error state. This allows the execution to focus in parts of the behavior space more likely to contain an error.

Rungta, Neha Shyam

Data-derived symbol synchronization of MASK and QASK signals

Much has been said in the literature regarding the problem of establishing symbol synchronization in binary baseband digital communication systems. By comparison, the literature contains little information relating to the extraction of symbol sync from multilevel baseband data. With the recent interest in multilevel amplitude-shift keying (MASK) and quadrature amplitude-shift keying (QASK) as signaling techniques for multilevel digital communications systems, the problem of providing symbol synchronization in the receivers of such systems becomes paramount. This paper presents a technique for extracting symbol sync from a MASK or QASK signal which has been transmitted over an infinite-bandwidth white Gaussian noise channel. The scheme is essentially a generalization of the data transition tracking loop (DTTL) which has heretofore been used in PSK systems. The performance of the loop is analyzed in terms of its mean-squared symbol sync jitter and its effects on the data detection process in MASK and QASK systems.

Simon, M. K.

Carrier tracking by smoothing filter can improve symbol SNR

The potential benefit of using a smoothing filter to estimate carrier phase over use of phase locked loops (PLL) is determined. Numerical results are presented for the performance of three possible configurations of the deep space network advanced receiver. These are residual carrier PLL, sideband aided residual carrier PLL, and finally sideband aiding with a Kalman smoother. The average symbol signal to noise ratio (CNR) after losses due to carrier phase estimation error is computed for different total power SNRs, symbol rates and symbol SNRs. It is found that smoothing is most beneficial for low symbol SNRs and low symbol rates. Smoothing gains up to 0.4 dB over a sideband aided residual carrier PLL, and the combined benefit of smoothing and sideband aiding relative to a residual carrier loop is often in excess of 1 dB.

Hurd, W. J.

Symbolic generation of elastic rotor blade equations using a FORTRAN processor and numerical study on dynamic inflow effects on the stability of helicopter rotors

The process of performing an automated stability analysis for an elastic-bladed helicopter rotor is discussed. A symbolic manipulation program, written in FORTRAN, is used to aid in the derivation of the governing equations of motion for the rotor. The blades undergo coupled bending and torsional deformations. Two-dimensional quasi-steady aerodynamics below stall are used. Although reversed flow effects are neglected, unsteady effects, modeled as dynamic inflow are included. Using a Lagrangian approach, the governing equations are derived in generalized coordinates using the symbolic program. The program generates the steady and perturbed equations and writes into subroutines to be called by numerical routines. The symbolic program can operate on both expressions and matrices. For the case of hovering flight, the blade and dynamic inflow equations are converted to equations in a multiblade coordinate system by rearranging the coefficients of the equations. For the case of forward flight, the multiblade equations are obtained through the symbolic program. The final multiblade equations are capable of accommodating any number of elastic blade modes. The computer implementation of this procedure consists of three stages: (1) the symbolic derivation of equations; (2) the coding of the equations into subroutines; and (3) the numerical study after identifying mass, damping, and stiffness coefficients. Damping results are presented in hover and in forward flight with and without dynamic inflow effects for various rotor blade models, including rigid blade lag-flap, elastic flap-lag, flap-lag-torsion, and quasi-static torsion. Results from dynamic inflow effects which are obtained from a lift deficiency function for a quasi-static inflow model in hover are also presented.

Reddy, T. S. R.

The role of computerized symbolic manipulation in rotorcraft dynamics analysis

The potential role of symbolic manipulation programs in development and solution of the governing equations for rotorcraft dynamics problems is discussed and illustrated. Nonlinear equations of motion for a helicopter rotor blade represented by a rotating beam are developed making use of the computerized symbolic manipulation program MACSYMA. The use of computerized symbolic manipulation allows the analyst to concentrate on more meaningful tasks, such as establishment of physical assumptions, without being sidetracked by the tedious and trivial details of the algebraic manipulations. Furthermore, the resulting equations can be produced, if necessary, in a format suitable for numerical solution. A perturbation-type solution for the resulting dynamical equations is shown to be possible with a combination of symbolic manipulation and standard numerical techniques. This should ultimately lead to a greater physical understanding of the behavior of the solution than is possible with purely numerical techniques. The perturbation analysis of the flapping motion of a rigid rotor blade in forward flight is presented, for illustrative purposes, via computerized symbolic manipulation with a method that bypasses Floquet theory.

Crespo Da Silva, Marcelo R. M.

Carrier tracking by smoothing filter improves symbol SNR

The potential benefit of using a smoothing filter to estimate carrier phase over use of phase locked loops (PLL) is determined. Numerical results are presented for the performance of three possible configurations of the deep space network advanced receiver. These are residual carrier PLL, sideband aided residual carrier PLL, and finally sideband aiding with a Kalman smoother. The average symbol signal to noise ratio (SNR) after losses due to carrier phase estimation error is computed for different total power SNRs, symbol rates and symbol SNRs. It is found that smoothing is most beneficial for low symbol SNRs and low symbol rates. Smoothing gains up to 0.4 dB over a sideband aided residual carrier PLL, and the combined benefit of smoothing and sideband aiding relative to a residual carrier loop is often in excess of 1 dB.

Pomalaza-Raez, Carlos A.

Computers for symbolic processing

A detailed survey on the motivations, design, applications, current status, and limitations of computers designed for symbolic processing is provided. Symbolic processing computations are performed at the word, relation, or meaning levels, and the knowledge used in symbolic applications may be fuzzy, uncertain, indeterminate, and ill represented. Various techniques for knowledge representation and processing are discussed from both the designers' and users' points of view. The design and choice of a suitable language for symbolic processing and the mapping of applications into a software architecture are then considered. The process of refining the application requirements into hardware and software architectures is treated, and state-of-the-art sequential and parallel computers designed for symbolic processing are discussed.

Wah, Benjamin W.

Multiple symbol differential detection

A differential detection technique for multiple phase shift keying (MPSK) signals is provided which uses a multiple symbol observation interval on the basis of which a joint decision is made regarding the phase of the received symbols. In accordance with the invention, a first difference phase is created between first and second received symbols. Next, the first difference phase is correlated with the possible values thereof to provide a first plurality of intermediate output signals. A second difference phase is next created between second and third received symbols. The second difference phase is correlated with plural possible values thereof to provide a second plurality of intermediate output signals. Next, a third difference phase is created between the first and third symbols. The third difference phase is correlated with plural possible values thereof to provide a third plurality of intermediate output signals. Each of the first plurality of intermediate outputs are combined with each of the second plurality of intermediate outputs and each of the third plurality of intermediate outputs to provide a plurality of possible output values. Finally, a joint decision is made by choosing from the plurality of possible output values the value which represents the best combined correlation of the first, second and third difference values with the possible values thereof.

Divsalar, Dariush

Automating symbolic analysis with CLIPS

Symbolic Analysis is a methodology first applied as an aid in selecting and generating test cases for 'white box' type testing of computer software programs. The feasibility of automating this analysis process has recently been demonstrated through the development of a CLIPS-based prototype tool. Symbolic analysis is based on separating the logic flow diagram of a computer program into its basic elements, and then systematically examining those elements and their relationships to provide a detailed static analysis of the process that those diagrams represent. The basic logic flow diagram elements are flow structure (connections), predicates (decisions), and computations (actions). The symbolic analysis approach supplies a disciplined step-by-step process to identify all executable program paths and produce a truth table that defines the input and output domains for each path identified. The resulting truth table is the tool that allows software test cases to be generated in a comprehensive manner to achieve total program path, input domain, and output domain coverage. Since the manual application of symbolic analysis is extremely labor intensive and is itself error prone, automation of the process is highly desirable. Earlier attempts at automation, utilizing conventional software approaches, had only limited success. This paper briefly describes the automation problems, the symbolic analysis expert's problem solving heuristics, and the implementation of those heuristics as a CLIPS based prototype, and the manual augmentation required. A simple application example is also provided for illustration purposes. The paper concludes with a discussion of implementation experiences, automation limitations, usage experiences, and future development suggestions.

Morris, Keith E.

Symbol lock detection implemented with nonoverlapping integration intervals

A symbol lock detector is introduced for an incoming coherent digital communication signal which utilizes a subcarrier modulated with binary symbol data, d(sub k), and known symbol interval T by integrating binary values of the signal over nonoverlapping first and second intervals selected to be T/2, delaying the first integral an interval T/2, and either summing or multiplying the second integral with the first one that preceded it to form a value X(sub k). That value is then averaged over a number M of symbol intervals to produce a static value Y. A symbol lock decision can then be made when the static value Y exceeds a threshold level delta.

Shihabi, Mazen M.

Directed Incremental Symbolic Execution

The last few years have seen a resurgence of interest in the use of symbolic execution -- a program analysis technique developed more than three decades ago to analyze program execution paths. Scaling symbolic execution and other path-sensitive analysis techniques to large systems remains challenging despite recent algorithmic and technological advances. An alternative to solving the problem of scalability is to reduce the scope of the analysis. One approach that is widely studied in the context of regression analysis is to analyze the differences between two related program versions. While such an approach is intuitive in theory, finding efficient and precise ways to identify program differences, and characterize their effects on how the program executes has proved challenging in practice. In this paper, we present Directed Incremental Symbolic Execution (DiSE), a novel technique for detecting and characterizing the effects of program changes. The novelty of DiSE is to combine the efficiencies of static analysis techniques to compute program difference information with the precision of symbolic execution to explore program execution paths and generate path conditions affected by the differences. DiSE is a complementary technique to other reduction or bounding techniques developed to improve symbolic execution. Furthermore, DiSE does not require analysis results to be carried forward as the software evolves -- only the source code for two related program versions is required. A case-study of our implementation of DiSE illustrates its effectiveness at detecting and characterizing the effects of program changes.

Person, Suzette

Exact and Approximate Probabilistic Symbolic Execution

Probabilistic software analysis seeks to quantify the likelihood of reaching a target event under uncertain environments. Recent approaches compute probabilities of execution paths using symbolic execution, but do not support nondeterminism. Nondeterminism arises naturally when no suitable probabilistic model can capture a program behavior, e.g., for multithreading or distributed systems. In this work, we propose a technique, based on symbolic execution, to synthesize schedulers that resolve nondeterminism to maximize the probability of reaching a target event. To scale to large systems, we also introduce approximate algorithms to search for good schedulers, speeding up established random sampling and reinforcement learning results through the quantification of path probabilities based on symbolic execution. We implemented the techniques in Symbolic PathFinder and evaluated them on nondeterministic Java programs. We show that our algorithms significantly improve upon a state-of- the-art statistical model checking algorithm, originally developed for Markov Decision Processes.

Symbolic Execution

NEUROSPF: A Tool For the Symbolic Analysis of Neural Networks

This paper presents NEUROSPF, a tool for the symbolic analysis of neural networks. Given a trained neural network model, the tool extracts the architecture and model parameters and translates them into a Java representation that is amenable for analysis using the Symbolic PathFinder symbolic execution tool. Notably, NEUROSPF encodes specialized peer classes for parsing the model’s parameters, thereby enabling efficient analysis. With NEUROSPF the user has the flexibility to specify either the inputs or the network internal parameters as symbolic, promoting the application of program analysis and testing approaches from software engineering to the field of machine learning. For instance, NEUROSPF can be used for coverage-based testing and test generation, finding adversarial examples and also constraint-based repair of neural networks, thus improving the reliability of neural networks and of the applications that use them.

neural networks

Discovering nuclear models from symbolic machine learning

Numerous phenomenological nuclear models have been proposed to describe specific observables within different regions of the nuclear chart. However, developing a unified model that describes the complex behavior of all nuclei remains an open challenge. Here, we explore whether symbolic Machine Learning (ML) can rediscover traditional nuclear physics models or identify alternatives with improved simplicity, fidelity, and predictive power. To address this challenge, we developed a Multi-objective Iterated Symbolic Regression approach that handles symbolic regressions over multiple target observables, accounts for experimental uncertainties and is robust against high-dimensional problems. As a proof of principle, we applied this method to describe the nuclear binding energies and charge radii of light and medium mass nuclei. Our approach identified simple analytical relationships based on the number of protons and neutrons, providing interpretable models with precision comparable to state-of-the-art nuclear models. Additionally, we integrated this ML-discovered model with an existing complementary model to estimate the limits of nuclear stability. These results highlight the potential of symbolic ML to develop accurate nuclear models and guide our description of complex many-body problems.

Nuclear structure