Fishpond Gift Vouchers - Let them choose!

New Zealand's Lowest Prices. Guaranteed

Program Monitoring and Visualization
By

Rating
This book presents software visualization at a level suitable for a senior level undergraduate or graduate course, or for the interested technical professional. The approach is to give a survey of the field, and then present a specific research framework designed to reduce the effort required to write visualization tools. A wide range of simple program control flow and data structure visualizations are then presented as examples of how to obtain information about program behavior, and how to present it graphically. Source code fragments and screen images illustrate each example.
Product Details

Table of Contents

I Fundamental Concepts.- 1 Introduction.- 1.1 Understanding Program Behavior.- 1.2 Types of Program-Understanding Tools.- 1.3 Scope of This Book.- 1.4 Contributions.- 1.5 Overview of This Book.- 2 Related Work.- 2.1 Information Sources and Access Methods.- 2.2 Execution Models.- 2.3 User Interaction Facilities.- 2.4 Runtime Instrumentation Systems.- 2.4.1 Dbx.- 2.4.2 Dalek and Duel.- 2.4.3 cdb and Deet.- 2.4.4 Parasight.- 2.4.5 FIELD.- 2.4.6 ATOM and EEL.- 2.5 Manual Instrumentation Systems.- 2.5.1 BALSA.- 2.5.2 Smalltalk.- 2.5.3 Tango.- 2.5.4 BEE++.- 2.5.5 PV.- 2.6 Interpreter Instrumentation.- 2.6.1 SNOBOL4.- 2.6.2 PECAN.- 2.6.3 KAESTLE and FooScape.- 2.6.4 Dewlap.- 2.6.5 SeePS.- 2.6.6 Dynascope.- 2.7 Instrumenting Compilers.- 2.7.1 Voyeur.- 2.7.2 UW Illustrating Compiler.- 2.7.3 SMLD.- 2.8 Existing Systems Support for Monitor Development.- 3 Visualization Principles and Techniques.- 3.1 Principles.- 3.1.1 Graphic Design Principles.- 3.1.2 Visualization Principles.- 3.2 Techniques.- 3.2.1 Incremental Algorithms.- 3.2.2 Radial Coordinates.- 3.2.3 Colors and Textures.- II An Execution Monitoring Framework for Icon.- 4 An Overview of the Alamo Architecture.- 4.1 Inventory of Architecture Components.- 4.2 Standard Execution Monitoring Scenario.- 4.2.1 Preliminary Definitions.- 4.2.2 Sources of Relevant Execution Behavior.- 4.2.3 Selecting or Developing Appropriate Monitors.- 4.2.4 Running the Target Program.- 4.3 Framework Characteristics.- 4.3.1 Multitasking.- 4.3.2 Execution Control.- 4.3.3 Visualization Support.- 4.4 Comparison with Related Systems.- 5 A Multitasking Icon Interpreter.- 5.1 Introduction.- 5.2 Co-expressions.- 5.2.1 Creating Co-expressions.- 5.2.2 Co-expression Transfers of Control.- 5.2.3 Co-expression Keywords.- 5.3 MT Icon Preliminary Terminology.- 5.3.1 Name Spaces.- 5.3.2 Program and Co-expression State.- 5.4 Tasks: An Extended Co-expression Model.- 5.4.1 Task Creation.- 5.4.2 Running Other Programs.- 5.5 Data Access.- 5.5.1 Access Through Task Argument Lists.- 5.5.2 Inter-task Access Functions.- 5.6 MT Icon Summary.- 6 Execution Monitoring in MT Icon.- 6.1 Terminology.- 6.1.1 Events.- 6.1.2 Event Codes and Values.- 6.1.3 Event Reporting and Masking.- 6.2 Obtaining Events Using evinit.- 6.2.1 Setting Up an Event Stream.- 6.2.2 EvGet().- 6.2.3 Event Masks and Value Masks.- 6.3 Instrumentation in the Icon Interpreter.- 6.3.1 Explicit Source Related Events.- 6.3.2 Implicit Runtime System Events.- 6.4 Artificial Events.- 6.4.1 Virtual Events Using event().- 6.4.2 Pseudo Events for Tool Communication.- 6.5 Monitoring Techniques.- 6.5.1 Anatomy of an Execution Monitor.- 6.5.2 Handling User Input.- 6.5.3 Querying the Target Program for More Information.- 6.6 Icon Graphics Capabilities.- 6.7 Some Useful Library Procedures.- 6.8 Typical Evolution of a Visualization Tool.- 6.8.1 Generate Log Files.- 6.8.2 Depict the Log Files.- 6.8.3 Scale to Handle Real Problems.- 6.8.4 Focus on Behaviors of Interest.- 6.8.5 Add User-Directed Navigation.- 6.9 Conclusions.- III Writing Visualization Tools.- 7 Following the Locus of Execution.- 7.1 Location Events.- 7.2 A Simple Line Number Monitor.- 7.3 A Location Profile Scatterplot.- 7.4 Tracking Source File Changes.- 8 Monitoring Procedure Activity.- 8.1 Activation Trees.- 8.2 An Animated Call-result Scatterplot.- 8.2.1 scatlib.- 8.2.2 The Call-result Scatterplot Application.- 8.3 Algae.- 8.3.1 Algae Geometry.- 8.3.2 Using evaltree() to Incrementally Update the Display.- 8.3.3 Algae Controls.- 8.4 Maintaining the Current Source File.- 9 Monitoring Memory Usage.- 9.1 Allocation by Type.- 9.1.1 Pinwheel.- 9.1.2 Nova.- 9.2 Cumulative Allocation by Type.- 9.2.1 Animating a Bar Graph.- 9.2.2 Pie Charts.- 9.3 Running Allocation by Type.- 9.4 Survival Rates Across Collections.- 10 Monitoring String Scanning.- 10.1 Overview of String Scanning.- 10.2 String Scanning Events.- 10.3 Absolute and Relative Position Changes.- 10.3.1 Visualizing Absolute Positions Within the Subject.- 10.3.2 Visualizing Relative Position Changes.- 10.4 The Scanning Environment Tree.- 10.4.1 Updating Position in the Current Scanning Environment.- 10.4.2 Drawing Pin wheel Sectors for Scanning Functions.- 10.4.3 Pinwheels for Nested Scanning Environments.- 10.5 Conclusions.- 11 Monitoring Structure and Variable Usage.- 11.1 Visualizing Lists and List Accesses.- 11.2 Visualizing Heterogeneous Structures.- 11.3 Monitoring Variable References.- 11.3.1 Assignment Events.- 11.3.2 Monitoring Variables by Name.- 11.3.3 Monitoring Individual Variables.- 11.3.4 Detecting Structure Variable References.- IV Visualization in the Programming Environment.- 12 Monitor Coordination and Communication.- 12.1 Some Monitoring Configurations.- 12.2 Pros and Cons of the MC Approach.- 12.3 Eve: An Execution Monitor Coordinator.- 12.4 Writing EMs to Run Under Eve.- 12.4.1 Client Environment.- 12.4.2 General-Purpose Artificial Events.- 12.4.3 Monitor Communication Example.- 12.5 Eve in Operation.- 12.5.1 Computation of the Minimal Event Set.- 12.5.2 The Event Code Table.- 12.5.3 Event Handling.- 12.5.4 Eve's Main Loop.- 12.6 Interactive Error Conversion.- 13 Performance.- 13.1 Costs of Multitasking and of Interpreter Instrumentation.- 13.2 Varying Costs of Monitoring Language Features.- 13.3 Limitations of Graphics Hardware and Software.- 13.4 Cost Incurred by Monitor Coordinators.- 14 Conclusions and Future Work.- 14.1 Successes of the Framework.- 14.2 Limitations of the Framework.- 14.3 Enhancements and Future Directions.- 14.3.1 Update Variation in Simultaneous Animations.- 14.3.2 Concurrency Among Monitors.- 14.3.3 Integrating Monitors Into Coordinators.- 14.3.4 Integrating the Icon Interpreter and Compiler.- 14.3.5 More Execution Monitors.- 14.3.6 More Types of Events; Finer Selection Controls.- 14.3.7 Language Support for Trapped Variables.- 14.3.8 Preemptive Scheduling Monitor Coordinators.- 14.4 Final Thoughts.- Appendices.- A Algae.- B Eve.- C Event Codes.- C.1 Classes of Events.- C.2 Individual Events.- D The MT Icon Implementation.- D. 1 Icon Interpreter Overview.- D.2 The MT Icon Core.- D.3 Monitoring Support.- E Software and Supporting Documentation.- References.

Promotional Information

Springer Book Archives

Look for similar items by category
How Fishpond Works
Fishpond works with suppliers all over the world to bring you a huge selection of products, really great prices, and delivery included on over 25 million products that we sell. We do our best every day to make Fishpond an awesome place for customers to shop and get what they want — all at the best prices online.
Webmasters, Bloggers & Website Owners
You can earn a 5% commission by selling Program Monitoring and Visualization: An Exploratory Approach on your website. It's easy to get started - we will give you example code. After you're set-up, your website can earn you money while you work, play or even sleep! You should start right now!
Authors / Publishers
Are you the Author or Publisher of a book? Or the manufacturer of one of the millions of products that we sell. You can improve sales and grow your revenue by submitting additional information on this title. The better the information we have about a product, the more we will sell!
Item ships from and is sold by Fishpond.com, Inc.
Back to top