CS 4330 PROJECT DESCRIPTION
ISVis Productization
ISVis
ISVis is a software tool developed to help designers better understand
existing software systems. The ISVis home page can be found here.
Available at this site are binary and source distributions, a bug list,
a user's guide, a tutorial, a Macromedia movie, a glossy brochure, a collection
of technical papers, and a list of dependencies. ISVis has been released
to the DARPA community. It is the purpose of this project to further productize
ISVis for general public release.
Features
The following is an initial list of enhancements and adaptations for ISVis.
The term feature will be used generically to describe them all.
Adaptations
Port to HP UNIX
Port to Solaris 2.7
Port to Windows NT
Port to GCC compiler
Replace RogueWave library with Standard Template Library plus persistence
Replace Motif dependency with fox/amulet/sltk, etc.
User Interface
Replace text entry area with dialog boxes
Improve overall usability
Explore use of tree view for component management
Add extra visualizations (e.g. static call graph)
Enhancements
Interface ISVis to Balboa
Add ability to model concurrent programs
Generalize instrumentation mechanism
Handle multiple event traces (union, intersection, difference)
Add more Message Sequence Chart features
General
Bug fixes
Scale ISVis to deal with larger event traces
Improve error trapping
Develop regression test suite
Provide ACME import
Process
To deal with a program of this size, with this many features in a class
this large requires an explicit but flexible process. The following is
a list of possible process activities for this project.
Coordination
Status tracking and reporting
Scheduling
Resource allocation
Risk management
Coordination
Marketing
Requirements
Domain modeling
Functional
Non-functional
Goal hierarchy
Scenarios
Specification
APIs (Balboa, ACME, ACMEServer, Motif, RogueWave, static analyzer, instrumenter)
Design
Architecture
UML
Patterns
Frameworks
TMK
User interface
Testing
Usability
Regression
Unit
Acceptance
Integration
Scripting
Reliability
Implementation
Refactoring
Debugging
Inspections
Reverse engineering/program understanding
Style
Performance
Metrics
Source control
Installation
Documentation
JavaDoc equivalent?
Bug tracking
Release notes
Web page/SWICKI
Tutorial
Movie
Other
Feature primes
Module primes
Tools
The project requires the use of a variety of tools. The following
is an initial list of candidates for consideration.
Commercial tools
Solaris C/C++ compiler and debugger
Rational Rose
Sniff++
Purify
xSuds
Simple objects
Panorama
Public tools
g++/egcs
SCCS/RCS/CVS
cflow
cxref
Exuberant ctags
MORALE tools
Dowser
ISVis
MORPH
ScenIC View
SAAMPad
REMORA
SIRRINE
VisEd
Research tools
Graphlet
VCG
RMTool
Gen++
Rigi
Waterloo