Cooperative Bug Isolation: Winning Thesis of the 2005 ACM Doctoral Dissertation Competition

Front Cover
Springer Science & Business Media, Apr 25, 2007 - Computers - 101 pages
Efforts to understand and predict the behavior of software date back to the earliest days of computer programming,over half a century ago. In the intervening decades, the need for effective methods of understanding software has only increased; so- ware has spread to become the underpinning of much of modern society, and the potentially disastrous consequences of broken or poorly understood software have become all too apparent. Ben Liblit’s work reconsiders two common assumptions about how we should analyze software and it arrives at some striking new results. Inprinciple,understandingsoftware is not such a hardproblem. Certainlya c- puter scientist studying programs appears to be in a much stronger position than, say, a biologist trying to understand a living organism or an economist trying to understand the behavior of markets, because the biologist and the economist must rely on indirect observation of the basic processes they wish to understand. A c- puterscientist, however,starts with a complete,precise descriptionof the behaviorof software—the program itself! Of course, the story turns out not to be so straightf- ward, because despite having a perfect description, programs are suf ciently c- plex that it is usually dif cult or even impossible to answer many simple questions about them.
 

What people are saying - Write a review

We haven't found any reviews in the usual places.

Selected pages

Contents

Introduction
1
12 Automatic Failure Reporting
2
14 Cooperative Bug Isolation
4
Instrumentation Framework
7
211 Sampling the Bernoulli Way
8
212 From Blocks to Functions
10
213 Interprocedural Issues
11
22 Instrumentation Schemes for Distributed Debugging
12
362 Reporting Trends
50
Techniques for Statistical Debugging
55
42 Predicate Elimination
56
422 Elimination Strategies
57
423 Data Collection and Analysis
58
424 Refinement over time
59
426 Limitations and Insights
60
43 Regularized Logistic Regression
61

221 Issues in Remote Sampling
13
222 CounterBased Instrumentation Schemes
14
223 Additional Instrumentation Schemes
18
23 Performance and Optimizations
19
231 Static Branch Prediction
24
232 Weightless Functions
25
233 Empty and Singleton Regions
27
235 Random Countdown Generation
30
236 Path Balancing
31
237 Statically Selective Sampling
33
238 Optimization Recap
35
242 Nonuniformity Via NonUnit Site Weights
36
243 Policy Notes
37
Practical Considerations
39
31 Native Compiler Integration
40
311 Static Site Information
41
33 Threads
43
333 Compilation Unit Registry and Report File
44
35 User Interaction
46
36 Status of the Public Deployment
49
432 Data Collection and Analysis
63
433 Performance Impact
66
434 Limitations and Insights
67
441 Nonuniform Sampling
70
45 Iterative Bug Isolation and Elimination
71
451 Increase Scores
72
452 Statistical Interpretation
74
453 Balancing Specificity and Sensitivity
75
454 Redundancy Elimination
79
46 Case Studies
81
462 CCRYPT
84
464 EXIF
85
465 RHYTHMBOX
86
Related Work
89
52 Profiling and Tracing
90
53 Dynamic Analysis
91
Conclusion
95
References
97
Copyright

Other editions - View all

Common terms and phrases

Bibliographic information