770 research outputs found
Reproducing Failures in Fault Signatures
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
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
Selective deforestation and exposure of African wildlife to bat-borne viruses
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
- âŠ