Computer Science Seminar

2010 Mar 22 at 10:30

DC 1304

Helping Developers Focus on Relevant Information

Reid Holmes, Postdoctoral Fellow, Dept. Comp. Sci. and Eng., Univ. Washington

Software systems pervade modern life; their size and complexity stand as a testament to the collective abilities of the developers who create and maintain them. The cognitive abilities of software developers cannot keep pace with the increasing complexity of modern systems. My research seeks to identify cognitive burdens that challenge developers and development teams; using this understanding, I create and evaluate practical new techniques to mitigate these impediments.

This talk examines three projects that help developers identify and leverage the information they need to accomplish their task from the morass of data available that is not relevant to their current context. First, I will introduce my dissertation which focused on helping developers perform pragmatic (white box) software reuse tasks. My approach concentrates on making these tasks less ad hoc by helping developers create and enact lightweight plans that capture their reuse intent. Next, I will talk about a new approach to appraise developers of changes in large heterogenous software systems. Current approaches (e.g., change logs) are not effective because their low signal to noise ratio makes them difficult to utilize in practice. Finally, I will introduce a new approach to help developers better appreciate how their static source code changes have altered the runtime behaviour of their systems, by combining static and dynamic analyses.

Bio:

Reid Holmes is a Postdoctoral Fellow at the Department of Computer Science and Engineering at the University of Washington. His interests include understanding the cognitive aspects of software engineering, software reuse, example recommendation systems, and longitudinal dynamic analyses. He has published articles in top-tier venues, including the International Conference on Software Engineering (ICSE) and IEEE Transactions on Software Engineering (TSE). Amongst other awards, he has won a Distinguished Paper Award at ICSE and a NSERC Postdoctoral Fellowship. His doctoral dissertation investigated pragmatic reuse, a new approach for software reuse, that aims to address some of the shortcomings of traditional reuse approaches. He received his Ph.D. at the University of Calgary, advised by Robert J. Walker, in 2008. He received his M.Sc. at the University of British Columbia, advised by Gail C. Murphy, in 2004.