5 research outputs found

    Satisfiability Modulo ODEs

    Full text link
    We study SMT problems over the reals containing ordinary differential equations. They are important for formal verification of realistic hybrid systems and embedded software. We develop delta-complete algorithms for SMT formulas that are purely existentially quantified, as well as exists-forall formulas whose universal quantification is restricted to the time variables. We demonstrate scalability of the algorithms, as implemented in our open-source solver dReal, on SMT benchmarks with several hundred nonlinear ODEs and variables.Comment: Published in FMCAD 201

    Verifying safety properties of a nonlinear control by interactive theorem proving with the Prototype Verification System

    Get PDF
    Interactive, or computer-assisted, theorem proving is the verification of statements in a formal system, where the proof is developed by a logician who chooses the appropriate inference steps, in turn executed by an automatic theorem prover. In this paper, interactive theorem proving is used to verify safety properties of a nonlinear (hybrid) control system

    LNCS

    Get PDF
    Template polyhedra generalize intervals and octagons to polyhedra whose facets are orthogonal to a given set of arbitrary directions. They have been employed in the abstract interpretation of programs and, with particular success, in the reachability analysis of hybrid automata. While previously, the choice of directions has been left to the user or a heuristic, we present a method for the automatic discovery of directions that generalize and eliminate spurious counterexamples. We show that for the class of convex hybrid automata, i.e., hybrid automata with (possibly nonlinear) convex constraints on derivatives, such directions always exist and can be found using convex optimization. We embed our method inside a CEGAR loop, thus enabling the time-unbounded reachability analysis of an important and richer class of hybrid automata than was previously possible. We evaluate our method on several benchmarks, demonstrating also its superior efficiency for the special case of linear hybrid automata

    PEF: Python Error Finder

    Get PDF
    Tesis (Lic. en Cs. de la Computación)--Universidad Nacional de Córdoba, Facultad de Matemática, Astronomía y Física, 2014.La verificación del correcto funcionamiento de los sistemas es uno de los aspectos más importante del desarrollo de software, y a su vez, uno de los más costosos de llevar a cabo. El testing tradicional y la verificación de modelos requiere mucho esfuerzo para lograr una buena cobertura de las posibles ejecuciones. En este trabajo, utilizamos y extendemos una técnica que combina ejecución simbólica, el poder de los razonadores recientes y la versatilidad de lenguajes puramente orientados a objetos, para crear una librería que explora y describe los caminos de un programa, detectando errores de manera automática y facilitando posteriormente, la generación de tests. Presentaremos a PEF, una herramienta novedosa que hace uso de la técnica mencionada para detectar errores en programas escritos en Python 3 con muy poco esfuerzo por parte del usuario. Mostraremos la arquitectura del motor de ejecución simbólica y los aspectos fundamentales del lenguaje necesarios para construir el motor en forma de librería, sin tener que re-implementar el intérprete, como es usual en proyectos similares. También explicaremos el sistema de contratos que incorporamos para indicar pre y post condiciones que se desean aplicar y validar en los programas a ser explorados por PEF
    corecore