Seminars & Colloquia
University of California, Irvine
"Supporting Information Needs in Software Development"
Wednesday March 05, 2014 09:30 AM
Location: 3211, EBII NCSU Centennial Campus
(Visitor parking instructions)
Software engineering is, at heart, an information intensive activity. Developers use and create information as they understand, diagnose, infer, simulate, and decide through the views of information constructed by development environments and other tools and practices. Yet these views often render information difficult to obtain and use, as it is hidden in sets of artifacts spanning thousands or millions of lines of text. Tools ultimately hold the promise to make software development faster and easier by indexing, displaying, and utilizing information in ways that enable developers to work more effectively.
In this talk, I focus on two typical development activities, investigating and debugging, and examine their information needs from both an empirical and technological perspective, describing studies and a tool. Empirically, the studies demonstrate that developers ask reachability questions, manually traversing control flow to find statements matching search criteria. Technologically, the tool enables developers to search across control flow and visualize relationships between disparate points in code. A controlled experiment revealed that the tool enables developers to answer reachability questions over 5 times more successfully.
To conclude, I'll discuss future research directions, focusing on a project investigating the design of microtasks that enable developers to work with information more effectively.
Thomas LaToza is a Postdoctoral Research Associate at the University of California, Irvine. His research focuses on human aspects of software development, with work in the areas of program comprehension, tools for investigating and debugging complex codebases, collaborative design on interactive whiteboards, and crowdsourcing software engineering. He has degrees in Psychology and Computer Science from the University of Illinois and a PhD in Software Engineering from Carnegie Mellon University. He is currently an organizer of the First International Workshop on Crowdsourcing in Software Engineering at ICSE 2014.
Host: Emerson Murphy-Hill, Computer Science, NCSU