Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Efficient 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 19 records

Efficient Binary Static Code Data Flow Analysis Using Unsupervised Learning

The ever increasing need to ensure that code is reliably, efficiently and safely constructed has fueled the evolution of popular static binary code analysis tools. In identifying potential coding flaws in binaries, tools such as IDA Pro are used to disassemble the binaries into an opcode/assembly language format in support of manual static code analysis. Because of the highly manual and resource intensive nature involved with analyzing large binaries, the probability of overlooking potential coding irregularities and inefficiencies is quite high. In this paper, a light-weight data, unsupervised data flow methodology is described which uses highly-correlated data flow graph (CDFGs) to identify coding irregularities such that analysis time and required computing resources are minimized. Such analysis accuracy and efficiency gains are achieved by using a combination of graph analysis and unsupervised machine learning techniques which allows an analyst to focus on the most statistically significant flow patterns while performing binary static code analysis.

97 MATHEMATICS AND COMPUTING↗

CST: A Tool for Optimizing the Efficiency and Effectiveness of Static-Code Analysis Tools

Static Code Analysis (SCA) is a vital component of NASA IV&V’s mission assurance for safety-critical software as it reduces the likelihood of software-induced hazards impacting mission success. Static Code Analysis achieves this by identifying hazards that may not have been otherwise detectable by typical code reviews or other testing. Using SCA tools, however, can be intimidating due to steep learning curves, especially considering tool performance and defect coverage varies greatly. Because of this variation amongst SCA tools, understanding which tools support certain defects and which do not, as well as understanding how to run an analysis based on steps that are unique to each tool, can be difficult to both new and experienced analysts alike. To mitigate this, the SCAWG or the IV&V Static Code Analysis Working Group, created the SCA Checker Taxonomy and Starting Point Profiles. The Checker Selection Tool (CST) incorporates these two SCAWG products into an interactive tool which allows the user to: select organized categories of defects they would like the SCA tools to discover, select default checkers depending on their mission type (e.g. flight), and configure multiple SCA tools at once. C/C++, Java, and Python defect checkers from four common SCA tools were utilized in this iteration of the CST. This iteration also includes the addition of training, SCA tool specific help, and taxonomy guide links, into its design to help users new to Static Code Analysis learn how to perform SCA more efficiently. The CST has been subject to beta testing by experienced static code analysts from the SCAWG to ensure a usable and accurate final product. The implications of the CST in the mission assurance of NASA safety-critical software are profound, as the CST can help identify and reduce false positives and false negatives, fundamentally improving overall SCA efficiency and accuracy.

static code analysis↗

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↗

Generalized Quasi-Static Mooring System Modeling with Analytic Jacobians

This paper presents a generalized and efficient method for quasi-static analysis of mooring systems, including complex scenarios such as when shared mooring lines interconnect multiple floating wind or wave energy devices. While quasi-static mooring models are well established, most published formulations are focused on specific applications, and no publicly available implementations provide efficient handling of large mooring system networks. The present formulation addresses these gaps by: (1) formulating solutions for edge cases not typically supported by quasi-static models; (2) creating a fully generalized model structure such that any combination of mooring lines, point masses, and floating bodies can be assembled; and (3) deriving analytic expressions for the system Jacobians (stiffness matrices) so that systems with many degrees of freedom can be solved efficiently. These techniques form the theory basis of MoorPy, an open-source mooring analysis library. The model is demonstrated on nine scenarios of increasing complexity with features of interest for offshore renewable energy applications. When compared with steady-state results from a lumped-mass dynamic model, the results show that the quasi-static formulation accurately calculates profiles and tensions and that its analytic approach provides more efficient and reliable computation of system stiffness matrices than finite-differencing methods. These results verify the accuracy of the MoorPy model.

16 TIDAL AND WAVE POWER↗

Statistical analysis of static shape control in space structures

The article addresses the problem of efficient analysis of the statistics of initial and corrected shape distortions in space structures. Two approaches for improving efficiency are considered. One is an adjoint technique for calculating distortion shapes: the second is a modal expansion of distortion shapes in terms of pseudo-vibration modes. The two techniques are applied to the problem of optimizing actuator locations on a 55 m radiometer antenna. The adjoint analysis technique is used with a discrete-variable optimization method. The modal approximation technique is coupled with a standard conjugate-gradient continuous optimization method. The agreement between the two sets of results is good, validating both the approximate analysis and optimality of the results.

Burdisso, Ricardo A.↗

Multi-mode quasi-static excitation for systems with nonlinear joints

Finite element models can be used to model and predict the hysteresis and energy dissipation exhibited by nonlinear joints in structures. As a result of the nonlinearity, the frequency and damping of a mode is dependent on excitation amplitude, and when the modes remain uncoupled, quasi-static modal analysis has been shown to efficiently predict this behavior. However, in some cases the modes have been observed to couple such that the frequency and damping of one mode is dependent on the amplitude of other modes. To model the interactions between modes, one must integrate the dynamic equations in time, which is several orders of magnitude more expensive than quasi-static analysis. This work explores an alternative where quasi-static forces are applied in the shapes of two or more modes of vibration simultaneously, and the resulting load–displacement curves are used to deduce the effect of other modes on the effective frequency and damping of the mode in question. This methodology is demonstrated on a simple 2D cantilever beam structure with a single bolted joint which exhibits micro-slip nonlinearity over a range of vibration amplitudes. The predicted frequency and damping are compared with those extracted from a few expensive dynamic simulations of the structure, showing that the quasi-static approach produces reasonable albeit highly conservative bounds on the observed dynamics. This framework is also demonstrated on a 3D structure where dynamic simulations are infeasible.

42 ENGINEERING↗

MSC/NASTRAN DMAP Alter Used for Closed-Form Static Analysis With Inertia Relief and Displacement-Dependent Loads

Solving for the displacements of free-free coupled systems acted upon by static loads is a common task in the aerospace industry. Often, these problems are solved by static analysis with inertia relief. This technique allows for a free-free static analysis by balancing the applied loads with the inertia loads generated by the applied loads. For some engineering applications, the displacements of the free-free coupled system induce additional static loads. Hence, the applied loads are equal to the original loads plus the displacement-dependent loads. A launch vehicle being acted upon by an aerodynamic loading can have such applied loads. The final displacements of such systems are commonly determined with iterative solution techniques. Unfortunately, these techniques can be time consuming and labor intensive. Because the coupled system equations for free-free systems with displacement-dependent loads can be written in closed form, it is advantageous to solve for the displacements in this manner. Implementing closed-form equations in static analysis with inertia relief is analogous to implementing transfer functions in dynamic analysis. An MSC/NASTRAN (MacNeal-Schwendler Corporation/NASA Structural Analysis) DMAP (Direct Matrix Abstraction Program) Alter was used to include displacement-dependent loads in static analysis with inertia relief. It efficiently solved a common aerospace problem that typically has been solved with an iterative technique.

Source record↗

Neurobiological computational models in structural analysis and design

The present paper examines the role of neural computing strategies in structural analysis and design. A principal focus of the work resides in the use of neural networks to represent the force-displacement relationship in static structural analysis. Such models provide computationally efficient capabilities for reanalysis, and appear to be well suited for application in numerical optimum design. The paper presents an overview of the neural computing approach, with special emphasis on supervised learning techniques adopted in the present work. Special features of such learning strategies which have a direct bearing on numerical accuracy and efficiency, are examined in the context of representative structural optimization problems.

Hajela, P.↗

Neurobiological computational models in structural analysis and design

This paper examines the role of neural computing strategies in structural analysis and design. A principal focus of the work resides in the use of neural networks to represent the force-displacement relationship in static structural analysis. Such models provide computationally efficient capabilities for reanalysis, and appear to be well suited for application in numerical optimum design. The paper presents an overview of the neutral computing approach, with special emphasis on supervised learning techniques adopted in the present work. Special features of such learning strategies which have a direct bearing on numerically accuracy and efficiency, are examined in the context of representative structural optimization problems.

Hajela, P.↗

Space station static and dynamic analyses using parallel methods

Algorithms for high-performance parallel computers are applied to perform static analyses of large-scale Space Station finite-element models (FEMs). Several parallel-vector algorithms under development at NASA Langley are assessed. Sparse matrix solvers were found to be more efficient than banded symmetric or iterative solvers for the static analysis of large-scale applications. In addition, new sparse and 'out-of-core' solvers were found superior to substructure (superelement) techniques which require significant additional cost and time to perform static condensation during global FEM matrix generation as well as the subsequent recovery and expansion. A method to extend the fast parallel static solution techniques to reduce the computation time for dynamic analysis is also described. The resulting static and dynamic algorithms offer design economy for preliminary multidisciplinary design optimization and FEM validation against test modes. The algorithms are being optimized for parallel computers to solve one-million degrees-of-freedom (DOF) FEMs. The high-performance computers at NASA afforded effective software development, testing, efficient and accurate solution with timely system response and graphical interpretation of results rarely found in industry. Based on the author's experience, similar cooperation between industry and government should be encouraged for similar large-scale projects in the future.

Gupta, V.↗

Implementation of efficient sensitivity analysis for optimization of large structures

The paper presents the theoretical bases and implementation techniques of sensitivity analyses for efficient structural optimization of large structures, based on finite element static and dynamic analysis methods. The sensitivity analyses have been implemented in conjunction with two methods for optimization, namely, the Mathematical Programming and Optimality Criteria methods. The paper discusses the implementation of the sensitivity analysis method into our in-house software package, AutoDesign.

Umaretiya, J. R.↗

Theoretical and software considerations for nonlinear dynamic analysis

In the finite element method for structural analysis, it is generally necessary to discretize the structural model into a very large number of elements to accurately evaluate displacements, strains, and stresses. As the complexity of the model increases, the number of degrees of freedom can easily exceed the capacity of present-day software system. Improvements of structural analysis software including more efficient use of existing hardware and improved structural modeling techniques are discussed. One modeling technique that is used successfully in static linear and nonlinear analysis is multilevel substructuring. This research extends the use of multilevel substructure modeling to include dynamic analysis and defines the requirements for a general purpose software system capable of efficient nonlinear dynamic analysis. The multilevel substructuring technique is presented, the analytical formulations and computational procedures for dynamic analysis and nonlinear mechanics are reviewed, and an approach to the design and implementation of a general purpose structural software system is presented.

Schmidt, R. J.↗

A Change Impact Analysis to Characterize Evolving Program Behaviors

Change impact analysis techniques estimate the potential effects of changes made to software. Directed Incremental Symbolic Execution (DiSE) is an intraprocedural technique for characterizing the impact of software changes on program behaviors. DiSE first estimates the impact of the changes on the source code using program slicing techniques, and then uses the impact sets to guide symbolic execution to generate path conditions that characterize impacted program behaviors. DiSE, however, cannot reason about the flow of impact between methods and will fail to generate path conditions for certain impacted program behaviors. In this work, we present iDiSE, an extension to DiSE that performs an interprocedural analysis. iDiSE combines static and dynamic calling context information to efficiently generate impacted program behaviors across calling contexts. Information about impacted program behaviors is useful for testing, verification, and debugging of evolving programs. We present a case-study of our implementation of the iDiSE algorithm to demonstrate its efficiency at computing impacted program behaviors. Traditional notions of coverage are insufficient for characterizing the testing efforts used to validate evolving program behaviors because they do not take into account the impact of changes to the code. In this work we present novel definitions of impacted coverage metrics that are useful for evaluating the testing effort required to test evolving programs. We then describe how the notions of impacted coverage can be used to configure techniques such as DiSE and iDiSE in order to support regression testing related tasks. We also discuss how DiSE and iDiSE can be configured for debugging finding the root cause of errors introduced by changes made to the code. In our empirical evaluation we demonstrate that the configurations of DiSE and iDiSE can be used to support various software maintenance tasks

Rungta, Neha Shyam↗

Precise and Scalable Static Program Analysis of NASA Flight Software

Recent NASA mission failures (e.g., Mars Polar Lander and Mars Orbiter) illustrate the importance of having an efficient verification and validation process for such systems. One software error, as simple as it may be, can cause the loss of an expensive mission, or lead to budget overruns and crunched schedules. Unfortunately, traditional verification methods cannot guarantee the absence of errors in software systems. Therefore, we have developed the CGS static program analysis tool, which can exhaustively analyze large C programs. CGS analyzes the source code and identifies statements in which arrays are accessed out of bounds, or, pointers are used outside the memory region they should address. This paper gives a high-level description of CGS and its theoretical foundations. It also reports on the use of CGS on real NASA software systems used in Mars missions (from Mars PathFinder to Mars Exploration Rover) and on the International Space Station.

Brat, G.↗

Aerodynamic characteristics of a large-scale semispan model with a swept wing and an augmented jet flap with hypermixing nozzles

The aerodynamic characteristics of the augmentor wing concept with hypermixing primary nozzles were investigated. A large-scale semispan model in the Ames 40- by 80-Foot Wind Tunnel and Static Test Facility was used. The trailing edge, augmentor flap system occupied 65% of the span and consisted of two fixed pivot flaps. The nozzle system consisted of hypermixing, lobe primary nozzles, and BLC slot nozzles at the forward inlet, both sides and ends of the throat, and at the aft flap. The entire wing leading edge was fitted with a 10% chord slat and a blowing slot. Outboard of the flap was a blown aileron. The model was tested statically and at forward speed. Primary parameters and their ranges included angle of attack from -12 to 32 degrees, flap angles of 20, 30, 45, 60 and 70 degrees, and deflection and diffuser area ratios from 1.16 to 2.22. Thrust coefficients ranged from 0 to 2.73, while nozzle pressure ratios varied from 1.0 to 2.34. Reynolds number per foot varied from 0 to 1.4 million. Analysis of the data indicated a maximum static, gross augmentation of 1.53 at a flap angle of 45 degrees. Analysis also indicated that the configuration was an efficient powered lift device and that the net thrust was comparable with augmentor wings of similar static performance. Performance at forward speed was best at a diffuser area ratio of 1.37.

Aiken, T. N.↗

Computer code for preliminary sizing analysis of axial-flow turbines

This mean diameter flow analysis uses a stage average velocity diagram as the basis for the computational efficiency. Input design requirements include power or pressure ratio, flow rate, temperature, pressure, and rotative speed. Turbine designs are generated for any specified number of stages and for any of three types of velocity diagrams (symmetrical, zero exit swirl, or impulse) or for any specified stage swirl split. Exit turning vanes can be included in the design. The program output includes inlet and exit annulus dimensions, exit temperature and pressure, total and static efficiencies, flow angles, and last stage absolute and relative Mach numbers. An analysis is presented along with a description of the computer program input and output with sample cases. The analysis and code presented herein are modifications of those described in NASA-TN-D-6702. These modifications improve modeling rigor and extend code applicability.

Glassman, Arthur J.↗

Quasi-Static and Dynamic Analysis of Composite Panels: Challenges in Engineering-Level Commercial Software

In engineering applications, where analysis time and efficiency are essential, analytical models and commercially available finite element (FE) material models are the two mainstream methods used to analyze composite crush scenarios. A reliable numerical model addressing the crushing response of composite materials requires a nonlinear progressive damage analysis which includes appropriate failure mechanisms such as matrix cracking, fragmentation, delamination, and fiber breakage. One might be able to address all these interacting failure responses through implementation/validation of a user defined material model or by utilization of a commercially available model, the latter being the most efficient engineering approach. In this paper, the quasi-static and dynamic crushing response of composite specimens, consisting of a C-channel and a corrugated geometry manufactured with carbon fiber/epoxy matrix fabric, are modeled using the progressive composite damage model within ABAQUS. The novel part of this work, which has not been previously addressed in the literature, is the utilization of a detailed parametric study to optimize composite damage model parameters for a given quasi-static crush simulation in ABAQUS. C-channel experiments were used to calibrate the model and then refine/optimize a set of material parameters that best fit the experimental results. These identical parameters were then used to simulate the crush response of the corrugated channel specimens, thereby making it a pure prediction and not a double recalibration. Next, the dynamic response of both panels were predicted, further confirming the predictive capability of the developed numerical model. The effect of parameter variation on the crush response is fully documented for future use in engineering applications utilizing this specific ABAQUS damage model.

Paria Naghipour↗

Efficient ICCG on a shared memory multiprocessor

Different approaches are discussed for exploiting parallelism in the ICCG (Incomplete Cholesky Conjugate Gradient) method for solving large sparse symmetric positive definite systems of equations on a shared memory parallel computer. Techniques for efficiently solving triangular systems and computing sparse matrix-vector products are explored. Three methods for scheduling the tasks in solving triangular systems are implemented on the Sequent Balance 21000. Sample problems that are representative of a large class of problems solved using iterative methods are used. We show that a static analysis to determine data dependences in the triangular solve can greatly improve its parallel efficiency. We also show that ignoring symmetry and storing the whole matrix can reduce solution time substantially.

Hammond, Steven W.↗