software visualization4. homework scenario • provide student with learning objectives/ questions...

46
Software Visualization Software Visualization Reflections and Future Directions Reflections and Future Directions John Stasko John Stasko Information Interfaces Research Group Information Interfaces Research Group College of Computing and GVU Center College of Computing and GVU Center Georgia Tech Georgia Tech stasko stasko @cc. @cc. gatech gatech . . edu edu www.cc. www.cc. gatech gatech . . edu edu /~john. /~john. stasko stasko

Upload: others

Post on 22-Sep-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Software VisualizationSoftware VisualizationReflections and Future DirectionsReflections and Future Directions

John StaskoJohn Stasko

Information Interfaces Research GroupInformation Interfaces Research GroupCollege of Computing and GVU CenterCollege of Computing and GVU CenterGeorgia TechGeorgia Tech

staskostasko@[email protected]/~john./~john.staskostasko

Page 2: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 2

Software VisualizationSoftware Visualization

•• Definition Definition “The use of the crafts of typography,graphic design, animation, andcinematography with modern human-computer interaction and computergraphics technology to facilitate boththe human understanding and effectiveuse of computer software.”

Price, Baecker and Small, ‘98

Page 3: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 3

Software Visualization AreasSoftware Visualization Areas

•• Algorithm VisualizationAlgorithm Visualization–– PedagogyPedagogy

–– SystemsSystems

–– Use in classroomUse in classroom

–– Empirical studyEmpirical study

•• Program VisualizationProgram Visualization–– Software engineeringSoftware engineering

–– DebuggingDebugging

–– Program analysisProgram analysis

–– SystemsSystems

Page 4: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 4

TANGO

Polka

Polka-RC

ConcurrentProgramsPVM/ConchPThreadsHPF

PVaniM

EvaluationPairheap

Intro Algos

BH & DFS

HW Scenario

Lens

Choreographer

Algorithm Animation Program Visualization

Trees

LargeDataSets

Dance

Information Mural

XTango

89

90

91

92

93

94

95

96

97

98

99

Polka-3D

Samba

John Staskowww.cc.gatech.edu/[email protected]

Page 5: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 5

TangoTango

IEEE Computer ‘90JVLC ‘90

Multipleframes frombubblesort

Page 6: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 6

Tango ModelTango Model

•• Image, Location, Path, TransitionImage, Location, Path, Transition

Samplecode

Location fromloc, toloc;Image ball;Path path1, path2;Transition mover;

ball = AssocRetrieve("ID", paramvalue);fromloc = ImageLoc(ball, Center);toloc = LocCreate(0.4, 0.7);path1 = PathMakeType(Clockwise);path2 = PathExample(fromloc, toloc, path1);mover = TransCreate(Move, ball, path2);TransPerform(mover);

Page 7: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 7

Tango ContributionsTango Contributions

•• Importance of smooth animationImportance of smooth animation

•• Simplification of the design/programming Simplification of the design/programming processprocess

•• Formal model of the animation, the PathFormal model of the animation, the Path--Transition ParadigmTransition Paradigm

Page 8: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 8

XTangoXTango

•• Native X Windows version of TangoNative X Windows version of Tango

Tango

BWE

X Windows

XTango

X Windows

SIGACT News ‘92D. Hayes

Page 9: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 9

DANCEDANCE

•• Why not design an algorithm animation Why not design an algorithm animation visually?visually?

•• Direct manipulation environment for Direct manipulation environment for interactive, visual design of algorithm interactive, visual design of algorithm animationsanimations=> Automatically generates Tango code=> Automatically generates Tango code

Page 10: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 10

DANCEDANCE

SIGCHI ‘91

Page 11: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 11

Animating Tree AlgorithmsAnimating Tree Algorithms

VL ‘92 C. Turner

Binary representationof a pairing heapdata structure

Page 12: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 12

Concurrent ProgramsConcurrent Programs

•• Understanding parallel programs is even Understanding parallel programs is even more difficult than serialmore difficult than serial

•• Visualization and animation seem Visualization and animation seem naturals for illustrating concurrencynaturals for illustrating concurrency

•• Temporal mapping of program execution Temporal mapping of program execution to animation becomes criticalto animation becomes critical

Page 13: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 13

Tango InsufficienciesTango Insufficiencies

•• Simulated objectSimulated object--orientedoriented

•• One animation windowOne animation window

•• Transition modelTransition model

t->

Must compose all transitions into one“super” transition, then perform it

Page 14: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 14

POLKAPOLKA

•• Improved animation design modelImproved animation design model

•• ObjectObject--oriented paradigmoriented paradigm

•• Multiple animation windowsMultiple animation windows

•• Much richer visualization/animation Much richer visualization/animation capabilitiescapabilities

JPDC ‘93E. Kraemer

Page 15: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 15

POLKAPOLKA

Page 16: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 16

POLKA ModelPOLKA Model

•• Location, Location, AnimObjectAnimObject, Action, Action

•• Introduce explicit animation time (frame)Introduce explicit animation time (frame)

t0 1 2 3 4 5 6 7 8 9

Page 17: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 17

POLKA Programming ModelPOLKA Programming Model

Circle *circ;Loc *loc, *center;Action *act;int len;

circ = new Circle(this,1, 0.2,0.3, 0.1,"red", 1.0);circ->Originate(time);

center = circ->Where(PART_C);loc = new Loc(0.6, 0.5);

act = new Action("MOVE", center, loc, 20);len = circ->Program(time, act);time = Animate(time, len);

Page 18: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 18

Concurrent ProgramsConcurrent Programs

•• New model better, more flexible for New model better, more flexible for illustrating concurrent program actionsillustrating concurrent program actions

•• Polka used to build animation libraries for Polka used to build animation libraries for a variety of architectures/programming a variety of architectures/programming paradigmsparadigms–– message passingmessage passing

–– shared memoryshared memory

–– compilercompiler--driven parallelismdriven parallelism

Page 19: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 19

Message PassingMessage Passing

PVM/Conch

B. TopolV. Sunderam ICDCS ‘95

IJPDSN ‘98

Page 20: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 20

ThreadsThreads Pthreads

TRA. Zhao

Page 21: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 21

High Performance FORTRANHigh Performance FORTRAN

W. Appelbe

Arrays inprogram

Color representsprocess accessingthat memory

Page 22: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 22

Example Program IllustrationExample Program Illustration ParallelQuicksort

Array values view History of exchanges view

Page 23: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 23

Temporal MappingTemporal Mapping

•• Many temporal mappings exist from a Many temporal mappings exist from a concurrent program’s execution to its concurrent program’s execution to its animationanimation–– timestamptimestamp

–– serializedserialized

–– maximum concurrencymaximum concurrency

Page 24: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 24

Animation ChoreographerAnimation Choreographer

•• Visual depiction of program events and Visual depiction of program events and dependenciesdependencies

•• Allows viewer to manipulate events in Allows viewer to manipulate events in time, then see animation that reflects time, then see animation that reflects that temporal orderthat temporal order

E. Kraemer

IPPS ‘94WPC ‘94Concurrency ‘98

Page 25: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 25

Animation ChoreographerAnimation Choreographer

Eventtypes

time

processes

Page 26: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 26

PVaniMPVaniM

•• Visualizing PVM programs onVisualizing PVM programs on--lineline

•• Must use sampling, not tracing due to Must use sampling, not tracing due to sheer number of eventssheer number of events

•• Shows machine loads, host utilization, Shows machine loads, host utilization, memory used, messages sent, memory used, messages sent, communication patterns, etc.communication patterns, etc.

B. TopolV. Sunderam Concurrency: P & E ‘98

Page 27: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 27

PVaniMPVaniM

Basicsystem UI

Page 28: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 28

PolkaPolka--3D3D•• 33--D and VR version of PolkaD and VR version of Polka

•• Same animation modelSame animation model

•• Use third dimension to Use third dimension to –– Enhance visual aestheticsEnhance visual aesthetics

–– Portray 3Portray 3--D dataD data

–– Encode more program attributesEncode more program attributes

•• Not sure appropriate for Not sure appropriate for algo animalgo animVL ‘93J. Wehrli

Page 29: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 29

POLKAPOLKA--3D3D

Quicksort side view

Blue dots are as in2-d view

Colored planes represent exhanges

Page 30: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 30

PolkaPolka--RCRC

•• Rather than time being animation Rather than time being animation frames, what if we use elapsed wall clock frames, what if we use elapsed wall clock time?time?–– Challenging under X WindowsChallenging under X Windows

–– Not clear if this is desirable for algorithm Not clear if this is desirable for algorithm animationsanimations

S. McCrickard Austral Comput Jrnl ‘95

Page 31: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 31

PolkaPolka--RCRC

Action a1("RESIZE", rect1,Traj(CLOCKWISE,0.2,-0.1,slowinout),START_AT, Now(),DURATION, Sec(1.5));

Action a2("MOVE", rect1,Traj(STRAIGHT,loc1,loc2,uniform),START_AFTER_END_OF, &a1, Sec(0.5),VELOCITY,50)

Action mov1("MOVE", elt[i],Traj(CLOCKWISE,from,to,uniform),START_AT, ASAP(), VELOCITY, 50);

Schedule(&a1);Schedule(&a2);Schedule(&mov1);

Programmingmodel

Page 32: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 32

Visualizing Large Data SetsVisualizing Large Data SetsUses semantic zooming

Sorting 5000 elements

View all data Zoom to first 10% Zoom further

Page 33: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 33

Visual DebuggingVisual Debugging

•• Can we adapt algorithm animation Can we adapt algorithm animation capabilities to help programmers debug capabilities to help programmers debug their code?their code?–– Want to go beyond data structure displaysWant to go beyond data structure displays

–– Show semantics of program’s domainShow semantics of program’s domain

–– Easy specification by programmerEasy specification by programmer

Page 34: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 34

LensLens

Sourcecode

Debugger

Animation design palette

Page 35: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 35

Lens SystemLens System

•• Architectural modelArchitectural model

Lens

Parent Process Child Process

Runs animation, controls UI Runs dbx, executes program

Input to dbx

Output from dbx

text

fork

S. MukherjeaICSE ‘93ToCHI ‘94

Page 36: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 36

Empirical Evaluation of Algorithm Empirical Evaluation of Algorithm Animations as Learning AidsAnimations as Learning Aids

•• Can we show that algorithm animations Can we show that algorithm animations can help students learn?can help students learn?

•• Compare learning with animation to Compare learning with animation to learning withoutlearning without

•• Measuring understanding is difficultMeasuring understanding is difficult

•• Four main studiesFour main studies

Page 37: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 37

1. Pairing Heaps1. Pairing Heaps

•• Classical experimental designClassical experimental design

•• Just having animation doesn’t make Just having animation doesn’t make learning happenlearning happen

•• Difficult for student to leverage animation Difficult for student to leverage animation of complex algorithm when they don’t of complex algorithm when they don’t understand algorithm and visual mapping understand algorithm and visual mapping yetyet

A. BadreC. Lewis InterCHI ‘93

Page 38: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 38

2. Introductory Algorithms2. Introductory Algorithms

•• Sorting, graphsSorting, graphs

•• Interaction is the keyInteraction is the key–– Students who enter their own data sets into Students who enter their own data sets into

the algorithm benefited from animationthe algorithm benefited from animation

A. LawrenceA. Badre VL ‘94

Page 39: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 39

3. Binomial Heap & DFS3. Binomial Heap & DFS

•• Is animation like prediction?Is animation like prediction?

•• Does it help the student to anticipate Does it help the student to anticipate what will happen next and learn from what will happen next and learn from that?that?

•• Mixed data, some supportMixed data, some support

M. ByrneR. Catrambone Computers & Ed ‘99

Page 40: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 40

4. Homework Scenario4. Homework Scenario

•• Provide student with learning objectives/Provide student with learning objectives/questions up frontquestions up front

•• Give unlimited work timeGive unlimited work time

•• Animations appear to help motivationAnimations appear to help motivation–– Make a complex algorithm less intimidatingMake a complex algorithm less intimidating

–– Animation helped learningAnimation helped learning

C. KehoeA. Taylor IJHCS ‘00

Page 41: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 41

StudentStudent--Built AnimationsBuilt Animations•• SambaSamba

–– Simple animation scripting languageSimple animation scripting languagecircle 1 0.8 0.8 0.1 red halfline 2 0.1 0.1 0.2 0.2 green thinrectangle 3 0.1 0.9 0.1 0.1 blue solidtext 4 0.0 0.0 0 black Hellocircle 6 0.3 0.3 0.2 wheat solidtriangle 7 0.5 1.0 0.6 0.8 0.4 0.9 cyan solidbigtext 8 0.2 0.2 0 black Some Big Textmoveto 1 6moverelative 3 0.05 -0.4jumprelative 4 0.4 0.4lower 1color 6 blue

SIGCSE ‘97

- Embed print statements in any program to generate

Page 42: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 42

Visualizing Large OVisualizing Large O--O ProgramsO ProgramsInformation Mural

time

overview

detailclasses

messages

InfoVis ‘95ICSE ‘97ToVCG ‘98

D. Jerding

Page 43: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 43

Current State of Software VisualizationCurrent State of Software Visualization

•• Research continues…Research continues…

•• Some use of algorithm animations as Some use of algorithm animations as pedagogical aidspedagogical aids

•• Program visualization trickling into Program visualization trickling into commercial toolscommercial tools

Page 44: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 44

What’s Needed? (AA)What’s Needed? (AA)

•• Focus on interactive toolsFocus on interactive tools

•• Simpler animation constructionSimpler animation construction

•• Empirical validation of valueEmpirical validation of value

Page 45: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 45

What’s Needed? (PV)What’s Needed? (PV)

•• Better analysis of what software Better analysis of what software developers want and needdevelopers want and need

•• Flexible displays providing overview and Flexible displays providing overview and detaildetail

•• Improved tracing/monitoring/analysis Improved tracing/monitoring/analysis capabilitiescapabilities

Page 46: Software Visualization4. Homework Scenario • Provide student with learning objectives/ questions up front • Give unlimited work time • Animations appear to help motivation –

Dec. 1999 46

AcknowledgmentsAcknowledgments

•• Research supported by National Science Research supported by National Science Foundation, Sun, and the GVU CenterFoundation, Sun, and the GVU Center

•• More infoMore info–– www.cc.www.cc.gatechgatech..eduedu//gvugvu//softvizsoftviz

–– staskostasko@[email protected]