770 research outputs found

    Reproducing Failures in Fault Signatures

    Full text link
    Software often fails in the field, however reproducing and debugging field failures is very challenging: the failure-inducing input may be missing, and the program setup can be complicated and hard to reproduce by the developers. In this paper, we propose to generate fault signatures from the failure locations and the original source code to reproduce the faults in small executable programs. We say that a fault signature reproduces the fault in the original program if the two failed in the same location, triggered the same error conditions after executing the same selective sequences of failure-inducing statements. A fault signature aims to contain only sufficient statements that can reproduce the faults. That way, it provides some context to inform how a fault is developed and also avoids unnecessary complexity and setups that may block fault diagnosis. To compute fault signatures from the failures, we applied a path-sensitive static analysis tool to generate a path that leads to the fault, and then applied an existing syntactic patching tool to convert the path into an executable program. Our evaluation on real-world bugs from Corebench, BugBench, and Manybugs shows that fault signatures can reproduce the fault for the original programs. Because fault signatures are less complex, automatic test input generation tools generated failure-inducing inputs that could not be generated by using the entire programs. Some failure-inducing inputs can be directly transferred to the original programs. Our experimental data are publicly available at https://doi.org/10.5281/zenodo.5430155

    Designing reliable cyber-physical systems overview associated to the special session at FDL’16

    Get PDF
    CPS, that consist of a cyber part – a computing system – and a physical part – the system in the physical environment – as well as the respective interfaces between those parts, are omnipresent in our daily lives. The application in the physical environment drives the overall requirements that must be respected when designing the computing system. Here, reliability is a core aspect where some of the most pressing design challenges are: ‱ monitoring failures throughout the computing system, ‱ determining the impact of failures on the application constraints, and ‱ ensuring correctness of the computing system with respect to application-driven requirements rooted in the physical environment. This paper provides an overview of techniques discussed in the special session to tackle these challenges throughout the stack of layers of the computing system while tightly coupling the design methodology to the physical requirements.</p

    Breeder algorithm for stellarator optimization

    Get PDF

    Selective deforestation and exposure of African wildlife to bat-borne viruses

    Get PDF
    Proposed mechanisms of zoonotic virus spillover often posit that wildlife transmission and amplification precede human outbreaks. Between 2006 and 2012, the palm Raphia farinifera, a rich source of dietary minerals for wildlife, was nearly extirpated from Budongo Forest, Uganda. Since then, chimpanzees, black-and-white colobus, and red duiker were observed feeding on bat guano, a behavior not previously observed. Here we show that guano consumption may be a response to dietary mineral scarcity and may expose wildlife to bat-borne viruses. Videos from 2017–2019 recorded 839 instances of guano consumption by the aforementioned species. Nutritional analysis of the guano revealed high concentrations of sodium, potassium, magnesium and phosphorus. Metagenomic analyses of the guano identified 27 eukaryotic viruses, including a novel betacoronavirus. Our findings illustrate how “upstream” drivers such as socioeconomics and resource extraction can initiate elaborate chains of causation, ultimately increasing virus spillover risk.Peer reviewe
    • 

    corecore