3,573 research outputs found

    Enhancing Reuse of Constraint Solutions to Improve Symbolic Execution

    Full text link
    Constraint solution reuse is an effective approach to save the time of constraint solving in symbolic execution. Most of the existing reuse approaches are based on syntactic or semantic equivalence of constraints; e.g. the Green framework is able to reuse constraints which have different representations but are semantically equivalent, through canonizing constraints into syntactically equivalent normal forms. However, syntactic/semantic equivalence is not a necessary condition for reuse--some constraints are not syntactically or semantically equivalent, but their solutions still have potential for reuse. Existing approaches are unable to recognize and reuse such constraints. In this paper, we present GreenTrie, an extension to the Green framework, which supports constraint reuse based on the logical implication relations among constraints. GreenTrie provides a component, called L-Trie, which stores constraints and solutions into tries, indexed by an implication partial order graph of constraints. L-Trie is able to carry out logical reduction and logical subset and superset querying for given constraints, to check for reuse of previously solved constraints. We report the results of an experimental assessment of GreenTrie against the original Green framework, which shows that our extension achieves better reuse of constraint solving result and saves significant symbolic execution time.Comment: this paper has been submitted to conference ISSTA 201

    A Historical Perspective on Runtime Assertion Checking in Software Development

    Get PDF
    This report presents initial results in the area of software testing and analysis produced as part of the Software Engineering Impact Project. The report describes the historical development of runtime assertion checking, including a description of the origins of and significant features associated with assertion checking mechanisms, and initial findings about current industrial use. A future report will provide a more comprehensive assessment of development practice, for which we invite readers of this report to contribute information

    Proof-checking Euclid

    Get PDF
    We used computer proof-checking methods to verify the correctness of our proofs of the propositions in Euclid Book I. We used axioms as close as possible to those of Euclid, in a language closely related to that used in Tarski's formal geometry. We used proofs as close as possible to those given by Euclid, but filling Euclid's gaps and correcting errors. Euclid Book I has 48 propositions, we proved 235 theorems. The extras were partly "Book Zero", preliminaries of a very fundamental nature, partly propositions that Euclid omitted but were used implicitly, partly advanced theorems that we found necessary to fill Euclid's gaps, and partly just variants of Euclid's propositions. We wrote these proofs in a simple fragment of first-order logic corresponding to Euclid's logic, debugged them using a custom software tool, and then checked them in the well-known and trusted proof checkers HOL Light and Coq.Comment: 53 page

    Science Impacts of the SPHEREx All-Sky Optical to Near-Infrared Spectral Survey: Report of a Community Workshop Examining Extragalactic, Galactic, Stellar and Planetary Science

    Full text link
    SPHEREx is a proposed SMEX mission selected for Phase A. SPHEREx will carry out the first all-sky spectral survey and provide for every 6.2" pixel a spectra between 0.75 and 4.18 μ\mum [with R∼\sim41.4] and 4.18 and 5.00 μ\mum [with R∼\sim135]. The SPHEREx team has proposed three specific science investigations to be carried out with this unique data set: cosmic inflation, interstellar and circumstellar ices, and the extra-galactic background light. It is readily apparent, however, that many other questions in astrophysics and planetary sciences could be addressed with the SPHEREx data. The SPHEREx team convened a community workshop in February 2016, with the intent of enlisting the aid of a larger group of scientists in defining these questions. This paper summarizes the rich and varied menu of investigations that was laid out. It includes studies of the composition of main belt and Trojan/Greek asteroids; mapping the zodiacal light with unprecedented spatial and spectral resolution; identifying and studying very low-metallicity stars; improving stellar parameters in order to better characterize transiting exoplanets; studying aliphatic and aromatic carbon-bearing molecules in the interstellar medium; mapping star formation rates in nearby galaxies; determining the redshift of clusters of galaxies; identifying high redshift quasars over the full sky; and providing a NIR spectrum for most eROSITA X-ray sources. All of these investigations, and others not listed here, can be carried out with the nominal all-sky spectra to be produced by SPHEREx. In addition, the workshop defined enhanced data products and user tools which would facilitate some of these scientific studies. Finally, the workshop noted the high degrees of synergy between SPHEREx and a number of other current or forthcoming programs, including JWST, WFIRST, Euclid, GAIA, K2/Kepler, TESS, eROSITA and LSST.Comment: Report of the First SPHEREx Community Workshop, http://spherex.caltech.edu/Workshop.html , 84 pages, 28 figure

    Executable assertions and flight software

    Get PDF
    Executable assertions are used to test flight control software. The techniques used for testing flight software; however, are different from the techniques used to test other kinds of software. This is because of the redundant nature of flight software. An experimental setup for testing flight software using executable assertions is described. Techniques for writing and using executable assertions to test flight software are presented. The error detection capability of assertions is studied and many examples of assertions are given. The issues of placement and complexity of assertions and the language features to support efficient use of assertions are discussed

    Motivating Time as a First Class Entity

    Get PDF
    In hard real-time applications, programs must not only be functionally correct but must also meet timing constraints. Unfortunately, little work has been done to allow a high-level incorporation of timing constraints into distributed real-time programs. Instead the programmer is required to ensure system timing through a complicated synchronization process or through low-level programming, making it difficult to create and modify programs. In this report, we describe six features that must be integrated into a high level language and underlying support system in order to promote time to a first class position in distributed real-time programming systems: expressibility of time, real-time communication, enforcement of timing constraints, fault tolerance to violations of constraints, ensuring distributed system state consistency in the time domain, and static timing verification. For each feature we describe what is required, what related work had been performed, and why this work does not adequately provide sufficient capabilities for distributed real-time programming. We then briefly outline an integrated approach to provide these six features using a high-level distributed programming language and system tools such as compilers, operating systems, and timing analyzers to enforce and verify timing constraints
    • …
    corecore