Back to results

Massachusetts Institute of Technology

Using diagrammatic explorations to understand code

Abstract

dc:description.abstract

Understanding code is a significant challenge for developers. This thesis examines the limitations of current tools that use diagrams to assist code comprehension and demonstrates the value of four design principles: * That diagrams should be based on familiar models such as UML class diagrams and layered architectural diagrams, so that developers can understand them without additional training. * That the familiar diagrams must be able to focus on specific parts of a codebase relevant to the developer's task, to prevent users from getting overwhelmed with irrelevant information. * That the focused diagrams need to support exploration of the codebase by directly interacting with the existing diagram. * That the focused diagrams can be created by users' exploration as needed for their tasks in traditional code editors. This thesis shows that understanding for software developers can be effectively supported by interactive exploration using focused diagrams of familiar representations of code. These ideas have been combined to build two tools: Strata, which displays using the popular layered architectural diagrams, and Relo, which is based on UML class diagrams. The tools have been evaluated using both controlled lab studies and field deployments. Study results have been positive, indicating merit in these ideas.

Degree

thesis:*
Department dc:contributor.department
Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science.
Grantor dc:publisher
Massachusetts Institute of Technology
Year dc:date.issued
2008

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Sinha, Vineet, 1978-
Advisor dc:contributor.advisor
  • David R. Karger and Robert C. Miller.

Subjects

dc:subject × 1

Rights

dc:rights
Statement dc:rights
  • M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission.
Language dc:language.iso
eng

Identifiers

dc:identifier.*
Handle dc:identifier.uri
http://hdl.handle.net/1721.1/43056
OAI identifier oai:identifier
oai:dspace.mit.edu:1721.1/43056

Chain of custody

source
Harvested from
MIT
Base URL
dspace.mit.edu/oai/request
Last updated
2026-07-22
Source record
OAI-PMH GetRecord
citation

Sinha, Vineet, 1978-. Using diagrammatic explorations to understand code. Massachusetts Institute of Technology, 2008. http://hdl.handle.net/1721.1/43056