1 / 13

CPSC 533 Project Status Reid Holmes Andrew Chan March 17, 2003

CPSC 533 Project Status Reid Holmes Andrew Chan March 17, 2003. The Problem. Software systems are huge and complex Difficult for a developer to understand the structure Difficult to estimate how a change to a system will affect its behavior. The costs.

ethan
Download Presentation

CPSC 533 Project Status Reid Holmes Andrew Chan March 17, 2003

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CPSC 533 Project Status Reid Holmes Andrew Chan March 17, 2003

  2. The Problem • Software systems are huge and complex • Difficult for a developer to understand the structure • Difficult to estimate how a change to a system will affect its behavior

  3. The costs • Developers may introduce unintended side-effects because they do not understand the system • Adding features or fixing bugs may take longer than expected

  4. Solutions • Language features to promote abstraction • For large systems, still too much detail • Design documents that document the structure of the system • Does the implementation conform to them?

  5. Solutions • Software tools to capture what has been implemented

  6. Current Research • Hausi Müller, University of Victoria • Rigi Project • Margaret-Anne Storey, University of Victoria • SHriMP Project • Rigi and SHriMP are available for free download

  7. Evaluation • Issues with scalability • No structure is inferred by these tools • Issues with navigation • Easy to get lost when navigating • Focus, but not much context • Results after 10 years of work?

  8. Introducing Prawn • Leverage new software analysis and information visualization tools • Enable a developer to: • discover key components in a system • learn how they are interconnected • determine how a change to the system could affect it

  9. Introducing Prawn • Focus on visualizing Java systems • Scalability goal: lay-out and interact with a program the size of JEdit: • 20 packages • 644 classes • 5014 methods • about 23 270 method calls

  10. Infrastructure • Programming in Java • Source analysis based on FEAT (Feature Exploration and Analysis Tool) • Developed by Martin Robillard in SPL • Visualization using ZVTM (Zoomable Visual Transformation Machine) • Downloadable from SourceForge

  11. Current Status • Successfully analyzed the Java run-time library: • 314 packages • 8216 classes • 73 845 methods • API for querying analysis database • Scalable framework for displaying system

  12. Questions? Image borrowed from www.prawnography.net

More Related