Design Snippets: Partial Design Representations Extracted from Source Code
Courtyard, Demo room 3
This event is also being given Wednesday at 10:30.
Vibha Sazawal, 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.
|Home | Program | Housing & Transportation | Registration | Submissions | Wiki | Maps||© ACM|