955 research outputs found
BugDoc: Algorithms to Debug Computational Processes
Data analysis for scientific experiments and enterprises, large-scale
simulations, and machine learning tasks all entail the use of complex
computational pipelines to reach quantitative and qualitative conclusions. If
some of the activities in a pipeline produce erroneous outputs, the pipeline
may fail to execute or produce incorrect results. Inferring the root cause(s)
of such failures is challenging, usually requiring time and much human thought,
while still being error-prone. We propose a new approach that makes use of
iteration and provenance to automatically infer the root causes and derive
succinct explanations of failures. Through a detailed experimental evaluation,
we assess the cost, precision, and recall of our approach compared to the state
of the art. Our experimental data and processing software is available for use,
reproducibility, and enhancement.Comment: To appear in SIGMOD 2020. arXiv admin note: text overlap with
arXiv:2002.0464
Recommended from our members
A survey on online monitoring approaches of computer-based systems
This report surveys forms of online data collection that are in current use (as well as being the subject of research to adapt them to changing technology and demands), and can be used as inputs to assessment of dependability and resilience, although they are not primarily meant for this use
Quantum Symbolic Execution
With advances in quantum computing, researchers can now write and run many
quantum programs. However, there is still a lack of effective methods for
debugging quantum programs. In this paper, quantum symbolic execution (QSE) is
proposed to generate test cases, which helps to finding bugs in quantum
programs. The main idea of quantum symbolic execution is to find the suitable
test cases from all possible ones (i.e. test case space). It is different from
the way of classical symbol execution, which gets test cases by calculating
instead of searching. QSE utilizes quantum superposition and parallelism to
store the test case space with only a few qubits. According to the conditional
statements in the debugged program, the test case space is continuously divided
into subsets, subsubsets and so on. Elements in the same subset are suitable
test cases that can test the corresponding branch in the code to be tested. QSE
not only provides a possible way to debug quantum programs, but also avoids the
difficult problem of solving constraints in classical symbolic execution
- …