When: Thursday, April 5, 2012 - 10:00am - 11:00am
Where: KEC 1007
Speaker Information
Speaker Name: Yuriy Brun
Speaker Title/Description:
NSF CRA CI Fellow
University of Washington
Speaker Biography:
Yuriy Brun is an NSF CRA CI Fellow at the University of Washington. He received his Ph.D. degree in 2008 from the University of Southern California, as an Andrew Viterbi Fellow, and his M.Eng. degree in 2003 from the Massachusetts Institute of Technology. His doctoral research was a finalist in the ACM Doctoral Dissertation Competition in 2008. His most recent work on speculative analysis, the subject of his talk, won a 2011 ACM SIGSOFT Distinguished Paper Award. Yuriy's research interests are in software system modeling, design, and development, focusing on understanding how local component behavior affects global system behavior. His goals are to make it easier for developers to (1) understand their systems' behavior and (2) create systems with desired behavior.
http://www.cs.washington.edu/homes/brun
Abstract:
Software developers primarily rely on experience and intuition to make
development decisions. I will describe speculative analysis, a new
technique that helps developers make better decisions by informing them of
the consequences of their likely actions.
As a concrete example, I will consider collaborative development and the
conflicts that arise when developers make changes in parallel.
This is a serious problem. In industry, some companies hire developers
solely to resolve conflicts. In open-source development, my historical
analysis of over 140,000 versions of nine systems revealed that textual,
compilation, and behavioral conflicts are frequent and persistent, posing a
significant challenge to collaborative development. Speculative analysis
can help solve this problem by informing developers early about potential
and existing conflicts. Armed with this information, developers can prevent
or more easily resolve the conflicts. I will demonstrate Crystal, a
publicly available tool that detects such conflicts early and precisely.
Crystal has inspired a collaboration with Microsoft and some Microsoft teams
now use a version of the tool in their everyday work.
My research focuses on helping developers understand system behavior.
By informing developers of the consequences of their choices, speculative
analysis allows developers to understand the choices'
implications on the system's behavior, leading to better decisions and
higher-quality software. I will briefly describe three other results that
help developers understand system behavior and then summarize my vision of
how the mechanisms that inform developers can also be used to inform the
system itself, allowing for self-adapting and self-managing systems.
_______________________________________________
Colloquium mailing list
[email protected]
https://secure.engr.oregonstate.edu/mailman/listinfo/colloquium