Interactive Exploration & Understanding of Large Software Projects
Speaker: Vineet Sinha , Haystack project, CSAIL, MIT
Date: May 2 2005
Time: 4:10PM to 5:00PM
Location: Star seminar room (32-D463)
Contact: Louis-Philippe Morency, 617-253-4278, firstname.lastname@example.org
As software systems grow in size and use more third-party libraries and frameworks, the need for developers to understand unfamiliar large codebases is rapidly increasing. We have conducted a survey of open-source developers to determine which kinds of documentation techniques were considered most useful for understanding large codebases, and which tasks typically pose challenges for code understanding. We used the results of this survey and other prior work on program comprehension to inform the design of a tool for helping programmers understand code in large software systems. Our tool, Relo, directly supports bottom-up comprehension by allowing interactive exploration of code.
Understanding code often involves following multiple forms of relationships in a single exploration session. Typical interface components either support a single relationship type (like tree widgets), or have scalability and context limitations when supporting a large number of elements. We present a visualization using topological constraints and elements similar to UML diagrams to make an intuitive interface. As the developer explores, Relo builds and automatically manages a visualization mirroring the developerís mental model, allowing them to group viewed artifacts into chunks or use the viewed items to ask the system for further exploration suggestions. Relo will also allow multiple view types allowing developers to focus on different properties, and will help developers explore using annotations by project experts.
See other events that are part of CSAIL Student Seminar Series Spring 2005
See other events happening in May 2005