700 research outputs found

    Cerberus-BMC: A Principled Reference Semantics and Exploration Tool for Concurrent and Sequential C

    Get PDF
    C remains central to our infrastructure, making verification of C code an essential and much-researched topic, but the semantics of C is remarkably complex, and important aspects of it are still unsettled, leaving programmers and verification tool builders on shaky ground. This paper describes a tool, Cerberus-BMC, that for the first time provides a principled reference semantics that simultaneously supports (1) a choice of concurrency memory model (including substantial fragments of the C11, RC11, and Linux kernel memory models), (2) a modern memory object model, and (3) a well-validated thread-local semantics for a large fragment of the language. The tool should be useful for C programmers, compiler writers, verification tool builders, and members of the C/C++ standards committees

    sCompile: Critical path identification and analysis for smart contracts

    Get PDF
    Ethereum smart contracts are an innovation built on top of the blockchain technology, which provides a platform for automatically executing contracts in an anonymous, distributed, and trusted way. The problem is magnified by the fact that smart contracts, unlike ordinary programs, cannot be patched easily once deployed. It is important for smart contracts to be checked against potential vulnerabilities. In this work, we propose an alternative approach to automatically identify critical program paths (with multiple function calls including inter-contract function calls) in a smart contract, rank the paths according to their criticalness, discard them if they are infeasible or otherwise present them with user friendly warnings for user inspection. We identify paths which involve monetary transaction as critical paths, and prioritize those which potentially violate important properties. For scalability, symbolic execution techniques are only applied to top ranked critical paths. Our approach has been implemented in a tool called sCompile, which has been applied to 36,099 smart contracts. The experiment results show that sCompile is efficient, i.e., 5 seconds on average for one smart contract. Furthermore, we show that many known vulnerabilities can be captured if user inspects as few as 10 program paths generated by sCompile. Lastly, sCompile discovered 224 unknown vulnerabilities with a false positive rate of 15.4% before user inspection.Comment: Accepted by ICFEM 201

    GPURepair: Automated Repair of GPU Kernels

    Full text link
    This paper presents a tool for repairing errors in GPU kernels written in CUDA or OpenCL due to data races and barrier divergence. Our novel extension to prior work can also remove barriers that are deemed unnecessary for correctness. We implement these ideas in our tool called GPURepair, which uses GPUVerify as the verification oracle for GPU kernels. We also extend GPUVerify to support CUDA Cooperative Groups, allowing GPURepair to perform inter-block synchronization for CUDA kernels. To the best of our knowledge, GPURepair is the only tool that can propose a fix for intra-block data races and barrier divergence errors for both CUDA and OpenCL kernels and the only tool that fixes inter-block data races for CUDA kernels. We perform extensive experiments on about 750 kernels and provide a comparison with prior work. We demonstrate the superiority of GPURepair through its capability to fix more kernels and its unique ability to remove redundant barriers and handle inter-block data races.Comment: 19 pages, 1 algorithm, 3 figures, 22nd International Conference on Verification Model Checking and Abstract Interpretation (VMCAI 2021

    Parameterized Synthesis with Safety Properties

    Full text link
    Parameterized synthesis offers a solution to the problem of constructing correct and verified controllers for parameterized systems. Such systems occur naturally in practice (e.g., in the form of distributed protocols where the amount of processes is often unknown at design time and the protocol must work regardless of the number of processes). In this paper, we present a novel learning based approach to the synthesis of reactive controllers for parameterized systems from safety specifications. We use the framework of regular model checking to model the synthesis problem as an infinite-duration two-player game and show how one can utilize Angluin's well-known L* algorithm to learn correct-by-design controllers. This approach results in a synthesis procedure that is conceptually simpler than existing synthesis methods with a completeness guarantee, whenever a winning strategy can be expressed by a regular set. We have implemented our algorithm in a tool called L*-PSynth and have demonstrated its performance on a range of benchmarks, including robotic motion planning and distributed protocols. Despite the simplicity of L*-PSynth it competes well against (and in many cases even outperforms) the state-of-the-art tools for synthesizing parameterized systems.Comment: 18 page

    Enhanced Leishmania braziliensis Infection Following Pre-Exposure to Sandfly Saliva

    Get PDF
    Parasites of the genus Leishmania cause a variety of diseases known as leishmaniasis, that are transmitted by bites of female sand flies that, during blood-feeding, inject humans with parasites and saliva. It was shown that, in mice, immunity to sand-fly saliva is able to protect against the development of leishmaniasis. We have investigated, in the present study, whether this finding extends the sand fly species Lutzomyia intermedia, which is responsible for transmission of Leishmania braziliensis, a parasite species able to cause destructive skin lesions that can be fatal if left untreated. We observed that mice injected with sand fly saliva develop a specific immune response against salivary proteins. Most importantly, however, this immune response was unable to protect mice against a challenge infection with L. braziliensis, indicating that exposure to this sand fly saliva is harmful to the host. Indeed, subjects with cutaneous leishmaniasis have a higher immune response against L. intermedia saliva. These findings indicate that the anti-saliva immune response to sand fly saliva plays an important role in the outcome of leishmaniasis caused by L. braziliensis, in both mice and humans, and emphasize possible hurdles in the development of vaccines based on sand fly saliva

    Positive Selection Results in Frequent Reversible Amino Acid Replacements in the G Protein Gene of Human Respiratory Syncytial Virus

    Get PDF
    Human respiratory syncytial virus (HRSV) is the major cause of lower respiratory tract infections in children under 5 years of age and the elderly, causing annual disease outbreaks during the fall and winter. Multiple lineages of the HRSVA and HRSVB serotypes co-circulate within a single outbreak and display a strongly temporal pattern of genetic variation, with a replacement of dominant genotypes occurring during consecutive years. In the present study we utilized phylogenetic methods to detect and map sites subject to adaptive evolution in the G protein of HRSVA and HRSVB. A total of 29 and 23 amino acid sites were found to be putatively positively selected in HRSVA and HRSVB, respectively. Several of these sites defined genotypes and lineages within genotypes in both groups, and correlated well with epitopes previously described in group A. Remarkably, 18 of these positively selected tended to revert in time to a previous codon state, producing a “flip-flop” phylogenetic pattern. Such frequent evolutionary reversals in HRSV are indicative of a combination of frequent positive selection, reflecting the changing immune status of the human population, and a limited repertoire of functionally viable amino acids at specific amino acid sites

    Antiplasmodial volatile extracts from Cleistopholis patens Engler & Diels and Uvariastrum pierreanum Engl. (Engl. & Diels) (Annonaceae) growing in Cameroon

    Get PDF
    In a search for alternative treatment for malaria, plant-derived essential oils extracted from the stem barks and leaves of Cleistopholis patens and Uvariastrum pierreanum (Annonaceae) were evaluated in vitro for antiplasmodial activity against the W2 strain of Plasmodium falciparum. The oils were obtained from 500 g each of stem barks and leaves, respectively, by hydrodistillation, using a Clevenger-type apparatus with the following yields: 0.23% and 0.19% for C. patens and 0.1% and 0.3% for U. pierreanum (w/w relative to dried material weight). Analysis of 10% (v/v) oil in hexane by gas chromatography and mass spectrometry identified only terpenoids in the oils, with over 81% sesquiterpene hydrocarbons in C. patens extracts and U. pierreanum stem bark oil, while the leaf oil from the latter species was found to contain a majority of monoterpenes. For C. patens, the major components were α-copaene, δ-cadinene, and germacrene D for the stem bark oil and β-caryophyllene, germacrene D, and germacrene B for the leaf oil. The stem bark oil of U. pierreanum was found to contain mainly β-bisabolene and α-bisabolol, while α- and β-pinenes were more abundant in the leaf extract. Concentrations of oils obtained by diluting 1-mg/mL stock solutions were tested against P. falciparum in culture. The oils were active, with IC50 values of 9.19 and 15.19 μg/mL for the stem bark and leaf oils, respectively, of C. patens and 6.08 and 13.96 μg/mL, respectively, for those from U. pierreanum. These results indicate that essential oils may offer a promising alternative for the development of new antimalarials
    corecore