Software Visualization: From Theory to Practice / Edition 1

Software Visualization: From Theory to Practice / Edition 1

by Kang Zhang
ISBN-10:
1402074484
ISBN-13:
9781402074486
Pub. Date:
04/30/2003
Publisher:
Springer US
ISBN-10:
1402074484
ISBN-13:
9781402074486
Pub. Date:
04/30/2003
Publisher:
Springer US
Software Visualization: From Theory to Practice / Edition 1

Software Visualization: From Theory to Practice / Edition 1

by Kang Zhang

Hardcover

$219.99
Current price is , Original price is $219.99. You
$219.99 
  • SHIP THIS ITEM
    In stock. Ships in 1-2 days.
  • PICK UP IN STORE

    Your local store may have stock of this item.


Overview

Software Visualization: From Theory to Practice was initially selected as a special volume for "The Annals of Software Engineering (ANSE) Journal", which has been discontinued. This special edited volume, is the first to discuss software visualization in the perspective of software engineering. It is a collection of 14 chapters on software visualization, covering the topics from theory to practical systems. The chapters are divided into four Parts: Visual Formalisms, Human Factors, Architectural Visualization, and Visualization in Practice. They cover a comprehensive range of software visualization topics, including

*Visual programming theory and techniques for rapid software prototyping and graph visualization, including distributed programming;

*Visual formalisms such as Flowchart, Event Graph, and Process Communication Graph;

*Graph-oriented distributed programming;

*Program visualization for software understanding, testing/debugging and maintenance;

*Object-oriented re-design based on legacy procedural software;

*Cognitive models for designing software exploration tools;

*Human comprehensibility of visual modeling diagrams in UML;

*UML extended with pattern compositions for software reuse;

*Visualization of software architecture and Web architecture for better understanding;

*Visual programming and program visualization for music synthesizers;

*Drawing diagrams nicely using clustering techniques for software engineering.


Product Details

ISBN-13: 9781402074486
Publisher: Springer US
Publication date: 04/30/2003
Series: The Springer International Series in Engineering and Computer Science , #734
Edition description: 2003
Pages: 442
Product dimensions: 6.10(w) x 9.25(h) x 0.04(d)

Table of Contents

Contributing Authorsxiii
Prefacexxiii
Part AVisual Formalisms1
1Graph Grammars for Visual Programming3
1.Introduction3
2.Graph Grammars and DSVL Generation5
2.1Graph Grammars5
2.2The Reserved Graph Grammar Formalism6
2.3Generating DSVLs9
2.4Graph Parsing12
3.Grammar-Based Diagram Visualization14
3.1Spatial Grammar Extension14
3.2Graph Layout16
3.3Position Specification18
3.4Direction Specification19
3.5An Example: Flowcharts20
4.Other Applications22
5.Conclusions and Future Work23
References25
2Visualizing Program Behavior with the Event Graph29
1.Introduction29
1.1Software Engineering and Visualization29
1.2Usage of Graph Theory in Visualization30
1.3Addressed Solutions based on the Event Graph30
2.The Event Graph Model31
2.1Basic Definition31
2.2Event Attributes32
2.3Ordering Relation33
2.4Event Graph Generation34
2.5Event Graph Visualization37
3.Program Analysis with the Event Graph Model38
3.1Visual Representations38
3.2Detection of Program Failures40
3.3Detection of Computational Errors41
3.4Communication and Synchronization Errors41
3.5Visualization of the Detected Behavioral Characteristics44
3.6Time-Scale45
4.Advanced Analysis Activities46
4.1Group Identification46
4.2Pattern Matching47
4.3Loop Detection52
5.Summary54
6.Acknowledgments55
References55
3Flowchart Components for Program Visualization59
1.Introduction59
2.Flowchart Components60
2.1Definition of flowchart components61
2.2The component geometric information62
2.3An example63
3.Developing Flowchart Layout Functions64
3.1The method of developing layout functions65
3.2Layout functions for flowchart components67
4.Converting Source Code to Flowcharts69
5.Prototype Implementation70
6.Conclusion74
References74
4A Formalism for Graph-Oriented Distributed Programming77
1.Introduction77
2.Related Work79
3.The Graph-Oriented Programming Model80
4.The CDG Framework83
5.Operations on DPGs86
5.1Primitive Functions87
5.2Construction Operations88
5.3Inspection Operations89
5.4Replacement90
6.CDG Calculus93
6.1The Composition Calculus93
6.2Recursion Calculus100
7.Applications and a GOP Toolkit102
7.1Communication and Synchronization102
7.2Subgraph generation102
7.3Query103
7.4Example103
7.5A GOP Toolset105
8.Conclusions and Future Work108
References108
Part BHuman Factors111
5Designing A Software Exploration Tool Using A Cognitive Framework113
1.Introduction113
2.Tool support for program comprehension115
2.1Cognitive models of program comprehension116
2.2Characteristics affecting comprehension strategies118
2.3Reducing cognitive overhead119
3.SHriMP Views120
4.Designing a tool using the Cognitive Framework122
4.1Supporting program comprehension strategies122
4.2Reducing cognitive overhead134
5.Summary140
6.Conclusions and Future Work142
7.Acknowledgments143
References144
6UML Class Diagrams: An Empirical Study of Comprehension149
1.Introduction149
1.1UML class diagrams150
1.2Experimental aims and definitions151
2.Experiment 1: Notation151
2.1Introduction151
2.2Notational variations152
2.3Methodology152
2.4Results157
2.5Analysis160
2.6Discussion (notational variations)162
3.Experiment 2: Layout163
3.1Introduction163
3.2Aesthetic variations163
3.3Methodology166
3.4Results167
3.5Analysis168
3.6Within-aesthetic Preference Data169
3.7Between-aesthetic preference data172
3.8Analysis174
3.9Discussion (aesthetic layout variations)175
4.Conclusion176
5.Acknowledgements176
References177
7Analysis of Visual Languages for Parallel Programming179
1.Introduction179
2.Related Works182
3.PCG Language and Editor184
3.1PCG Language184
3.2PCG Editor186
4.Usability Analysis188
4.1Abstraction Gradient189
4.2Closeness of Mapping191
4.3Consistency192
4.4Diffuseness / Terseness193
4.5Error-proneness194
4.6Hard Mental Operations194
4.7Hidden Dependencies195
4.8Premature Commitment197
4.9Progressive Evaluation197
4.10Role-expressiveness197
4.11Secondary Notation and Escape from Formalism198
4.12Viscosity198
4.13Visibility and Juxtaposability198
5.Empirical Study201
5.1Approach202
5.2Lecture203
5.3Case Study: Poisson Solver204
5.4Observations205
5.5Case Study: Matrix Multiply208
5.6Experiment: Same-different Judgment Test209
5.7Questionnaire210
6.Conclusion212
7.Acknowledgment214
References214
Part CArchitectural Visualization217
8A Visual Architectural Approach to Maintaining Web Applications219
1.Introduction219
1.1Organization of Chapter221
2.The Components of a Web Application221
3.WebFlight: A Web Application223
4.Scenario: Modifying a Subsystem226
5.Visualizing a Web Application229
5.1Extracting the Facts230
5.2Abstracting and Merging the Extracted Facts233
5.3Generating the Architecture Diagrams237
6.Related Work238
6.1Forward Engineering391
6.2Reverse Engineering239
7.Conclusion240
8.Acknowledgments240
References240
9Understanding Architecture Through Structure and Behavior Visualization243
1.Introduction243
2.General Approach245
3.Analysis and Visualization Tool Basis249
3.1Entities and Relations Displayed250
3.2Filtering and Aggregation253
3.3Information Flow in the System256
3.4Classification258
4.Understanding the Components260
5.Understanding the Connectors263
5.1Static Analysis265
5.2Dynamic Analysis268
5.3Visualization273
5.4Detection of Further Patterns274
6.Evaluation276
6.1Pattern Detection in our Analyzer Tool276
6.2Pattern Detection in the SwingSet2 Example278
7.Related Work279
8.Conclusions and Future Work282
References284
10Design Pattern Compositions in UML287
1.Introduction287
2.Illustration of the Problem289
3.Notations for Pattern Composition292
3.1Venn Diagram-Style Pattern Annotation293
3.2Dotted Bounding Pattern Annotation293
3.3UML Collaboration Notation295
3.4Pattern: Role Annotations295
4.UML Extensions296
5.UML Profile for Design Patterns302
6.Case Study303
7.Conclusions305
References306
Part DVisualization in Practice309
11The BLOOM Software Visualization System311
1.Introduction311
1.1Objectives312
1.2System Architecture313
2.Gathering Information315
2.1Structural Data316
2.2Trace Data317
3.Data Analysis323
3.1Trace Data Analysis323
3.2Encoding Sequences326
3.3Summary330
4.Combining Analyses330
4.1The Data Model330
4.2The User Interface332
4.3Specifying Visualizations338
4.4Related Work340
4.5Experience with MURAL341
5.Visualizing the Result342
5.1HIVE and COMB344
5.2BUD349
5.3APIS350
5.4BEE352
5.5Experience352
6.Current and Future Work353
7.Acknowledgements355
References356
12Visual Program Visualization359
1.Introduction359
2.Clavia Nord Modular362
2.1Hardware362
2.2Software363
2.3Programming Environment365
3.Patch Maps366
4.Visualising Patch Cable Layouts372
5.Patch Cables376
6.Module Choice377
6.1Module Power378
6.2Module Size379
7.Module Layout380
7.1Module Position381
7.2Location Use383
8.Related Work384
9.Discussion and Conclusion385
10.Acknowledgements387
References387
13Use of Visualization to Aid Object-Oriented Redesign389
1.Introduction389
2.Related Studies392
3.Methodology393
3.1Abstracting OO Design From Program Structure and Pattern Matching393
3.2Identifying Original Code Related to Each Class397
3.3Refining OO design400
4.Case Study--An Inventory Management System401
5.Conclusions410
References411
14Effective Graph Visualization Via Node Grouping413
1.Introduction413
2.Previous Work416
3.Methodologies for the Application of Node Grouping in Graph Drawing417
4.Two Fast Techniques for Finding Small Cliques418
4.1The Triangle Technique418
4.2The Coloring Technique422
4.3Implementation and Experimental Results424
5.Applying Node Grouping to Force-Directed Drawing425
6.Applying Node Grouping to Orthogonal Drawing429
7.Conclusions435
8.Acknowledgements436
References436
Index439
From the B&N Reads Blog

Customer Reviews