Bug-finding tools based on dynamic analysis (DA) have become ubiquitous during software development. Notable examples include tools such as Valgrind or the compiler sanitizers provided by Clang and GCC. While precise, these analyses incur a large performance overhead (often several times slower than native execution), which makes them prohibitively expensive to use in production. In this work, we are investigating the exciting possibility of deploying expensive analyses in production code using a multi-version execution approach with partial checking.
Luis Pina is currently a post-doctoral researcher at Imperial College, London. He will soon receive his PhD from from IST Lisbon, having worked for several years at PLUM, the laboratory for Programming Languages research at the University of Maryland, under Michael Hicks.