Program Monitoring and Visualization : An Exploratory Approach
Program Monitoring and Visualization : An Exploratory Approach
Click to enlarge
Author(s): Jeffery, Clinton L.
ISBN No.: 9781461274384
Pages: xiv, 209
Year: 201109
Format: Trade Paper
Price: $ 122.98
Dispatch delay: Dispatched between 7 to 15 days
Status: Available

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.


To be able to view the table of contents for this publication then please subscribe by clicking the button below...
To be able to view the full description for this publication then please subscribe by clicking the button below...