Abstract
Software today is generally brittle, wasteful and insecure. We can do much better. This talk shows you, as a Rust developer, can contribute to a better status quo through incremental improvements.
The talk will spend most of its time showing you ways to remove human error by using automated tools as much as possible. Our tools can prevent bugs and minimise the impact of any that do occur.
We'll spend some time describing why tools are important, the what's available and how to use them, as well as how to foster a culture of excellence within your organisation, that includes commitments to robustness, reliability and energy efficiency.
By the end of the talk, you'll be excited to investigate ideas that have previously seemed too academic to be useful, including static program analysis, formal verification, and model checking. We'll encounter advanced testing techniques, including fuzzing and mutation testing. Most importantly though, we'll make sure that they're integrated into a build system that prevents a broken build from ever making its way to user testing, let alone production.
Software is currently an excellent attack vector for criminals and nation states. While we can't eliminate the risks, we can make attacks much more expensive and complicated.
As Rust's adoption grows, so does our community's collective responsibility to create software that is worthy of the trust our users place on it.
Let's build a safer digital world, one commit at a time.