Bug Isolation via Remote Program Sampling Ben Liblit, Alex Aiken, Alice X.Zheng, Michael I.Jordan Presented by: Xia Cheng.

Slides:



Advertisements
Similar presentations
Author: Carlos Pacheco, Shuvendu K. Lahiri, Michael D. Ernst, Thomas Ball MIT CSAIL.
Advertisements

5387 Avion Park Drive Highland Heights, Ohio INTUNE v4.4 Demonstration.
Delta Debugging and Model Checkers for fault localization
Linear Regression.
Abstraction and Modular Reasoning for the Verification of Software Corina Pasareanu NASA Ames Research Center.
Building a Better Backtrace: Techniques for Postmortem Program Analysis Ben Liblit & Alex Aiken.
Building a Better Backtrace: Techniques for Postmortem Program Analysis Ben Liblit & Alex Aiken.
1 Bug Isolation via Remote Program Sampling Ben LiblitAlex Aiken Alice X. ZhengMichael Jordan Presented By : Arpita Gandhi.
SMU SRG reading by Tey Chee Meng: Automatic Patch-Based Exploit Generation is Possible: Techniques and Implications by David Brumley, Pongsin Poosankam,
David Brumley, Pongsin Poosankam, Dawn Song and Jiang Zheng Presented by Nimrod Partush.
Bug Isolation in the Presence of Multiple Errors Ben Liblit, Mayur Naik, Alice X. Zheng, Alex Aiken, and Michael I. Jordan UC Berkeley and Stanford University.
A Robust Process Model for Calculating Security ROI Ghazy Mahjub DePaul University M.S Software Engineering.
The Future of Correct Software George Necula. 2 Software Correctness is Important ► Where there is software, there are bugs ► It is estimated that software.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 11: Monitoring Server Performance.
Michael Ernst, page 1 Improving Test Suites via Operational Abstraction Michael Ernst MIT Lab for Computer Science Joint.
(c) 2007 Mauro Pezzè & Michal Young Ch 1, slide 1 Software Test and Analysis in a Nutshell.
Distributed Representations of Sentences and Documents
Catching Accurate Profiles in Hardware Satish Narayanasamy, Timothy Sherwood, Suleyman Sair, Brad Calder, George Varghese Presented by Jelena Trajkovic.
Bug Isolation via Remote Program Sampling Ben LiblitAlex Aiken Alice ZhengMike Jordan.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 14: Troubleshooting Windows Server 2003 Networks.
CH 13 Server and Network Monitoring. Hands-On Microsoft Windows Server Objectives Understand the importance of server monitoring Monitor server.
Automated Diagnosis of Software Configuration Errors
Presenter: Chi-Hung Lu 1. Problems Distributed applications are hard to validate Distribution of application state across many distinct execution environments.
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
Success status, page 1 Collaborative learning for security and repair in application communities MIT & Determina AC PI meeting July 10, 2007 Milestones.
Michael Ernst, page 1 Collaborative Learning for Security and Repair in Application Communities Performers: MIT and Determina Michael Ernst MIT Computer.
Scalable Statistical Bug Isolation Ben Liblit, Mayur Naik, Alice Zheng, Alex Aiken, and Michael Jordan, 2005 University of Wisconsin, Stanford University,
Scalable Statistical Bug Isolation Ben Liblit, Mayur Naik, Alice Zheng, Alex Aiken, and Michael Jordan University of Wisconsin, Stanford University, and.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
Learning, Monitoring, and Repair in Application Communities Martin Rinard Computer Science and Artificial Intelligence Laboratory Massachusetts Institute.
Bug Localization with Machine Learning Techniques Wujie Zheng
Reporter: PCLee. Although assertions are a great tool for aiding debugging in the design and implementation verification stages, their use.
Scalable Statistical Bug Isolation Authors: B. Liblit, M. Naik, A.X. Zheng, A. Aiken, M. I. Jordan Presented by S. Li.
Inferring Specifications to Detect Errors in Code Mana Taghdiri Presented by: Robert Seater MIT Computer Science & AI Lab.
1 Part II: Practical Implementations.. 2 Modeling the Classes Stochastic Discrimination.
Martin Schulz Center for Applied Scientific Computing Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory, P. O. Box 808, Livermore,
Replay Compilation: Improving Debuggability of a Just-in Time Complier Presenter: Jun Tao.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
1 Test Selection for Result Inspection via Mining Predicate Rules Wujie Zheng
“Isolating Failure Causes through Test Case Generation “ Jeremias Rößler Gordon Fraser Andreas Zeller Alessandro Orso Presented by John-Paul Ore.
Week 14 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
Finding Errors in.NET with Feedback-Directed Random Testing Carlos Pacheco (MIT) Shuvendu Lahiri (Microsoft) Thomas Ball (Microsoft) July 22, 2008.
Bug Isolation via Remote Sampling. Lemonade from Lemons Bugs manifest themselves every where in deployed systems. Each manifestation gives us the chance.
M Machine Learning F# and Accord.net.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
2D-Profiling Detecting Input-Dependent Branches with a Single Input Data Set Hyesoon Kim M. Aater Suleman Onur Mutlu Yale N. Patt HPS Research Group The.
Statistical Debugging CS Motivation Bugs will escape in-house testing and analysis tools –Dynamic analysis (i.e. testing) is unsound –Static analysis.
Application Communities Phase 2 (AC2) Project Overview Nov. 20, 2008 Greg Sullivan BAE Systems Advanced Information Technologies (AIT)
Cooperative Bug Isolation CS Outline Something different today... Look at monitoring deployed code –Collecting information from actual user runs.
MIT/Determina Application Communities, page 1 Approved for Public Release, Distribution Unlimited - Case 9649 Collaborative learning for security and repair.
Automated Adaptive Bug Isolation using Dyninst Piramanayagam Arumuga Nainar, Prof. Ben Liblit University of Wisconsin-Madison.
Michael Ernst, page 1 Application Communities: Next steps MIT & Determina October 2006.
Collaborative learning for security and repair in application communities MIT site visit April 10, 2007 Conclusion.
CS 5150 Software Engineering Lecture 21 Reliability 2.
Bug Isolation via Remote Program Sampling Ben LiblitAlex Aiken Alice X. ZhengMichael I. Jordan UC Berkeley.
Constraint Framework, page 1 Collaborative learning for security and repair in application communities MIT site visit April 10, 2007 Constraints approach.
SQL Database Management
Application Communities
CSC 591/791 Reliable Software Systems
Input Space Partition Testing CS 4501 / 6501 Software Testing
Sampling User Executions for Bug Isolation
Public Deployment of Cooperative Bug Isolation
Mock Object Creation for Test Factoring
O.S Lecture 14 File Management.
Mid Term II Review.
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Dongyun Jin, Patrick Meredith, Dennis Griffith, Grigore Rosu
Outline System architecture Experiments
Outline System architecture Current work Experiments Next Steps
BLAST: A Software Verification Tool for C programs
Presentation transcript:

Bug Isolation via Remote Program Sampling Ben Liblit, Alex Aiken, Alice X.Zheng, Michael I.Jordan Presented by: Xia Cheng

Outline of My Talk Bug Isolation Using Predicate Elimination Statistical Debugging Related Work Privacy and Security Future Work Conclusions

Bug Isolation Using Predicate Elimination  Instrumentation strategy  Elimination strategies  Data collection and analysis  Refinement over time  Performance Impact

Bug Isolation Instrumentation strategy  Automatic isolation of deterministic bugs Release 1.2 of the ccrypt encryption tool  Randomly sampling function Return values may identify key operations that behave differently in successful versus crashed runs  Group return value into three classes Negative values, zero, and positive values

Bug Isolation Instrument ccrypt Syntactic call site Return scalar values Update one of three counters triple of counters Negative valuezeropositive value

Bug Isolation Elimination Strategies - Discard irrelevant predicates  Elimination by universal falsehood Disregard any counter that is zero on all runs Represent predicates that can never be true  Elimination by lack of failing coverage Disregard any triple of counters all three of which are zero on all failed runs Not even reached in failing executions

Bug Isolation Discard irrelevant predicates (cont…)  Elimination by lack of failing example Disregard any counter that is zero on all failed runs Not be true for a failure to occur  Elimination by successful counter example Disregard any counter that has a non-zero value on any successful run Can be true without a subsequent program failure

Bug Isolation universal falsehooddiscards 1569 counters- zero on all runs leaves 141 candidate predicates lack of failing coveragediscards 526 counter triples –all zero on all crashes leaves 132 candidate predicates lack of failing examplediscards 1665 counters- zero on all crashes Leaves 45 candidate predicates successful counterexample Discards 139 counters- non-zero on any successful run Leaves 1571 candidate predicates Data Collection and Analysis Successful counterexample distinct, the another three partially overlapped Falsehood and counterexample test disjoint properties, combined to good effect Falsehood and counterexample at successful runs, be analyzed together Failing example eliminates the most features, combine with counterexample Failing coverage is an inherently weaker strategy 2990 trial runs at sampling rate 1/1000; 88 of these end in a crash

Bug Isolation Refinement over time Elimination strategies benefit from increasing the number of runs On average, 1750 runs are enough to isolate twenty candidate features Greater diversity benefits the analysis

Bug Isolation Performance Impact  Sampling transformation a simpler but slower pattern of checking the next- sample countdown at each and every site  the performance impact minimal for sampled instrumentation  Overhead for 1/1000 sampling is less than 4%

Outline of My Talk Bug Isolation Using Predicate Elimination Statistical Debugging Related Work Privacy and Security Future Work Conclusions

Statistical Debugging Instrumentation strategy Crash prediction using logistic regression Data collection and analysis Performance Impact

Statistical Debugging Automatic isolation of non-deterministic bugs Instrumentation strategy  Instrument bc to guess and randomly check a large number of predicates  Goal: identify predicates capturing bad behavior- false on success, true on crashing Cast an extremely broad net An eye toward pointer and buffer error

Statistical Debugging Crash prediction using logistic regression  Goal: narrow down the set of features  Method: balance good classification performance with aggressive feature selection  Binary classifier Given by quantizing the logistic function output Takes feature values as input, and outputs a prediction of either 0 or 1  Feature selection Achieved by regularizing the function parameters to ignore most input feature, Forcing it to form a model that predicts success or failure using just a small selection of sampled features

Statistical Debugging to learn a good classifier, maximize the log likelihood of the training set distribution is modeled as logistic function penalized log likelihood function

Statistical Debugging Data collection and analysis  bc data set consists of 4390 runs with distinct random inputs and distinct randomized 1/1000 sampling

Statistical Debugging

Performance Impact

Outline of My Talk Bug Isolation Using Predicate Elimination Statistical Debugging Related Work Privacy and Security Future Work Conclusions

Related Work Performance profiling and optimization  Triggers - periodic hardware timers/interrupts, periodic software event counters or both [ M.Arnold, 2000]  Digital Continuous Profiling Infrastructure [Anderson 1997] choosing sampling intervals randomly Trace collection on program understanding  Difficulty Minimizing performance overhead and managing large quantities of captured data Directly adapt dynamic trace analysis techniques to domain

Related Work (cont…) Sharing the following techniques but with new approach  Daikon, fairly unstructured guesses and eliminate not holding ones [Ernst 2001] new approach: gathering data from production code  DIDUCE, identify bugs using analysis of executions [ Hangal 2002 ] new approach: more probabilistic, correlating predicate violations with increased likelihood of failure  Software tomography, through the GAMMA system, low- overhead distributed monitoring of deployed code [ Bowring 2002 ] new approach: bug isolation

Outline of My Talk Bug Isolation Using Predicate Elimination Statistical Debugging Related Work Privacy and Security Future Work Conclusions

Privacy and Security

Statistical model - an mechanism for protecting user anonymity Logistic regression - parameters updated with a new trace Statistical approach with noise - against malicious users Collaborative filtering system

Outline of My Talk Bug Isolation Using Predicate Elimination Statistical Debugging Related Work Privacy and Security Future Work Conclusions

Future Work Public Deployment of Cooperative Bug Isolation Scalable Statistical Bug Isolation Path Optimization in Programs and its Application to Debugging Statistical Debugging: Simultaneous Identification of Multiple Bugs The cooperative Bug Isolation Project, visit

Outline of My Talk Bug Isolation Using Predicate Elimination Statistical Debugging Related Work Privacy and Security Future Work Conclusions

sampling infrastructure - gathering information from the set of runs produced by the user community Bernoulli process to do the sampling several sample applications  Sharing the overhead of assertions  Predicating guessing and elimination to isolate a deterministic bug  Regularizing logistic regression to isolate a non-deterministic memory corruption error