SlideShare a Scribd company logo
1 of 19
Measuring the Gain of
Automatic Debug
Daniel Hansson
CEO
Verifyter © 2010-2013
Microprocessor Test and Verification 2013, Austin, TX
Agenda
2
• Definition of Automatic Debug
• Tools and Methodologies
• How we measured the gain of Automatic Debug
• Random Tests
• Results
Definition: Regression Failure
3
• Something that used to work, but has stopped working.
• The failure is caught by test failures, which needs manual debug.
• A lot of engineering hours and project time is spent on regression failures
Test: rx_test_45
Build: build_23
Error: Failuire: Expected RX data 0x4545, but got 0x5555
Test: rx_test_51
Build: build_13
Error: Failuire: Expected RX data 0x4545, but got 0x5555
Test: rx_test_54,
Build: build_13
Error: Failuire: No data
Definition: Automatic Debug of Regression Failures
4
• Automatically finding the bad commit in the revision control
• Directly assign and report the bug to the responsible committer
• No engineering hours spent, except for bug fixing
• Active 24/7 – bugs are pushed back faster
Bug No: 1 (new bug)
Test: rx_test_45 (in total 3 failures)
Build: build_23
Error: Failuire: Expected RX data 0x4545, but got 0x5555
Committer: dhansson
Commit Message:
268243. Changed default value of rx_mode_reg
Committed Files:
//dwarc/Hardware/ASICproject/main/dev/productFast/hardware/rx_main.v#4
Tools And Methodologies
5
Pre-Integration:
•Test each change before commit
•Short smoke tests
•Random tests not supported
•Tools: Jenkins, CruiseControl, BuildBot
change smoke test test suite PinDown
Pre-Integration Post-Integration
Commit
Post-Integration:
•Debug failures post-integration
•Large test suites supported
•Random tests supported
•Tools: PinDown
PinDown™
Version Control System
PinDown Results Database
PinDown Job
Test Executor
(LSF Farm)
4
PinDown TestHub
StartJob
Automatic Debug
7
Patent Pending
test 200
…
test 20
test 19
test 18
test 17
test 16
test 15
test 14
test 13
test 12
test 11
test 10
test 9
test 8
test 7
test 6
test 5
test 4
test 3
test 2
test 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Revisions
Starting point: 200 tests run, 10 failed.
Each test takes 1 hour. Max allowed debug jobs on the farm: 10.
test 200
…
test 20
test 19
test 18
test 17
test 16
test 15
test 14
test 13
test 12
test 11
test 10
test 9
test 8
test 7
test 6
test 5
test 4
test 3
test 2
test 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Revisions
Automatic Debug
8
Patent Pending
Select the pilot test, i.e. the fastest test. Test it on 10 revisions in parallel.
Found a pass-fail transition (rev 9 and 13), but there may be more transitions,
test 200
…
test 20
test 19
test 18
test 17
test 16
test 15
test 14
test 13
test 12
test 11
test 10
test 9
test 8
test 7
test 6
test 5
test 4
test 3
test 2
test 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Revisions
Automatic Debug
9
Patent Pending
Test another 10 revisions to get high probability in debug analysis.
Found first faulty rev (17). Bug report emailed to committer after 2 hours debug time.
test 200
…
test 20
test 19
test 18
test 17
test 16
test 15
test 14
test 13
test 12
test 11
test 10
test 9
test 8
test 7
test 6
test 5
test 4
test 3
test 2
test 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Revisions
Automatic Debug
10
Patent Pending
Check if the other failing tests have the same tipping point. Start with the pass.
The result: 3 tests don’t. They are due to a second bug.
test 200
…
test 20
test 19
test 18
test 17
test 16
test 15
test 14
test 13
test 12
test 11
test 10
test 9
test 8
test 7
test 6
test 5
test 4
test 3
test 2
test 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Revisions
Automatic Debug
11
Patent Pending
Pick the pilot test for the second bug and run on 10 revisions
test 200
…
test 20
test 19
test 18
test 17
test 16
test 15
test 14
test 13
test 12
test 11
test 10
test 9
test 8
test 7
test 6
test 5
test 4
test 3
test 2
test 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Revisions
Automatic Debug
12
Patent Pending
After the second run of the pilot test for bug no 2 we find the tipping point
Bug no 2 emailed to committer after 5 hours
test 200
…
test 20
test 19
test 18
test 17
test 16
test 15
test 14
test 13
test 12
test 11
test 10
test 9
test 8
test 7
test 6
test 5
test 4
test 3
test 2
test 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Revisions
Automatic Debug
13
Patent Pending
Checking if all remaining tests match the tipping points of the two reported bugs
They do. Debug run completes after 6 hours.
Random Test Setup
Regression Testing with Random tests cannot separate a regression from new coverage
-Inefficient debugging of regressions
-Unable to separate bad news (regressions) from good news (new coverage)
PinDown solves this:
14
(John)
(Hemal)
Random Stability
15
Random stability is depends on the type of testbench change
- PinDown may sometimes not be able to reproduce the issue
- Less of a problem when frequent testing
- PinDown allows a setup choice: Include/Not include Testbench
0% 100%
Changing random
generators and/or
its structure
Adding variables,
comments,
unrelated logic
Changing some
constraints
Major code
changes
• In both cases PinDown is emailing out the report, but automatic debug is only enabled for
the areas that PinDown is setup to track
• No difference in complexity between tracked and non-tracked areas.
– Complex bugs were fixed by simply removing the commit.
Time
Bug Fixed in
Revision Control SystemEmail Report
• Real commercial ASIC project:
– Based on random testing
– We analyzed 39 regression bugs found during 3 months of the project
• PinDown was setup to track the following in the revision control system:
Measuring how fast bugs were fixed
16
Tracked:
-Device under test (DUT)
-Testbench
-Scripts and tools for build and test
Not Tracked:
- Some internally developed tools and scripts
(they were under revision control, but not tracked by
PinDown)
• We measure the time from when the report is emailed out until the fix is committed:
Results: 400% faster bug fixing
5x less discussions
(0,5 emails automatic debug, 2,6 emails manual debug)
(5,7h for automatic debug, 23h for manual debug) (7,4h for automatic debug, 26,1h for manual debug)
Average insertion time for bugs: 4 pm
Measuring the Gain of Automatic Debug
Summary
 Automatic Debug speed up bug fixing by 400% in this ASIC project
How was that achieved?
 Precision and clear responsibility
• The bug report shows who did what and when
• This in turn lead to 5x less discussion prior to bug fixing
 Automatic Debug is active 24/7
• Bugs occur late in the day, leaving little time for same-day manual debug
For more info:
info@verifyter.com
www.verifyter.com

More Related Content

What's hot

Simple Railroad Command Protocol
Simple Railroad Command ProtocolSimple Railroad Command Protocol
Simple Railroad Command ProtocolAnkit Singh
 
The Art Of Debugging
The Art Of DebuggingThe Art Of Debugging
The Art Of Debuggingsvilen.ivanov
 
Testing: ¿what, how, why?
Testing: ¿what, how, why?Testing: ¿what, how, why?
Testing: ¿what, how, why?David Rodenas
 
The Art of Testing Less without Sacrificing Quality @ ICSE 2015
The Art of Testing Less without Sacrificing Quality @ ICSE 2015The Art of Testing Less without Sacrificing Quality @ ICSE 2015
The Art of Testing Less without Sacrificing Quality @ ICSE 2015Kim Herzig
 
Coderetreat @AgileWorks Bucharest 2012 07 06
Coderetreat @AgileWorks Bucharest 2012 07 06 Coderetreat @AgileWorks Bucharest 2012 07 06
Coderetreat @AgileWorks Bucharest 2012 07 06 Adi Bolboaca
 
Need for Speed: How to Performance Test the right way by Annie Bhaumik
Need for Speed: How to Performance Test the right way by Annie BhaumikNeed for Speed: How to Performance Test the right way by Annie Bhaumik
Need for Speed: How to Performance Test the right way by Annie BhaumikQA or the Highway
 
Software Testing, Everyone's responsibility
Software Testing, Everyone's responsibilitySoftware Testing, Everyone's responsibility
Software Testing, Everyone's responsibilityKurt Bliefernich
 
Understand regression testing
Understand regression testingUnderstand regression testing
Understand regression testinggaoliang641
 
Static analysis is most efficient when being used regularly. We'll tell you w...
Static analysis is most efficient when being used regularly. We'll tell you w...Static analysis is most efficient when being used regularly. We'll tell you w...
Static analysis is most efficient when being used regularly. We'll tell you w...PVS-Studio
 
Automated Detection of Performance Regressions Using Statistical Process Cont...
Automated Detection of Performance Regressions Using Statistical Process Cont...Automated Detection of Performance Regressions Using Statistical Process Cont...
Automated Detection of Performance Regressions Using Statistical Process Cont...SAIL_QU
 
Basics of Functional Verification - Arrow Devices
Basics of Functional Verification - Arrow DevicesBasics of Functional Verification - Arrow Devices
Basics of Functional Verification - Arrow DevicesArrow Devices
 

What's hot (20)

Simple Railroad Command Protocol
Simple Railroad Command ProtocolSimple Railroad Command Protocol
Simple Railroad Command Protocol
 
The Art Of Debugging
The Art Of DebuggingThe Art Of Debugging
The Art Of Debugging
 
Testing: ¿what, how, why?
Testing: ¿what, how, why?Testing: ¿what, how, why?
Testing: ¿what, how, why?
 
The Art of Testing Less without Sacrificing Quality @ ICSE 2015
The Art of Testing Less without Sacrificing Quality @ ICSE 2015The Art of Testing Less without Sacrificing Quality @ ICSE 2015
The Art of Testing Less without Sacrificing Quality @ ICSE 2015
 
Coderetreat @AgileWorks Bucharest 2012 07 06
Coderetreat @AgileWorks Bucharest 2012 07 06 Coderetreat @AgileWorks Bucharest 2012 07 06
Coderetreat @AgileWorks Bucharest 2012 07 06
 
Need for Speed: How to Performance Test the right way by Annie Bhaumik
Need for Speed: How to Performance Test the right way by Annie BhaumikNeed for Speed: How to Performance Test the right way by Annie Bhaumik
Need for Speed: How to Performance Test the right way by Annie Bhaumik
 
Software Testing, Everyone's responsibility
Software Testing, Everyone's responsibilitySoftware Testing, Everyone's responsibility
Software Testing, Everyone's responsibility
 
Typical DevOps activities by role
Typical DevOps activities by roleTypical DevOps activities by role
Typical DevOps activities by role
 
TDD Best Practices
TDD Best PracticesTDD Best Practices
TDD Best Practices
 
Tdd - introduction
Tdd - introductionTdd - introduction
Tdd - introduction
 
Scan insertion
Scan insertionScan insertion
Scan insertion
 
Understand regression testing
Understand regression testingUnderstand regression testing
Understand regression testing
 
Static analysis is most efficient when being used regularly. We'll tell you w...
Static analysis is most efficient when being used regularly. We'll tell you w...Static analysis is most efficient when being used regularly. We'll tell you w...
Static analysis is most efficient when being used regularly. We'll tell you w...
 
Principles in software debugging
Principles in software debuggingPrinciples in software debugging
Principles in software debugging
 
Automated Detection of Performance Regressions Using Statistical Process Cont...
Automated Detection of Performance Regressions Using Statistical Process Cont...Automated Detection of Performance Regressions Using Statistical Process Cont...
Automated Detection of Performance Regressions Using Statistical Process Cont...
 
Tdd
TddTdd
Tdd
 
Basics of Functional Verification - Arrow Devices
Basics of Functional Verification - Arrow DevicesBasics of Functional Verification - Arrow Devices
Basics of Functional Verification - Arrow Devices
 
testing
testingtesting
testing
 
Vlsi testing
Vlsi testingVlsi testing
Vlsi testing
 
Embedded System Test Automation
Embedded System Test AutomationEmbedded System Test Automation
Embedded System Test Automation
 

Similar to Measuring the Gain of Automatic Debug

Test Automation Improvement by Machine Learning Jasst'21 Tokyo
Test Automation Improvement by Machine Learning Jasst'21 TokyoTest Automation Improvement by Machine Learning Jasst'21 Tokyo
Test Automation Improvement by Machine Learning Jasst'21 TokyoSadaaki Emura
 
Keynote AST 2016
Keynote AST 2016Keynote AST 2016
Keynote AST 2016Kim Herzig
 
20200630 Rakuten QA meetup #2 "Improve test automation operation"
20200630 Rakuten QA meetup #2 "Improve test automation operation"20200630 Rakuten QA meetup #2 "Improve test automation operation"
20200630 Rakuten QA meetup #2 "Improve test automation operation"Sadaaki Emura
 
DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsTechWell
 
How to Design a Program Repair Bot? Insights from the Repairnator Project
How to Design a Program Repair Bot? Insights from the Repairnator ProjectHow to Design a Program Repair Bot? Insights from the Repairnator Project
How to Design a Program Repair Bot? Insights from the Repairnator ProjectSimon Urli
 
(automatic) Testing: from business to university and back
(automatic) Testing: from business to university and back(automatic) Testing: from business to university and back
(automatic) Testing: from business to university and backDavid Rodenas
 
Remote iOS Devices Server – Scaling iOS
Remote iOS Devices Server – Scaling iOSRemote iOS Devices Server – Scaling iOS
Remote iOS Devices Server – Scaling iOSNick Abalov
 
Test Metrics
Test MetricsTest Metrics
Test MetricsDevukjs
 
Pharo Virtual Machine: News from the Front
Pharo Virtual Machine: News from the FrontPharo Virtual Machine: News from the Front
Pharo Virtual Machine: News from the FrontESUG
 
Improve test automation operation
Improve test automation operationImprove test automation operation
Improve test automation operationRakuten Group, Inc.
 
Case Study of the Unexplained
Case Study of the UnexplainedCase Study of the Unexplained
Case Study of the Unexplainedshannomc
 
Tests - Time saver or time waster?
Tests - Time saver or time waster?Tests - Time saver or time waster?
Tests - Time saver or time waster?Thomas Thiry
 
SE2_Lec 20_Software Testing
SE2_Lec 20_Software TestingSE2_Lec 20_Software Testing
SE2_Lec 20_Software TestingAmr E. Mohamed
 
Test automation engineer
Test automation engineerTest automation engineer
Test automation engineerSadaaki Emura
 
Industrial Automation and Modern Connectivity
Industrial Automation and Modern ConnectivityIndustrial Automation and Modern Connectivity
Industrial Automation and Modern ConnectivityPlantEngineering
 
Industrial Automation and Modern Connectivity
Industrial Automation and Modern ConnectivityIndustrial Automation and Modern Connectivity
Industrial Automation and Modern ConnectivityControlEng
 

Similar to Measuring the Gain of Automatic Debug (20)

Test Automation Improvement by Machine Learning Jasst'21 Tokyo
Test Automation Improvement by Machine Learning Jasst'21 TokyoTest Automation Improvement by Machine Learning Jasst'21 Tokyo
Test Automation Improvement by Machine Learning Jasst'21 Tokyo
 
Keynote AST 2016
Keynote AST 2016Keynote AST 2016
Keynote AST 2016
 
20200630 Rakuten QA meetup #2 "Improve test automation operation"
20200630 Rakuten QA meetup #2 "Improve test automation operation"20200630 Rakuten QA meetup #2 "Improve test automation operation"
20200630 Rakuten QA meetup #2 "Improve test automation operation"
 
DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More Defects
 
How to Design a Program Repair Bot? Insights from the Repairnator Project
How to Design a Program Repair Bot? Insights from the Repairnator ProjectHow to Design a Program Repair Bot? Insights from the Repairnator Project
How to Design a Program Repair Bot? Insights from the Repairnator Project
 
(automatic) Testing: from business to university and back
(automatic) Testing: from business to university and back(automatic) Testing: from business to university and back
(automatic) Testing: from business to university and back
 
Remote iOS Devices Server – Scaling iOS
Remote iOS Devices Server – Scaling iOSRemote iOS Devices Server – Scaling iOS
Remote iOS Devices Server – Scaling iOS
 
presentation
presentationpresentation
presentation
 
Test Metrics
Test MetricsTest Metrics
Test Metrics
 
Pharo Virtual Machine: News from the Front
Pharo Virtual Machine: News from the FrontPharo Virtual Machine: News from the Front
Pharo Virtual Machine: News from the Front
 
Improve test automation operation
Improve test automation operationImprove test automation operation
Improve test automation operation
 
ES3-2020-05 Testing
ES3-2020-05 TestingES3-2020-05 Testing
ES3-2020-05 Testing
 
Case Study of the Unexplained
Case Study of the UnexplainedCase Study of the Unexplained
Case Study of the Unexplained
 
Tests - Time saver or time waster?
Tests - Time saver or time waster?Tests - Time saver or time waster?
Tests - Time saver or time waster?
 
SE2_Lec 20_Software Testing
SE2_Lec 20_Software TestingSE2_Lec 20_Software Testing
SE2_Lec 20_Software Testing
 
Lecture5 2
Lecture5 2Lecture5 2
Lecture5 2
 
Test automation engineer
Test automation engineerTest automation engineer
Test automation engineer
 
lect18.pdf
lect18.pdflect18.pdf
lect18.pdf
 
Industrial Automation and Modern Connectivity
Industrial Automation and Modern ConnectivityIndustrial Automation and Modern Connectivity
Industrial Automation and Modern Connectivity
 
Industrial Automation and Modern Connectivity
Industrial Automation and Modern ConnectivityIndustrial Automation and Modern Connectivity
Industrial Automation and Modern Connectivity
 

Recently uploaded

State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!Memoori
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...FIDO Alliance
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...ScyllaDB
 
Revolutionizing SAP® Processes with Automation and Artificial Intelligence
Revolutionizing SAP® Processes with Automation and Artificial IntelligenceRevolutionizing SAP® Processes with Automation and Artificial Intelligence
Revolutionizing SAP® Processes with Automation and Artificial IntelligencePrecisely
 
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxCyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxMasterG
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptxFIDO Alliance
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Paige Cruz
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireExakis Nelite
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGDSC PJATK
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPTiSEO AI
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch TuesdayIvanti
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon
 
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxjbellis
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...marcuskenyatta275
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Hiroshi SHIBATA
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxFIDO Alliance
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxFIDO Alliance
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingScyllaDB
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdfMuhammad Subhan
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftshyamraj55
 

Recently uploaded (20)

State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Revolutionizing SAP® Processes with Automation and Artificial Intelligence
Revolutionizing SAP® Processes with Automation and Artificial IntelligenceRevolutionizing SAP® Processes with Automation and Artificial Intelligence
Revolutionizing SAP® Processes with Automation and Artificial Intelligence
 
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxCyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptx
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 

Measuring the Gain of Automatic Debug

  • 1. Measuring the Gain of Automatic Debug Daniel Hansson CEO Verifyter © 2010-2013 Microprocessor Test and Verification 2013, Austin, TX
  • 2. Agenda 2 • Definition of Automatic Debug • Tools and Methodologies • How we measured the gain of Automatic Debug • Random Tests • Results
  • 3. Definition: Regression Failure 3 • Something that used to work, but has stopped working. • The failure is caught by test failures, which needs manual debug. • A lot of engineering hours and project time is spent on regression failures Test: rx_test_45 Build: build_23 Error: Failuire: Expected RX data 0x4545, but got 0x5555 Test: rx_test_51 Build: build_13 Error: Failuire: Expected RX data 0x4545, but got 0x5555 Test: rx_test_54, Build: build_13 Error: Failuire: No data
  • 4. Definition: Automatic Debug of Regression Failures 4 • Automatically finding the bad commit in the revision control • Directly assign and report the bug to the responsible committer • No engineering hours spent, except for bug fixing • Active 24/7 – bugs are pushed back faster Bug No: 1 (new bug) Test: rx_test_45 (in total 3 failures) Build: build_23 Error: Failuire: Expected RX data 0x4545, but got 0x5555 Committer: dhansson Commit Message: 268243. Changed default value of rx_mode_reg Committed Files: //dwarc/Hardware/ASICproject/main/dev/productFast/hardware/rx_main.v#4
  • 5. Tools And Methodologies 5 Pre-Integration: •Test each change before commit •Short smoke tests •Random tests not supported •Tools: Jenkins, CruiseControl, BuildBot change smoke test test suite PinDown Pre-Integration Post-Integration Commit Post-Integration: •Debug failures post-integration •Large test suites supported •Random tests supported •Tools: PinDown
  • 6. PinDown™ Version Control System PinDown Results Database PinDown Job Test Executor (LSF Farm) 4 PinDown TestHub StartJob
  • 7. Automatic Debug 7 Patent Pending test 200 … test 20 test 19 test 18 test 17 test 16 test 15 test 14 test 13 test 12 test 11 test 10 test 9 test 8 test 7 test 6 test 5 test 4 test 3 test 2 test 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Revisions Starting point: 200 tests run, 10 failed. Each test takes 1 hour. Max allowed debug jobs on the farm: 10.
  • 8. test 200 … test 20 test 19 test 18 test 17 test 16 test 15 test 14 test 13 test 12 test 11 test 10 test 9 test 8 test 7 test 6 test 5 test 4 test 3 test 2 test 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Revisions Automatic Debug 8 Patent Pending Select the pilot test, i.e. the fastest test. Test it on 10 revisions in parallel. Found a pass-fail transition (rev 9 and 13), but there may be more transitions,
  • 9. test 200 … test 20 test 19 test 18 test 17 test 16 test 15 test 14 test 13 test 12 test 11 test 10 test 9 test 8 test 7 test 6 test 5 test 4 test 3 test 2 test 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Revisions Automatic Debug 9 Patent Pending Test another 10 revisions to get high probability in debug analysis. Found first faulty rev (17). Bug report emailed to committer after 2 hours debug time.
  • 10. test 200 … test 20 test 19 test 18 test 17 test 16 test 15 test 14 test 13 test 12 test 11 test 10 test 9 test 8 test 7 test 6 test 5 test 4 test 3 test 2 test 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Revisions Automatic Debug 10 Patent Pending Check if the other failing tests have the same tipping point. Start with the pass. The result: 3 tests don’t. They are due to a second bug.
  • 11. test 200 … test 20 test 19 test 18 test 17 test 16 test 15 test 14 test 13 test 12 test 11 test 10 test 9 test 8 test 7 test 6 test 5 test 4 test 3 test 2 test 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Revisions Automatic Debug 11 Patent Pending Pick the pilot test for the second bug and run on 10 revisions
  • 12. test 200 … test 20 test 19 test 18 test 17 test 16 test 15 test 14 test 13 test 12 test 11 test 10 test 9 test 8 test 7 test 6 test 5 test 4 test 3 test 2 test 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Revisions Automatic Debug 12 Patent Pending After the second run of the pilot test for bug no 2 we find the tipping point Bug no 2 emailed to committer after 5 hours
  • 13. test 200 … test 20 test 19 test 18 test 17 test 16 test 15 test 14 test 13 test 12 test 11 test 10 test 9 test 8 test 7 test 6 test 5 test 4 test 3 test 2 test 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Revisions Automatic Debug 13 Patent Pending Checking if all remaining tests match the tipping points of the two reported bugs They do. Debug run completes after 6 hours.
  • 14. Random Test Setup Regression Testing with Random tests cannot separate a regression from new coverage -Inefficient debugging of regressions -Unable to separate bad news (regressions) from good news (new coverage) PinDown solves this: 14 (John) (Hemal)
  • 15. Random Stability 15 Random stability is depends on the type of testbench change - PinDown may sometimes not be able to reproduce the issue - Less of a problem when frequent testing - PinDown allows a setup choice: Include/Not include Testbench 0% 100% Changing random generators and/or its structure Adding variables, comments, unrelated logic Changing some constraints Major code changes
  • 16. • In both cases PinDown is emailing out the report, but automatic debug is only enabled for the areas that PinDown is setup to track • No difference in complexity between tracked and non-tracked areas. – Complex bugs were fixed by simply removing the commit. Time Bug Fixed in Revision Control SystemEmail Report • Real commercial ASIC project: – Based on random testing – We analyzed 39 regression bugs found during 3 months of the project • PinDown was setup to track the following in the revision control system: Measuring how fast bugs were fixed 16 Tracked: -Device under test (DUT) -Testbench -Scripts and tools for build and test Not Tracked: - Some internally developed tools and scripts (they were under revision control, but not tracked by PinDown) • We measure the time from when the report is emailed out until the fix is committed:
  • 17. Results: 400% faster bug fixing 5x less discussions (0,5 emails automatic debug, 2,6 emails manual debug) (5,7h for automatic debug, 23h for manual debug) (7,4h for automatic debug, 26,1h for manual debug) Average insertion time for bugs: 4 pm
  • 18. Measuring the Gain of Automatic Debug Summary  Automatic Debug speed up bug fixing by 400% in this ASIC project How was that achieved?  Precision and clear responsibility • The bug report shows who did what and when • This in turn lead to 5x less discussion prior to bug fixing  Automatic Debug is active 24/7 • Bugs occur late in the day, leaving little time for same-day manual debug