33 research outputs found

    solc-verify: A Modular Verifier for Solidity Smart Contracts

    Full text link
    We present solc-verify, a source-level verification tool for Ethereum smart contracts. Solc-verify takes smart contracts written in Solidity and discharges verification conditions using modular program analysis and SMT solvers. Built on top of the Solidity compiler, solc-verify reasons at the level of the contract source code, as opposed to the more common approaches that operate at the level of Ethereum bytecode. This enables solc-verify to effectively reason about high-level contract properties while modeling low-level language semantics precisely. The contract properties, such as contract invariants, loop invariants, and function pre- and post-conditions, can be provided as annotations in the code by the developer. This enables automated, yet user-friendly formal verification for smart contracts. We demonstrate solc-verify by examining real-world examples where our tool can effectively find bugs and prove correctness of non-trivial properties with minimal user effort.Comment: Authors' manuscript. Published in S. Chakraborty and J. A. Navas (Eds.): VSTTE 2019, LNCS 12031, 2020. The final publication is available at Springer via https://doi.org/10.1007/978-3-030-41600-3_1

    Formal verification of a memory model for C-like imperative languages

    Get PDF
    http://www.springer.com/International audienceThis paper presents a formal verification with the Coq proof assistant of a memory model for C-like imperative languages. This model defines the memory layout and the operations that manage the memory. The model has been specified at two levels of abstraction and implemented as part of an ongoing certification in Coq of a moderately-optimising C compiler. Many properties of the memory have been verified in the specification. They facilitate the definition of precise formal semantics of C pointers. A certified OCaml code implementing the memory model has been automatically extracted from the specifications

    Democratizing, Stretching, Entangling, Transversing: Four Moves for Reshaping Migration Categories

    No full text
    Migration categories are powerful in shaping who migrates, how and with what rights. This paper outlines the who, why, how, where and when of current categorization and its limits. It then suggests four practices that can reshape migration categories: democratizing and decolonizing them by taking these categories beyond the countries of the global North; stretching their spatio-temporal referents; entangling them with other categorisations based on race and gender and how they are practiced so that their theoretical foundations, disciplinary insights and methodologies can be multiplied; and transversing them to see other processes and methods that cut across migrant categories

    Verification of static and dynamic barrier synchronization using bounded permissions

    No full text
    10.1007/978-3-642-41202-8_16Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)8144 LNCS231-24

    Large-Scale, High resolution data acquisition system for extracellular recording of electrophysiological activity

    No full text

    Computation-Enabled Ventilatory Control System (CENAVEX)

    No full text
    International audienceFunctional electrical stimulation of respiratory muscles is a viable approach for ventilatory support following spinal cord injury (SCI). Current systems implement open-loop stimulation, which requires manual stimulation parameter tuning and cannot alter stimulation parameters to account for muscle fatigue. Our US-French collaborative team has designed and developed a novel computation-enabled adaptive ventilatory control system (CENAVEX) to address these limitations.To facilitate control system development, a computational, biomechanical model of the respiratory system was developed. Using the model, we identified controller parameters that followed the respiratory waveform and allowed for rapid adaptation.A controller that uses an adaptive Spiking Neural Network (SNN), inspired by the medullary respiratory network, has been designed and simulated. Breath volume input is used to synchronize stimulation with native breathing. The breathing frequency controller also dynamically evolves with a metabolic demand parameter.A real-time processing hardware platform was developed to produce a digital implementation of the SNN and a custom IC-based stimulation chip which can supply the adapting current pulses required by the controller. The system has been validated and tested in vivo using both open-loop and closed-loop experiments. A closed-loop Pattern Shaper (PS) adaptive controller was developed to control breath volume by modulating charge delivery to control diaphragmatic contraction. Computational studies determined several sets of parameters which the controller could use to reduce cycle error below 5% by 20 cycles and maintain stability for at least 100 cycles. Studies on uninjured animals maintained an average of less than 10% error after an initial adaptation phase
    corecore