Power Debugging Kapil Vaswani Researcher Rigorous Software Engineering Microsoft Research India FT54 Sandeep Karanth RSDE Advanced Development and Prototyping Microsoft Research India Sriram Rajamani, Aditya Nori (Rigorous Software Engineering, MSRI) Joseph Joy, B. Ashok, Gopal Srinivasa (Advanced Development and Prototyping, MSRI) Hongkang Liang, Vipindeep Vangala (Windows Sustained Engineering) Trishul Chilimbi (Runtime Analysis and Design, MSR) Abhik Roychoudhury (National University of Singapore) Ben Liblit (University of Wisconsin)
43
Embed
Symptom of bug Root cause ManualTedious Time consuming.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Power Debugging
Kapil VaswaniResearcherRigorous Software EngineeringMicrosoft Research India
FT54
Sandeep KaranthRSDE
Advanced Development and Prototyping Microsoft Research India
Sriram Rajamani, Aditya Nori (Rigorous Software Engineering, MSRI)Joseph Joy, B. Ashok, Gopal Srinivasa (Advanced Development and Prototyping, MSRI)Hongkang Liang, Vipindeep Vangala (Windows Sustained Engineering)Trishul Chilimbi (Runtime Analysis and Design, MSR)Abhik Roychoudhury (National University of Singapore)Ben Liblit (University of Wisconsin)
How else can we help diagnose failures?+Visual Studio
IntellitraceTM
+Visual StudioTest Elements
+Visual Studio Test Impact Analysis
Power Debugging
Holmes Statistical debugging toolUse large test suites to diagnose failures
Debug AdvisorRecommendation system for bugsMines software repositories for information related to a bug
DarwinTool for debugging regressionsUse a previous, stable version of an application to diagnose failures
HolmesStatistical Debugging
Kapil Vaswani, Aditya Nori (Rigorous Software Engineering, MSRI)Sandeep Karanth (Advanced Development and Prototyping, MSRI)Trishul Chilimbi (Runtime Analysis and Design, MSR)Ben Liblit (University of Wisconsin)
HolmesWhere testing meets debugging
> Programs are often put through rigorous testing > Large test suites> Many passing tests, some failing tests
> Can test suites help us find the cause of failures?
Statistical Debugging with Holmes
> Collect profiles/coverage data from a large number of (successful and failing) test cases
> Look for code paths that strongly correlate with failure
Debugging with Holmes
Test suiteAutomated/ManualVisual Studio unit testsVisual Studio Test Elements
Sriram Rajamani (Rigorous Software Engineering, MSRI)Joseph Joy, B. Ashok, Gopal Srinivasa (Advanced Development and Prototyping, MSRI)Hongkang Liang, Vipindeep Vangala (Windows Sustained Engineering)
A Common Scenario
Tester/developerreceives bug report
Has this or similar bug been
looked at or fixed before?
What do we know about this kind of
bugs?
Who should I ask for help?
Where should I start
looking?
What You KnowThe customer experiences some deadlocks on a server. The problem is random and may occur from several times a week to once a month. The system looks hung because the global resource 'ObpInitKillMutant' is help by a thread which tries to close a file forever. So all the processes having a thread waiting on 'ObpInitKillMutant' stop working fine. Drivers such as TCP/IP continue to respond normally but it's impossible to connect to any share.
> Technical papers> Holmes: Effective Statistical Debugging via Efficient Path
Profiling, Trishul Chilimbi, Ben Liblit, Krishna Mehra, Aditya Nori and Kapil Vaswani, ICSE 2009
> Darwin: An Approach for Debugging Evolving Programs, Dawei Qi, Abhik Roychoudhury, Zengkai Liang and Kapil Vaswani, FSE 2009
> DebugAdvisor: A Recommender System for Debugging, B. Ashok, Joseph Joy, Hongkang Liang, Sriram Rajamani, Gopal Srinivasa, and Vipindeep Vangala, FSE 2009