Technical Program
  Invited Speakers
  Technical Papers
  Practitioner Reports
Educators' Symposium
Doctoral Symposium
Student Research Comp.
Turing Lecture
Social Events
Week at a Glance
Final Program (1.5M .pdf)

Find in Program


view, help

"Design Snippets: Partial Design Representations Extracted from Source Code"
Object-Oriented Programming, Systems, Languages and Applications
Home    Program    Housing & Transportation    Registration    Submissions    Wiki    Maps

 : All Demonstrations : Wednesday : Wednesday Demonstrations

Design Snippets: Partial Design Representations Extracted from Source Code

Courtyard, Demo room 3
Wednesday, 10:30, 45 minutes


This event is also being given Tuesday at 16:30.

Vibha Sazawal, University of Washington
David Notkin, University of Washington

Demonstration number: 7

Most software undergoes frequent refactoring, modification, and extension. Decisions made as a software system is implemented and modified affect whether the system becomes increasingly brittle (hard to change) over time. In this demonstration, we present the Design Snippets Tool, a new tool that supports Java programmers as they make decisions related to ease of change.

The Design Snippets Tool statically analyzes Java code to generate partial design representations ("design snippets"). Programmers can use design snippets to identify design problems and evaluate planned modifications. Design snippets are co-displayed with Java code for easy reference during refactoring and maintenance tasks.

Written in Java, the Design Snippets Tool is implemented as a plug-in to the Eclipse IDE. The tool generates four snippets from Java code and updates them automatically as the user edits. Each snippet is scoped to remove information irrelevant to the Java file currently in focus. Configuration options allow users to trade completeness for speed.

During the demonstration, we will present the snippets generated by the tool and their purpose. Usage scenarios and implementation details will also be described. If time permits, we may briefly discuss our experiences using the tool in "dog food"-style as the tool was being developed.

The Design Snippets Tool illustrates how static analysis can be used to improve the design of OO software evolving incrementally. Two features make the tool unique: 1) the focus on ease of change, and 2) the quick creation of partial design views that are co-located with code.