MSITSE Practicum Crystal Reimplementation - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

MSITSE Practicum Crystal Reimplementation

Description:

What is Crystal, and why does it need reimplementing? Crystal ... Fluid has intellectual property (IP) concerns. 10/21/2005. David Dickey. 5. Stakeholders ... – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 18
Provided by: dogbertM
Category:

less

Transcript and Presenter's Notes

Title: MSITSE Practicum Crystal Reimplementation


1
MSIT-SE PracticumCrystal Reimplementation
  • David Dickey
  • Jonathan Aldrich (Customer)
  • Mel Rosso-Llopart (Advisor)

2
Agenda
  • Introduce Static Analysis
  • Introduce Crystal
  • Stakeholders
  • Technical Overview
  • Requirements
  • Picture of Success
  • Quality Attributes
  • Project Management
  • Artifacts/Deliverables
  • Schedule
  • Process
  • Risks
  • Reflection

3
What is a Static Analysis?
  • Static Analysis is the process of examining a
    program for specific characteristics without
    executing the program.
  • Simple Example

int x 0 while(x lt 10) x if(x gt 0)
return true else return false
Logical Dead Code
4
What is Crystal, and why does it need
reimplementing?
  • Crystal is a Static Analysis (SA) framework
  • Used in teaching about SA
  • Facilitates creation of SAs
  • Bundling of common SA structures and logic
  • Dependent on Fluid
  • Fluid has everything Crystal needs (and more)
  • Fluid has intellectual property (IP) concerns
  • Crystal inherits Fluids IP concerns
  • Limiting Crystals use overseas

5
Stakeholders
  • Students
  • Pickup Crystal quickly
  • Learn from Framework
  • Professors
  • Tool for teaching
  • Low maintainance
  • Future Maintainers

6
The system must
  • Facilitate the creation of Static Analyses
  • AST, CFG, Lattice, Worklist,
  • Conform to the API as specified by the client
  • Handle Errors
  • Framework Student
  • Satisfy a test suite. (Likely some form of the
    current Crystal test suite)
  • Have usage documentation including installation
    guide and API JavaDocs

7
Picture of Success
  • Submission of a usable and maintainable Static
    Analysis framework
  • Installation Procedure
  • Clean code
  • Documented Design

8
Quality Attributes
  • Usability
  • Simple (At the expense of efficiency)
  • Mapping between lecture framework
  • Error handling Debugging
  • Modifiability
  • SA is an evolving field
  • Customer already thinking about the future

9
Artifacts
  • Proposal
  • Background, Purpose, Responsibilities, high-level
    Timeline
  • Project Tracking
  • Low level tracking of tasks and schedule
  • Requirements
  • Objective, Context, Requirements list
  • Architecture
  • Business Drivers, Quality Attributes,
    Architecture
  • Risk
  • Risk list, Mitigation strategies
  • Test Plan
  • Guide testing procedures, creation and execution

10
Schedule
Week 1 Ramp up. Practicum Proposal Week 2
Project Management, Familiarization,
Experimentation Week 3 Requirements and
Risks Week 4 Architecture Design Week 5
(Buffer) Week 6 Development Milestone/Delivery
Current Code Snapshot Week 7 MOSP Week 8
Development Week 9 Development Week 10
Development Week 11 Development Week 12
Documentation (Final Report and others) Week 13
Reflection and Wrap-up Delivery Code base,
Supporting Documents Week 14 End-of-semester
Presentation. Delivery Final Paper
Week 1 Ramp up. Practicum Proposal Week 2
Project Familiarization Experimentation Week
3 Project Familiarization Experimentation Week
4 Familiarization Requirements Week 5
Develop Reaching Definition Analysis Week 6
Develop Reaching Definition Analysis Week 7
Project Management MOSP Presentation Milestone
Middle of Semester Presentation Week 8
Development Week 9 Development Week 10
Development Week 11 Development Week 12
Documentation (Final Report and others) Week 13
Reflection and Wrap-up Delivery Code base,
Supporting Documents Week 14 End-of-semester
Presentation. Delivery Final Paper
11
Development Process
  • Agile
  • Task List
  • Each week, a set of tasks from this list will be
    selected for completion.
  • Weekly Releases
  • Demonstrations to the client of the product
  • Continuous Customer Communication
  • Keeps the product inline with customer needs
  • Unit Testing
  • Provides a level of confidence to components

12
Risks
  • Domain Knowledge
  • Mitigation Customer guidance, readings, and
    creating a SA from scratch
  • Tool Support (Eclipse)
  • Mitigation Investigating Prototyping
  • Scope Time
  • Mitigation Project Management Communication
  • Management Motivation
  • Mitigation Set delivery dates for artifacts

13
Reflection
  • Research projects require more up-front effort to
    better understand the domain.
  • Technical Client means more architectural
    involvement and guidance

14
Questions
15
System Context
16
Framework Runtime View
17
Testing
  • Unit Testing
  • Component Testing
  • Functional Testing
  • SAs that test different framework properties
  • Robustness testing
  • Does the framework handle misconfigured SAs?
Write a Comment
User Comments (0)
About PowerShow.com