Four short links: 30 Oct 2020
Mutation Testing, Causal Reasoning, Pointing and Calling, and Software Architecture
- Mutation Testing — in this paper, we semi-automatically learn error-inducing patterns from a corpus of common Java coding errors and from changes that caused operational anomalies at Facebook specifically. We combine the mutations with instrumentation that measures which tests exactly visited the mutated piece of code. Results on more than 15,000 generated mutants show that more than half of the generated mutants survive Facebook’s rigorous test suite of unit, integration, and system tests.
- Causal Reasoning in Probability Trees — A Colab notebook tutorial that is the companion tutorial for the paper “Algorithms for Causal Reasoning in Probability trees” by Genewein T. et al. (2020). Probability trees are one of the simplest models of causal generative processes.They possess clean semantics and are strictly more general than causal Bayesian networks, being able to e.g. represent causal relations that causal Bayesian networks can’t. Even so, they have received little attention from the AI and ML community. In this tutorial we present new algorithms for causal reasoning in discrete probability trees that cover the entire causal hierarchy (association, intervention, and counterfactuals), operating on arbitrary logical and causal events.
- Pointing and Calling — a method in occupational safety for avoiding mistakes by pointing at important indicators and calling out the status. The name of the technique that prevents mistakes.
- Grand Unified Theory of Software Architecture — reduce the imperative shell and move code into the functional core.