Evolution-Aware Runtime Verification
Add to Google Calendar
The risk posed by software bugs has increased significantly as software now controls many areas of our daily lives. Runtime verification can help find bugs by monitoring program executions against formal properties. While tremendous research progress has been made towards improving the performance of runtime verification, there has been very little focus on the benefits and challenges of including runtime verification in developers' everyday workflow.
In this talk, I will first describe my study which showed that runtime verification can help find many important bugs from already existing tests. My study also showed that runtime verification still incurs high overhead, both in machine time to monitor properties and in developer time to inspect violations from test executions that do not satisfy the properties. Moreover, all prior runtime verification techniques consider only one program version and wastefully re-monitor unaffected properties and code as software evolves. I will then present the first evolution-aware runtime verification techniques which reduce overhead across multiple program versions. My techniques leverage the key insight that software evolves in small increments and reduced RV overhead by up to 10x.
Owolabi Legunsen is a PhD candidate in Computer Science at UIUC, where he works with Darko Marinov and Grigore Rosu. His interests are in Software Engineering and Applied Formal Methods, with a focus on improving software reliability through proactive bug detection. So far, Owolabi's techniques and tools have helped find more than 450 bugs in over 90 open-source applications. His research on runtime verification during software testing received an ACM SIGSOFT Distinguished Paper Award at ASE 2016. More information is on his web page: http://mir.cs.illinois.edu/legunsen