Computer Science Department Faculty Candidate
Monday, March 19
Earl Barr is a postdoctoral scholar at the University of California at Davis, where he received his M.S. (1999) and Ph.D. (2009) degrees, both in Computer Science. He was awarded the highly-competitive I3P Fellowship from the Department of Homeland Security in 2010 and serves as a co-PI on two NSF grants and an Air Force DURIP grant. Dr. Barr’s research interests include testing and analysis, empirical software engineering, computer security, and distributed systems. His recent work focuses on testing and analysis of numerical software, automated debugging, defect analysis and prediction, and code obfuscation
Writing correct software is difficult; writing reliable numerical software involving floating-point numbers is even more difficult. Computers provide numbers with limited precision; when confronted with numbers that exceed that limit, they throw runtime exceptions or introduce approximation and error. Well-known studies (e.g., Huckle) show that numerical errors often occur and can be disastrous, even in “well-tested” code. Thus, practical techniques for systematic testing and analysis of numerical programs are much needed. In this talk, I will present my recent work on developing testing and analysis techniques for numerical software. In particular, I will introduce Ariadne, the first practical symbolic execution engine for automatically detecting floating-point exceptions, and a novel testing framework that systematically perturbs a program’s numerical calculations to elicit latent numerical instability. The tools have been extensively evaluated on the widely-used GNU Scientific Library (GSL). The results show that both tools are effective. In particular, Ariadne identified a large number of real, unchecked runtime exceptions in GSL. The GSL developers confirmed our preliminary findings and look forward to Ariadne’s imminent public release.