Search NASA⌕ Search

SEARCH · Search NASA

Results for “Logic model checking”

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.

74 records · Page 5

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↗

Strategies and Technologies for In Situ Mineralogical Investigations on Mars

Surface landers on Mars (Viking and Pathfinder) have not revealed satisfying answers to the mineralogy and lithology of the planet's surface. In part, this results from their prime directives: Viking focused on exobiology, Pathfinder focused on technology demonstration. The analytical instruments on board the landers made admirable attempts to extract the mineralogy and geology of Mars, as did countless modeling efforts after the missions. Here we suggest a framework for elucidating martian, or any other planetary geology, through an approach that defines (a) type of information required, (b) explorational strategy harmonious with acquisition of these data, (c) interpretation approach to the data, (d) compatible mission architecture, (e) instrumentation for interrogating rocks and soil. (a) Data required: The composition of a planet is ordered at scales ranging from molecules to minerals to rocks, and from geological units to provinces to planetary-scale systems. The largest ordering that in situ compositional instruments can attempt to interrogate is rock type "aggregate" information. This is what the geologist attempts to identify first. From this, mineralogy can be either directly seen or inferred. From mineralogy can be determined elemental abundances and perhaps the state of the compounds as being crystalline or amorphous. Knowledge of rock type and mineralogy is critical for elucidating geologic process. Mars landers acquired extremely valuable elemental data, but attempted to move from elements to aggregates, but this can only be done by making many assumptions and sometimes giant leaps of faith. Data we believe essential are elements, minerals, degree of ordering of compounds, and the aggregate or rock type that these materials compose. (b) Explorational strategy: A lander should function as a surrogate geologist. Of the total landscape, a geologist sees much, but gives detailed attention to an infinitesimally small amount of what is seen. To acquire samples worth detailed scrutiny, as many samples as possible need examining at a cursory or reconnaissance level. A representative, statistically-meaningful sample number cannot be overemphasized. This maxim still applies to geological exploration of our own planet of which we have abundant knowledge. Analysis of many samples mandates low-power consumption per sample. (c) Data interpretation: No single instrument can analyze the full spectrum of the x-axis. An instrument is optimized for detecting certain material characteristics and must therefore affix itself to some point on the x-axis. Any conclusions drawn about data to the left or right of the instrument's position on this axis must necessarily be derived by inference. Hence, it seems logical to include on a mission, instruments that are not closely spaced in their x-axis-position, and if only two analytical methods are used, as shown, they should start at opposite ends of the axis and work towards the center. As examples, we depict a high-resolution camera to evaluate rock type ("aggregate" state) and mineralogy, and an x-ray diffractometer-fluorescence spectrometer (XRD-XRF) to determine elements, minerals, and the degree of order of materials. (d) Mission architecture: No instrument or suite of instruments can be relied upon to always give truly unequivocal analyses. The suite of instruments should therefore permit conclusions of one instrument to be checked against those of another through closed analytical loops. These "loops" can be structured by a combination of orbital imagery, descent imagery, broad-band site viewing/analysis, and data that cover both x and y axes. For example, the detection of a basaltic-looking rock with a microscope should be checked against the elements detected, the appearance of the rock as a lava flow from descent imagery, and so forth. (e) Instrumentation: To satisfy the above criteria, it is necessary to: (i) See the rock or soil with high resolution + magnification, (ii) Examine many samples, (iii) Consume little power per analysis, (iv) Determine elemental species, (v) Determine mineralogy directly (not inferentially) and the degree of ordering of compounds, (vi) Start analyzing from both ends of the x-axis. Every geologist wants to see the hand sample first, and apply a hand lens to its surface. This has not been the starting point for missions to Mars. Thus, our technology satisfies all these criteria . This XRD-XRF-Optical instrument currently being developed, analyses rock or soil surfaces without the need for sample acquisition or preparation; this satisfies the power criterion, and enables many analyses. The device acquires direct mineralogy and determines elemental species. The embedded endoscopic camera satisfies the critical criterion of close inspection of samples; the fiber optic cable can also be used for IR, LTV, or laser sample analysis. Additional information is contained in the original (Figures).

Marshall, J. R.↗