OOPSLA '04

Program
Technical Program
  Invited Speakers
  Technical Papers
  Onward!
  Panels
  Practitioner Reports
  Tutorials
Workshops
DesignFest
Educators' Symposium
Demonstrations
Posters
Doctoral Symposium
Exhibits
Student Research Comp.
FlashBoF
 
Turing Lecture
 
Social Events
 
Week at a Glance
 
Final Program (1.5M .pdf)

Find in Program
 

Page
Printer-friendly

Basket
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
 


 
7·8·9·10·11·12·13·14·15·16·17·18·19·20·21

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.