1 option
Software visualization : from theory to practice / edited by Kang Zhang.
LIBRA QA76.65 .S565 2003
Available from offsite location
- Format:
- Book
- Series:
- Kluwer international series in engineering and computer science ; SECS 734.
- The Kluwer international series in engineering and computer science ; SECS 734
- Language:
- English
- Subjects (All):
- Visual programming (Computer science).
- Physical Description:
- xxvi, 442 pages : illustrations ; 25 cm.
- Place of Publication:
- Boston : Kluwer Academic Publishers, [2003]
- Summary:
- "Software Visualization: From Theory to Practice" wasinitially selected as a special volume for "The Annals of SoftwareEngineering (ANSE) Journal," which has been discontinued. This specialedited volume, is the first to discuss software visualization in theperspective of software engineering. It is a collection of 14 chapterson software visualization, covering the topics from theory topractical systems. The chapters are divided into four Parts: "VisualFormalisms," "Human" "Factors," "ArchitecturalVisualization," and "Visualization in Practice." They cover acomprehensive range of software visualization topics, including"Software Visualization: From Theory to Practice" is designed tomeet the needs of both an academic and a professional audiencecomposed of researchers and software developers. This book is alsosuitable for senior undergraduate and graduate students in softwareengineering and computer science, as a secondary text or a reference.
- Contents:
- Part A Visual Formalisms 1
- 1 Graph Grammars for Visual Programming 3
- 2. Graph Grammars and DSVL Generation 5
- 2.2 The Reserved Graph Grammar Formalism 6
- 2.3 Generating DSVLs 9
- 2.4 Graph Parsing 12
- 3. Grammar-Based Diagram Visualization 14
- 3.1 Spatial Grammar Extension 14
- 3.2 Graph Layout 16
- 3.3 Position Specification 18
- 3.4 Direction Specification 19
- 3.5 An Example: Flowcharts 20
- 2 Visualizing Program Behavior with the Event Graph 29
- 1.1 Software Engineering and Visualization 29
- 1.2 Usage of Graph Theory in Visualization 30
- 1.3 Addressed Solutions based on the Event Graph 30
- 2. The Event Graph Model 31
- 2.2 Event Attributes 32
- 2.3 Ordering Relation 33
- 2.4 Event Graph Generation 34
- 2.5 Event Graph Visualization 37
- 3. Program Analysis with the Event Graph Model 38
- 3.1 Visual Representations 38
- 3.2 Detection of Program Failures 40
- 3.3 Detection of Computational Errors 41
- 3.4 Communication and Synchronization Errors 41
- 3.5 Visualization of the Detected Behavioral Characteristics 44
- 3.6 Time-Scale 45
- 4. Advanced Analysis Activities 46
- 4.1 Group Identification 46
- 4.2 Pattern Matching 47
- 4.3 Loop Detection 52
- 3 Flowchart Components for Program Visualization 59
- 2. Flowchart Components 60
- 2.1 Definition of flowchart components 61
- 2.2 The component geometric information 62
- 3. Developing Flowchart Layout Functions 64
- 3.1 The method of developing layout functions 65
- 3.2 Layout functions for flowchart components 67
- 4. Converting Source Code to Flowcharts 69
- 5. Prototype Implementation 70
- 4 A Formalism for Graph-Oriented Distributed Programming 77
- 2. Related Work 79
- 3. The Graph-Oriented Programming Model 80
- 4. The CDG Framework 83
- 5. Operations on DPGs 86
- 5.1 Primitive Functions 87
- 5.2 Construction Operations 88
- 5.3 Inspection Operations 89
- 5.4 Replacement 90
- 6. CDG Calculus 93
- 6.1 The Composition Calculus 93
- 6.2 Recursion Calculus 100
- 7. Applications and a GOP Toolkit 102
- 7.1 Communication and Synchronization 102
- 7.2 Subgraph generation 102
- 7.3 Query 103
- 7.5 A GOP Toolset 105
- Part B Human Factors 111
- 5 Designing A Software Exploration Tool Using A Cognitive Framework 113
- 2. Tool support for program comprehension 115
- 2.1 Cognitive models of program comprehension 116
- 2.2 Characteristics affecting comprehension strategies 118
- 2.3 Reducing cognitive overhead 119
- 3. SHriMP Views 120
- 4. Designing a tool using the Cognitive Framework 122
- 4.1 Supporting program comprehension strategies 122
- 4.2 Reducing cognitive overhead 134
- 6 UML Class Diagrams: An Empirical Study of Comprehension 149
- 1.1 UML class diagrams 150
- 1.2 Experimental aims and definitions 151
- 2. Experiment 1: Notation 151
- 2.2 Notational variations 152
- 2.5 Analysis 160
- 2.6 Discussion (notational variations) 162
- 3. Experiment 2: Layout 163
- 3.2 Aesthetic variations 163
- 3.5 Analysis 168
- 3.6 Within-aesthetic Preference Data 169
- 3.7 Between-aesthetic preference data 172
- 3.8 Analysis 174
- 3.9 Discussion (aesthetic layout variations) 175
- 7 Analysis of Visual Languages for Parallel Programming 179
- 3. PCG Language and Editor 184
- 3.1 PCG Language 184
- 3.2 PCG Editor 186
- 4. Usability Analysis 188
- 4.1 Abstraction Gradient 189
- 4.2 Closeness of Mapping 191
- 4.3 Consistency 192
- 4.4 Diffuseness / Terseness 193
- 4.5 Error-proneness 194
- 4.6 Hard Mental Operations 194
- 4.7 Hidden Dependencies 195
- 4.8 Premature Commitment 197
- 4.9 Progressive Evaluation 197
- 4.10 Role-expressiveness 197
- 4.11 Secondary Notation and Escape from Formalism 198
- 4.12 Viscosity 198
- 4.13 Visibility and Juxtaposability 198
- 5. Empirical Study 201
- 5.2 Lecture 203
- 5.3 Case Study: Poisson Solver 204
- 5.4 Observations 205
- 5.5 Case Study: Matrix Multiply 208
- 5.6 Experiment: Same-different Judgment Test 209
- 5.7 Questionnaire 210
- Part C Architectural Visualization 217
- 8 A Visual Architectural Approach to Maintaining Web Applications 219
- 2. The Components of a Web Application 221
- 3. WebFlight: A Web Application 223
- 4. Scenario: Modifying a Subsystem 226
- 5. Visualizing a Web Application 229
- 5.1 Extracting the Facts 230
- 5.2 Abstracting and Merging the Extracted Facts 233
- 5.3 Generating the Architecture Diagrams 237
- 6. Related Work 238
- 6.1 Forward Engineering 391
- 6.2 Reverse Engineering 239
- 9 Understanding Architecture Through Structure and Behavior Visualization 243
- 3. Analysis and Visualization Tool Basis 249
- 3.1 Entities and Relations Displayed 250
- 3.2 Filtering and Aggregation 253
- 3.3 Information Flow in the System 256
- 3.4 Classification 258
- 4. Understanding the Components 260
- 5. Understanding the Connectors 263
- 5.1 Static Analysis 265
- 5.2 Dynamic Analysis 268
- 5.3 Visualization 273
- 5.4 Detection of Further Patterns 274
- 6. Evaluation 276
- 6.1 Pattern Detection in our Analyzer Tool 276
- 6.2 Pattern Detection in the SwingSet2 Example 278
- 7. Related Work 279
- 10 Design Pattern Compositions in UML 287
- 3. Notations for Pattern Composition 292
- 3.1 Venn Diagram-Style Pattern Annotation 293
- 3.2 Dotted Bounding Pattern Annotation 293
- 3.3 UML Collaboration Notation 295
- 3.4 Pattern: Role Annotations 295
- 4. UML Extensions 296
- 5. UML Profile for Design Patterns 302
- Part D Visualization in Practice 309
- 11 The BLOOM Software Visualization System 311
- 1.2 System Architecture 313
- 2. Gathering Information 315
- 2.1 Structural Data 316
- 2.2 Trace Data 317
- 3. Data Analysis 323
- 3.1 Trace Data Analysis 323
- 3.2 Encoding Sequences 326
- 4. Combining Analyses 330
- 4.1 The Data Model 330
- 4.2 The User Interface 332
- 4.3 Specifying Visualizations 338
- 4.5 Experience with MURAL 341
- 5. Visualizing the Result 342
- 5.1 HIVE and COMB 344
- 5.2 BUD 349
- 5.3 APIS 350
- 5.4 BEE 352
- 5.5 Experience 352
- 6. Current and Future Work 353
- 12 Visual Program Visualization 359
- 2. Clavia Nord Modular 362
- 2.1 Hardware 362
- 2.2 Software 363
- 2.3 Programming Environment 365
- 3. Patch Maps 366
- 4. Visualising Patch Cable Layouts 372
- 5. Patch Cables 376
- 6. Module Choice 377
- 6.1 Module Power 378
- 6.2 Module Size 379
- 7. Module Layout 380
- 7.1 Module Position 381
- 7.2 Location Use 383
- 13 Use of Visualization to Aid Object-Oriented Redesign 389
- 3.1 Abstracting OO Design From Program Structure and Pattern Matching 393
- 3.2 Identifying Original Code Related to Each Class 397
- 3.3 Refining OO design 400
- 4. Case Study
- An Inventory Management System 401
- 14 Effective Graph Visualization Via Node Grouping 413
- 3. Methodologies for the Application of Node Grouping in Graph Drawing 417
- 4. Two Fast Techniques for Finding Small Cliques 418
- 4.1 The Triangle Technique 418
- 4.2 The Coloring Technique 422
- 4.3 Implementation and Experimental Results 424
- 5. Applying Node Grouping to Force-Directed Drawing 425
- 6. Applying Node Grouping to Orthogonal Drawing 429.
- Notes:
- Includes bibliographical references and index.
- ISBN:
- 1402074484
- OCLC:
- 51886457
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.