26 research outputs found

    Sound Automation of Magic Wands (extended version)

    Full text link
    The magic wand  ⁣ ⁣\mathbin{-\!\!*} (also called separating implication) is a separation logic connective commonly used to specify properties of partial data structures, for instance during iterative traversals. A footprint of a magic wand formula A ⁣ ⁣BA \mathbin{-\!\!*} B is a state that, combined with any state in which AA holds, yields a state in which BB holds. The key challenge of proving a magic wand (also called packaging a wand) is to find such a footprint. Existing package algorithms either have a high annotation overhead or, as we show in this paper, are unsound. We present a formal framework that precisely characterises a wide design space of possible package algorithms applicable to a large class of separation logics. We prove in Isabelle/HOL that our formal framework is sound and complete, and use it to develop a novel package algorithm that offers competitive automation and is sound. Moreover, we present a novel, restricted definition of wands and prove in Isabelle/HOL that it is possible to soundly combine fractions of such wands, which is not the case for arbitrary wands. We have implemented our techniques for the Viper language, and demonstrate that they are effective in practice.Comment: Extended version of CAV 2022 publicatio

    IP Over ICN Goes Live

    Get PDF
    Information-centric networking (ICN) has long been advocating for radical changes to the IP-based Internet. However, the upgrade challenges that this entails have hindered ICN adoption. To break this loop, the POINT project proposed a hybrid, IP-over-ICN, architecture: IP networks are preserved at the edge, connected to each other over an ICN core. This exploits the key benefits of ICN, enabling individual network operators to improve the performance of their IP-based services, without changing the rest of the Internet. We provide an overview of POINT and outline how it improves upon IP in terms of performance and resilience. Our focus is on the successful trial of the POINT prototype in a production network, where real users operated actual IP-based applications

    The effects of unimanual and bimanual massed practice on upper limb function in adults with cervical spinal cord injury: a systematic review

    Get PDF
    Background Individuals with cervical spinal cord injury (cSCI) have identified improving upper limb function as their most important rehabilitation goal. Unimanual massed practice (UMP) and bimanual massed practice (BMP) may help achieve this. Objectives To evaluate and compare the effects of UMP and BMP on upper limb function in adults with cSCI. Data sources Cochrane Central Register of Controlled Trials, PubMed, CINAHL, Web of Science and PEDro until April 2016. Study selection Studies investigating the effects of UMP and/or BMP on upper limb function in adults with cSCI. Data extraction and synthesis Data was extracted using a standardised form. Studies were appraised using a modified version of the Cochrane risk of bias tool. The findings were qualitatively synthesised. Results Five randomised controlled trials and two case studies were included. Six studies included UMP, three included BMP, and two compared these approaches. Overall the studies reported that UMP and BMP improved upper limb function, particularly when combined with electrical stimulation, with no clear differences between UMP and BMP. These findings should be interpreted with caution however, as six studies presented a high or unclear risk of bias for all functional upper limb outcome measures included, and the remaining study was a small pilot study with no control group. Conclusion Although the findings of the included studies support the use of UMP and BMP in adults with cSCI, only seven studies, all with significant limitations, were included; hence robust conclusions cannot be drawn and further research is warranted. PROSPERO registration number: CRD4201603736

    Sound Automation of Magic Wands (extended version)

    No full text
    The magic wand  ⁣ ⁣\mathbin{-\!\!*} (also called separating implication) is a separation logic connective commonly used to specify properties of partial data structures, for instance during iterative traversals. A footprint of a magic wand formula A ⁣ ⁣BA \mathbin{-\!\!*} B is a state that, combined with any state in which AA holds, yields a state in which BB holds. The key challenge of proving a magic wand (also called packaging a wand) is to find such a footprint. Existing package algorithms either have a high annotation overhead or, as we show in this paper, are unsound. We present a formal framework that precisely characterises a wide design space of possible package algorithms applicable to a large class of separation logics. We prove in Isabelle/HOL that our formal framework is sound and complete, and use it to develop a novel package algorithm that offers competitive automation and is sound. Moreover, we present a novel, restricted definition of wands and prove in Isabelle/HOL that it is possible to soundly combine fractions of such wands, which is not the case for arbitrary wands. We have implemented our techniques for the Viper language, and demonstrate that they are effective in practice
    corecore