I am Professor of Software Technology at KTH Royal Institute of Technology. I hold a Chair from the Wallenberg Autonomous Systems and Software Program (WASP). My laboratory is a data center.
How to automatically repair software?
In my group, we invent systems to automatically fix software bugs. Our systems repair Java code, are strongly validated on real bugs and large scale programs. Our software prototypes are all made open-source for sake of reproducible research and open-science. Read more:
- Curated introductory pointers
- Survey on automatic bug fixing
- Our best-of-breed automatic repair systems for Java: Nopol, Astor, NpeFix
- The possibly largest experiment ever in automatic program repair.
How to construct self-healing software?
Many bugs have more critical consequences than they should have and I claim that it's because most programming paradigms and software stacks are brittle. My second research goal is to understand the causes of software brittleness, and to propose counter-measures so as to achieve truly self-healing software. Read more:
- Antifragile software: How I stopped worrying and learned to love software errors
- Chaos engineering: principled perturbations at runtime (eg exception injection)
- Correctness attraction: perturbations do not prevent correctness.