1 Bug Isolation via Remote Program Sampling Ben LiblitAlex Aiken Alice X. ZhengMichael Jordan Presented By : Arpita Gandhi.

Slides:



Advertisements
Similar presentations
Copyright © 2006 Quest Software SQL 2005 Disk I/O Performance By Bryan Oliver SQL Server Domain Expert.
Advertisements

Dynamic Analysis of Windows Phone 7 apps Behrang Fouladi, SensePost.
Which server is right for you? Get in Contact with us
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.
Eralp Erat Senior Software Developer MCP,MCAD.NET,MCSD.NET.
The Joel Test: 12 Steps to Better Code By Tim Denton.
Statistical Debugging Ben Liblit, University of Wisconsin–Madison.
Bug Isolation via Remote Program Sampling Ben Liblit, Alex Aiken, Alice X.Zheng, Michael I.Jordan Presented by: Xia Cheng.
Hiperspace Lab University of Delaware Antony, Sara, Mike, Ben, Dave, Sreedevi, Emily, and Lori.
Beneficial Caching in Mobile Ad Hoc Networks Bin Tang, Samir Das, Himanshu Gupta Computer Science Department Stony Brook University.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 11: Monitoring Server Performance.
CSE 190: Internet E-Commerce Lecture 14: Operations.
Phase-Based Program Sampling Using Phoenix Chandra Krintz University of California, Santa Barbara Microsoft Faculty Summit July, 2005.
IS4401 Project Technology Issues. Introduction This seminar covers Databases When to use a Database What Database to use Development Tools Visual Studio.
Michael Ernst, page 1 Improving Test Suites via Operational Abstraction Michael Ernst MIT Lab for Computer Science Joint.
PathExpander: Architectural Support for Increasing the Path Coverage of Dynamic Bug Detection S. Lu, P. Zhou, W. Liu, Y. Zhou, J. Torrellas University.
Automatic Detection of Previously-Unseen Application States for Deployment Environment Testing and Analysis Chris Murphy, Moses Vaughan, Waseem Ilahi,
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
©Company confidential 1 Performance Testing for TM & D – An Overview.
Semester 2, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker.
Bug Isolation via Remote Program Sampling Ben LiblitAlex Aiken Alice ZhengMike Jordan.
Barracuda Networks Confidential1 Barracuda Backup Service Integrated Local & Offsite Data Backup.
Computers They're Not Magic! (for the most part)‏ Adapted from Ryan Moore.
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
Cloud Computing All Copyrights reserved to Talal Abu-Ghazaleh Organization
Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker.
Testimise projekteerimine: Labor 2 BIST Optimization
1 AutoBash: Improving Configuration Management with Operating System Causality Analysis Ya-Yunn Su, Mona Attariyan, and Jason Flinn University of Michigan.
STEALTH Content Store for SharePoint using Caringo CAStor  Boosting your SharePoint to the MAX! "Optimizing your Business behind the scenes"
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.
Cloud Computing.
Mark Heggli Innovative Hydrology, Inc. Consultant to the World Bank Expert Real-time Hydrological Technology Module 1: Essential Elements of a Hydrological.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
Scalable Statistical Bug Isolation Authors: B. Liblit, M. Naik, A.X. Zheng, A. Aiken, M. I. Jordan Presented by S. Li.
The Design and Implementation of Log-Structure File System M. Rosenblum and J. Ousterhout.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
Serverless Network File Systems Overview by Joseph Thompson.
1 Test Selection for Result Inspection via Mining Predicate Rules Wujie Zheng
Integrated Monitoring Dashboard SEAP/BTIS/DB&I/Mar Integrated Monitoring Dashboard An Innovative Monitoring Approach Proposal by BTIS/DB&I.
“Isolating Failure Causes through Test Case Generation “ Jeremias Rößler Gordon Fraser Andreas Zeller Alessandro Orso Presented by John-Paul Ore.
Bug Isolation via Remote Sampling. Lemonade from Lemons Bugs manifest themselves every where in deployed systems. Each manifestation gives us the chance.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks TCP.
Optimal Pipeline Using Perforce, Jenkins & Puppet Nitin Pathak Works on
Compuware Corporation Deliver Reliable Applications Faster Dave Kapelanski Automated Testing Manager.
Aditya Thakur Rathijit Sen Ben Liblit Shan Lu University of Wisconsin–Madison Workshop on Dynamic Analysis 2009 Cooperative Crug Isolation.
1 Configuring Sites Configuring Site Settings Configuring Inter-Site Replication Troubleshooting Replication Maintaining Server Settings.
A. Gheata, ALICE offline week March 09 Status of the analysis framework.
Neil Kidd Developer Tools Technical Specialist Microsoft UK.
Cooperative Bug Isolation CS Outline Something different today... Look at monitoring deployed code –Collecting information from actual user runs.
Automated Adaptive Bug Isolation using Dyninst Piramanayagam Arumuga Nainar, Prof. Ben Liblit University of Wisconsin-Madison.
1
Gorilla: A Fast, Scalable, In-Memory Time Series Database
Bug Isolation via Remote Program Sampling Ben LiblitAlex Aiken Alice X. ZhengMichael I. Jordan UC Berkeley.
A Seminar On. What is Cloud Computing? Distributed computing on internet Or delivery of computing service over the internet. Eg: Yahoo!, GMail, Hotmail-
Continuous Delivery and Quality Monitoring 1 iCSC2016, Kamil Henryk Król, CERN Continuous Delivery and Quality Monitoring Kamil Henryk Król CERN Inverted.
1 © Agitar Software, 2007 Automated Unit Testing with AgitarOne Presented by Eamon McCormick Senior Solutions Consultant, Agitar Software Inc. Presented.
Threads vs. Events SEDA – An Event Model 5204 – Operating Systems.
Chapter 3: Process Concept
2016 Citrix presentation.
CSC 591/791 Reliable Software Systems
Chapter 8 – Software Testing
Comparison June 2017.
Sampling User Executions for Bug Isolation
Public Deployment of Cooperative Bug Isolation
REAL-TIME, INTERACTIVE DOCUMENT AUTOMATION
Standardize Automate Protect Monitor team-based development
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

1 Bug Isolation via Remote Program Sampling Ben LiblitAlex Aiken Alice X. ZhengMichael Jordan Presented By : Arpita Gandhi

2 Motivation All deployed software systems have bugs Resources for improvement are limited The user community outnumbers the testing team Current systems are not systematic and automated

3 Related Applications Commercial databases produce log files and inspect them when the user reports a problem Netscape/Mozilla, Microsoft, GNOME,KDE have opt-in crash reporting systems Problems?

4 Goals Gather information systematically from user executions Perform automatic analysis to fix software quality problems using this information Speed up the process of bug isolation Develop an efficient, low overhead system

5 Discussion What do you think about the idea of using users as debuggers? Bugzilla showed 36,937 bugs and an additional 60,191 bugs as duplicates of already reported bugs

6 Design Goals Modest impact on program performance Statistically fair and uniformly random sampling Efficient transmission of client data

7 Sampling Blocks Consider the following piece of code { check(p != NULL); p = p->next; check(i < max); total += sizes[i]; } We want to sample 1/100 th of these checks

8 Sampling Blocks Solution 1 : Maintain a global counter modulo 100 Problem? for(i = 0 ; i < 10; i++) { check(p != NULL); p = p->next; check(i < max); total += sizes[i]; }

9 Sampling Blocks Solution 2: Use a random number generator { if(rnd(100) == 0)check (p != NULL); p = p->next; if(rnd(100) == 0) check (i < max); total += sizes[i]; } Problem?

10 Sampling Blocks Solution 3: Anticipate future samples Requires two versions of code: Slow path: Code with the sampled instrumentation Fast path: Code w/o the sampled instrumentation

11 Sampling Blocks Fast Path Code Slow Path Code if (countdown > 2) { p = p->next; total += sizes[i]; } if( countdown-- == 0 ) { check(p != NULL); countdown = getNextCountdown(); } p = p->next; if( countdown-- == 0 ) { check( i < max ); countdown = getNextCountdown(); } total += sizes[i];

12 Sampling Functions Represent sampling blocks as a CFG Weight of path is the maximum number of instrumentation sites Place a countdown threshold check on each acyclic region For each region r: If (next-sample countdown >weight) no samples taken

13 Instrumented Code Layout >4?

14 Optimizations Problem: A new threshold check before each function call Solution: Identify and ignore weightless functions No threshold checks, instrumented code Compiled without any modification

15 Optimizations Problem: Use of global variable for countdown management expensive Solution: Use Local Variables Local 1 Local 2 Local 3 global Function entry Use for threshold check, sampling decisions, decrements Function exit

16 Issues in Program Sampling Factors that hamper performance Remote monitoring Local storage Use of network bandwidth Storage on central server For smaller level deployment? Adaptive refinement of instrumentation

17 Other Issues Social and ethical concern Users’ interest in contribution Learning curve with software More testers vs. remote sampling?

18 Applications Sharing cost of assertions Isolating deterministic bugs Isolating non – deterministic bugs

19 Experiments Sharing the cost of assertions Sample assert ( ) statements in CCURED code Overhead incurred: ScenarioAverageMaximum Unconditional55%181% 1/100 sampling17%46% 1/1000 sampling10%26%

20 Effectiveness of Sampling At density 1/1000 for observing rare program behavior? To achieve confidence level =90%, Least number of runs needed = 230,258 ! Solution: No. of licensed Office XP users = 16 million 2 runs/week/user = runs every 19 min!

21 References Sampling User Executions for Bug Isolation Public Deployment of Cooperative Bug Isolation Scalable Statistical Bug Isolation

22 Thank You