Using diagrammatic explorations to understand code
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2008.
Main Author: | |
---|---|
Other Authors: | |
Format: | Thesis |
Language: | eng |
Published: |
Massachusetts Institute of Technology
2008
|
Subjects: | |
Online Access: | http://hdl.handle.net/1721.1/43056 |
_version_ | 1826204386679848960 |
---|---|
author | Sinha, Vineet, 1978- |
author2 | David R. Karger and Robert C. Miller. |
author_facet | David R. Karger and Robert C. Miller. Sinha, Vineet, 1978- |
author_sort | Sinha, Vineet, 1978- |
collection | MIT |
description | Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2008. |
first_indexed | 2024-09-23T12:54:15Z |
format | Thesis |
id | mit-1721.1/43056 |
institution | Massachusetts Institute of Technology |
language | eng |
last_indexed | 2024-09-23T12:54:15Z |
publishDate | 2008 |
publisher | Massachusetts Institute of Technology |
record_format | dspace |
spelling | mit-1721.1/430562019-04-11T08:52:53Z Using diagrammatic explorations to understand code Sinha, Vineet, 1978- David R. Karger and Robert C. Miller. Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science. Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science. Electrical Engineering and Computer Science. Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2008. Includes bibliographical references (p. 139-145). 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. by Vineet Sinha. Ph.D. 2008-11-07T18:57:04Z 2008-11-07T18:57:04Z 2008 2008 Thesis http://hdl.handle.net/1721.1/43056 243866068 eng 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. http://dspace.mit.edu/handle/1721.1/7582 145 p. application/pdf Massachusetts Institute of Technology |
spellingShingle | Electrical Engineering and Computer Science. Sinha, Vineet, 1978- Using diagrammatic explorations to understand code |
title | Using diagrammatic explorations to understand code |
title_full | Using diagrammatic explorations to understand code |
title_fullStr | Using diagrammatic explorations to understand code |
title_full_unstemmed | Using diagrammatic explorations to understand code |
title_short | Using diagrammatic explorations to understand code |
title_sort | using diagrammatic explorations to understand code |
topic | Electrical Engineering and Computer Science. |
url | http://hdl.handle.net/1721.1/43056 |
work_keys_str_mv | AT sinhavineet1978 usingdiagrammaticexplorationstounderstandcode |