Distinguished Lecture Series: Kathryn S. McKinley




"Programming Uncertain <T>hings"

Photo of Kathryn S. McKinley
Kathryn S. McKinley
Principal Researcher, Microsoft

Thursday, February 4, 2016
3:30 pm, Ryerson 251

*Reception to follow in Ryerson 255 at 4:30 pm*

Computing has entered the era of uncertain data, in which hardware and software generate and reason about estimates. Applications use estimates from sensors, machine learning, big data, humans, and approximate hardware and software. Unfortunately, developers face pervasive correctness, programmability, and optimization problems due to estimates and many programming languages make these problems worse. We propose a new programming abstractions called Uncertain<T> for estimates that can be added to many languages, such as C#, C++, Java, Python, and JavaScript.  With Uncertain<T>, applications that consume estimates use familiar operations for their base type T; an overloaded conditional operator to control false positives and negatives; and two operators to add domain knowledge and compose estimates.  By carefully restrict the expressiveness of these programs, the runtime automatically implements correct statistical reasoning at conditionals, relieving developers of the need to implement or deeply understand statistics.   We demonstrate substantial programmability, correctness, expressiveness, and efficiency benefits of this approach for GPS sensor navigation, approximate computing, and xBox.  

In 1985, industry adapted the IEEE floating point standard, which was wildly successful in delivering programmability, reliability, and portability for applications that reasoned and computed with floating point numbers.  Computing is at a similar point in its history for estimates, wherein a standardized abstraction has the potential to improve the way programmers think about and solve the growing variety of problems that involve uncertainty.

About the Speaker:
Kathryn S. McKinley is a Principal Researcher at Microsoft. She was previously an Endowed Professor of Computer Science at The University of Texas at Austin. She received her BA, MS, and PhD from Rice University. Her research interests span programming language design and implementation, runtimes, architecture, performance, and energy efficiency for cloud and mobile. She and her collaborators have produced several widely used tools: DaCapo Java Benchmarks (31,800+ downloads), TRIPS Compiler, Hoard memory manager, MMTk memory management toolkit, and Immix garbage collector. Her current work focuses energy efficient systems and on Uncertain<T>, a programming language system for correct and efficient applications that sense and reason about the complexity of the world with estimates. She has graduated 21 PhD students. Dr. McKinley was honored to testify to the House Science Committee (Feb. 14, 2013). She served as CRA-W co-chair. She is an IEEE and ACM Fellow.

Host: Hank Hoffmann

For more information about future and/or past Distinguished Lectures, please visit: Distinguished Lecture Series