SlideShare a Scribd company logo
Systematic Architecture Level Fault
Diagnosis Using Statistical Techniques
Bachelor Thesis by Fabian Keller
Estimated Costs 2012
as reported by Britton et al. [2013]
11.11.2014 STARDUST - Fabian Keller 2
Agenda
1. Automated Fault Diagnosis
2. State of the Art
3. Case Study: AspectJ
4. Evaluation
5. Conclusions
11.11.2014 STARDUST - Fabian Keller 3
Agenda
1. Automated Fault Diagnosis
2. State of the Art
3. Case Study: AspectJ
4. Evaluation
5. Conclusions
11.11.2014 STARDUST - Fabian Keller 4
Fault Diagnosis
what is the current practice?
Goal: Pinpoint single/multiple failure/s
Commonly used techniques:
• System.out.println()
• Symbolic Debugging
• Static Slicing / Dynamic Slicing
 There is room for improvement!
11.11.2014 STARDUST - Fabian Keller 5
Automated Fault Diagnosis
is it possible?
B1 B2 B3 B4 B5 Error
Test1 1 0 0 0 0 0
Test2 1 1 0 0 0 0
Test3 1 1 1 1 1 0
Test4 1 1 1 1 1 0
Test5 1 1 1 1 1 1
Test6 1 1 1 0 1 0
11.11.2014 STARDUST - Fabian Keller 6
By intuition: A block is more suspicious, if:
- It is involved in failing test cases
- It is not involved in passing test cases
Ranking Metrics
… it is possible
Tarantula
𝑆𝑆𝑇𝑇 =
#𝐼𝐼 𝐼𝐼
#𝐼𝐼 𝐼𝐼 + #𝑁𝑁𝑁𝑁
#𝐼𝐼 𝐼𝐼
#𝐼𝐼 𝐼𝐼 + #𝑁𝑁𝑁𝑁
+
#𝐼𝐼 𝐼𝐼
#𝐼𝐼 𝐼𝐼 + #𝑁𝑁𝑁𝑁
Jaccard
𝑆𝑆𝐽𝐽 =
#𝐼𝐼 𝐼𝐼
#𝐼𝐼 𝐼𝐼 + #𝑁𝑁𝑁𝑁 + #𝐼𝐼 𝐼𝐼
Ochiai
𝑆𝑆𝑂𝑂 =
#𝐼𝐼 𝐼𝐼
(#𝐼𝐼 𝐼𝐼 + #𝑁𝑁𝑁𝑁) ⋅ #𝐼𝐼 𝐼𝐼 + #𝐼𝐼 𝐼𝐼
Involved / Not involved / Failing / Passing
11.11.2014 STARDUST - Fabian Keller 7
B1 B2 B3 B4 B5 Error
Test1 1 0 0 0 0 0
Test2 1 1 0 0 0 0
Test3 1 1 1 1 1 0
Test4 1 1 1 1 1 0
Test5 1 1 1 1 1 1
Test6 1 1 1 0 1 0
𝑆𝑆𝑇𝑇 0,50 0,56 0,63 0,71 0,63
𝑆𝑆𝐽𝐽 0,17 0,20 0,25 0,33 0,25
𝑆𝑆𝑂𝑂 0,41 0,45 0,50 0,58 0,50
Ranking:
1. B4 2. B3, B5 3. B2 4. B1
Agenda
1. Automated Fault Diagnosis
2. State of the Art
3. Case Study: AspectJ
4. Evaluation
5. Conclusions
11.11.2014 STARDUST - Fabian Keller 8
Commonly Used Data
and its limiting factors
11.11.2014 STARDUST - Fabian Keller 9
Software-artifact Infrastructure Repository
• Siemens set
• space program
Program Faulty versions LOC Test cases Description
print_tokens 7 478 4130 Lexical anayzer
print_tokens2 10 399 4115 Lexical analyzer
replace 32 512 5542 Pattern recognition
schedule 9 292 2650 Priority scheduler
schedule2 10 301 2710 Priority scheduler
tcas 41 141 1608 Altitude separation
tot_info 23 440 1052 Information measure
space 38 6218 13585 Array definition language
Performance Metrics
how can fault localization performance be evaluated?
• Wasted Effort (WE):
Ranking: L4, L3, L2, L7, L6, L1, L5, L9, L10, L8
Wasted Effort (prominent bug): 2 (or 20%)
• Proportion of Bugs Localized (PBL)
Percentage of bugs localized with WE < p%
• Hit@X
Number of bugs localized after inspecting X elements
11.11.2014 STARDUST - Fabian Keller 10
Agenda
1. Automated Fault Diagnosis
2. State of the Art
3. Case Study: AspectJ
4. Evaluation
5. Conclusions
11.11.2014 STARDUST - Fabian Keller 11
AspectJ – Lines of Code
nearly doubled in the examined timespan
11.11.2014 STARDUST - Fabian Keller 12
AspectJ – Commits
active development with mostly 50+ commits per month
11.11.2014 STARDUST - Fabian Keller 13
AspectJ – Bugs
nearly 2500 bugs reported in the examined time span
11.11.2014 STARDUST - Fabian Keller 14
AspectJ – Data
less than 40% of the investigated bugs are applicable for SBFL
AspectJ AJDT Sum
All bugs 1544 886 2430
Bugs in iBugs 285 65 350
Classified Bugs 99 11 110
Applicable Bugs 41 1 42
Involved Bugs 20 1 21
11.11.2014 STARDUST - Fabian Keller 15
What happened?
Bug 36234
workarounds cannot be used as evaluation oracle
11.11.2014 STARDUST - Fabian Keller 16
Bug report: „Getting an out of memory error when compiling with Ajc 1.1 RC1 […]”
Pre-Fix Post-Fix
Bug 61411
platform specific bugs are mostly not present in test suites
11.11.2014 STARDUST - Fabian Keller 17
Bug report: „[…] highlights a problem that I've seen using ajdoc.bat on Windows […]”
Pre-Fix Post-Fix
Bug 151182
synchronization bugs are mostly not present in test suites
11.11.2014 STARDUST - Fabian Keller 18
Bug report: „[…] recompiled the aspect using 1.5.2 and tried to run it […], but it fails
with a NullPointerException.[…]”
Pre-Fix Post-Fix
Agenda
1. Automated Fault Diagnosis
2. State of the Art
3. Case Study: AspectJ
4. Evaluation
5. Conclusions
11.11.2014 STARDUST - Fabian Keller 19
Research Questions
• RQ1: How does the program size influence fault localization
performance?
• RQ2: How many bugs can be found when examining a fixed
amount of ranked elements?
• RQ3: How does the program size influence suspiciousness
scores produced by different ranking metrics?
• RQ4: Are the fault localization performance metrics
currently used by the research community valid?
11.11.2014 STARDUST - Fabian Keller 20
RQ1: Program Size vs. SBFL Performance?
multiple ranked elements are mapped to the same suspiciousness
11.11.2014 STARDUST - Fabian Keller 21
11.11.2014 STARDUST - Fabian Keller 22
RQ4: Are the Performance Metrics Valid?
on average, no bugs can be found in the first 100 lines
11.11.2014 STARDUST - Fabian Keller 23
RQ4: Are the Performance Metrics Valid?
with luck, 33% of all bugs can be found in the first 1000 lines
11.11.2014 STARDUST - Fabian Keller 24
Agenda
1. Automated Fault Diagnosis
2. State of the Art
3. Case Study: AspectJ
4. Evaluation
5. Conclusions
11.11.2014 STARDUST - Fabian Keller 25
Conclusions
there is still some work to be done
• Bugs need more context to be fully understood
• Current metrics cannot be applied to large projects
• SBFL is not feasible for large projects
• New metrics are starting point for future work
11.11.2014 STARDUST - Fabian Keller 26
Thank you for your attention!
Questions?
11.11.2014 STARDUST - Fabian Keller 27
RQ2: examining a fixed amount
inspect more than 100 files to find 50% of all bugs
11.11.2014 STARDUST - Fabian Keller 28
RQ3: Program Size vs. Suspiciousness
mean suspiciousness drops for larger programs
11.11.2014 STARDUST - Fabian Keller 29
WAUC: Weighted Area Under Curve
11.11.2014 STARDUST - Fabian Keller 30

More Related Content

What's hot

Pairwise testing
Pairwise testingPairwise testing
Pairwise testing
Kanoah
 
ISTQB, ISEB Lecture Notes
ISTQB, ISEB Lecture NotesISTQB, ISEB Lecture Notes
ISTQB, ISEB Lecture Notes
onsoftwaretest
 
Agile Development in a Regulated Environment
Agile Development in a Regulated EnvironmentAgile Development in a Regulated Environment
Agile Development in a Regulated Environment
TechWell
 
Testing introduction
Testing introductionTesting introduction
Testing introduction
FACTS Computer Software L.L.C
 
Defect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft WebinarDefect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft Webinar
XBOSoft
 
Static code analysis
Static code analysisStatic code analysis
Static code analysis
Rushana Bandara
 
How google-tests-software
How google-tests-softwareHow google-tests-software
How google-tests-software
Bhawna Tuteja
 
SoftwareAssemblyLineOverview
SoftwareAssemblyLineOverviewSoftwareAssemblyLineOverview
SoftwareAssemblyLineOverview
Gary Howard
 
Test Environment Management
Test Environment ManagementTest Environment Management
Test Environment Management
Kanoah
 
ISTQB Certified Mobile Application Tester - intro
ISTQB Certified Mobile Application Tester - introISTQB Certified Mobile Application Tester - intro
ISTQB Certified Mobile Application Tester - intro
Hassan Muhammad
 
The process of performance testing
The process of performance testingThe process of performance testing
The process of performance testing
Sebastián Lagoueyte
 
What is automation testing | David Tzemach
What is automation testing | David TzemachWhat is automation testing | David Tzemach
What is automation testing | David Tzemach
David Tzemach
 
Continuous testing webinar 041017 slideshare
Continuous testing webinar 041017 slideshareContinuous testing webinar 041017 slideshare
Continuous testing webinar 041017 slideshare
QualiQuali
 
Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)
Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)
Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)
Sung Kim
 
Software testing methods
Software testing methodsSoftware testing methods
Software testing methods
Donato Di Pierro
 
Static Analysis Techniques For Testing Application Security - Houston Tech Fest
Static Analysis Techniques For Testing Application Security - Houston Tech FestStatic Analysis Techniques For Testing Application Security - Houston Tech Fest
Static Analysis Techniques For Testing Application Security - Houston Tech Fest
Denim Group
 
Global System For Automated Applications Using Plug In
Global System For Automated Applications Using Plug InGlobal System For Automated Applications Using Plug In
Global System For Automated Applications Using Plug In
jpinasaez
 
When do software issues get reported in large open source software
When do software issues get reported in large open source softwareWhen do software issues get reported in large open source software
When do software issues get reported in large open source software
RAKESH RANA
 
Testing- Fundamentals of Testing-Mazenet solution
Testing- Fundamentals of Testing-Mazenet solutionTesting- Fundamentals of Testing-Mazenet solution
Testing- Fundamentals of Testing-Mazenet solution
Mazenetsolution
 
6 Ways to Speed Up App Testing
6 Ways to Speed Up App Testing6 Ways to Speed Up App Testing
6 Ways to Speed Up App Testing
Perfecto by Perforce
 

What's hot (20)

Pairwise testing
Pairwise testingPairwise testing
Pairwise testing
 
ISTQB, ISEB Lecture Notes
ISTQB, ISEB Lecture NotesISTQB, ISEB Lecture Notes
ISTQB, ISEB Lecture Notes
 
Agile Development in a Regulated Environment
Agile Development in a Regulated EnvironmentAgile Development in a Regulated Environment
Agile Development in a Regulated Environment
 
Testing introduction
Testing introductionTesting introduction
Testing introduction
 
Defect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft WebinarDefect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft Webinar
 
Static code analysis
Static code analysisStatic code analysis
Static code analysis
 
How google-tests-software
How google-tests-softwareHow google-tests-software
How google-tests-software
 
SoftwareAssemblyLineOverview
SoftwareAssemblyLineOverviewSoftwareAssemblyLineOverview
SoftwareAssemblyLineOverview
 
Test Environment Management
Test Environment ManagementTest Environment Management
Test Environment Management
 
ISTQB Certified Mobile Application Tester - intro
ISTQB Certified Mobile Application Tester - introISTQB Certified Mobile Application Tester - intro
ISTQB Certified Mobile Application Tester - intro
 
The process of performance testing
The process of performance testingThe process of performance testing
The process of performance testing
 
What is automation testing | David Tzemach
What is automation testing | David TzemachWhat is automation testing | David Tzemach
What is automation testing | David Tzemach
 
Continuous testing webinar 041017 slideshare
Continuous testing webinar 041017 slideshareContinuous testing webinar 041017 slideshare
Continuous testing webinar 041017 slideshare
 
Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)
Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)
Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)
 
Software testing methods
Software testing methodsSoftware testing methods
Software testing methods
 
Static Analysis Techniques For Testing Application Security - Houston Tech Fest
Static Analysis Techniques For Testing Application Security - Houston Tech FestStatic Analysis Techniques For Testing Application Security - Houston Tech Fest
Static Analysis Techniques For Testing Application Security - Houston Tech Fest
 
Global System For Automated Applications Using Plug In
Global System For Automated Applications Using Plug InGlobal System For Automated Applications Using Plug In
Global System For Automated Applications Using Plug In
 
When do software issues get reported in large open source software
When do software issues get reported in large open source softwareWhen do software issues get reported in large open source software
When do software issues get reported in large open source software
 
Testing- Fundamentals of Testing-Mazenet solution
Testing- Fundamentals of Testing-Mazenet solutionTesting- Fundamentals of Testing-Mazenet solution
Testing- Fundamentals of Testing-Mazenet solution
 
6 Ways to Speed Up App Testing
6 Ways to Speed Up App Testing6 Ways to Speed Up App Testing
6 Ways to Speed Up App Testing
 

Similar to Systematic Architecture Level Fault Diagnosis Using Statistical Techniques

OPNFV Doctor - OpenStack最新情報セミナー 2017年7月
OPNFV Doctor - OpenStack最新情報セミナー 2017年7月OPNFV Doctor - OpenStack最新情報セミナー 2017年7月
OPNFV Doctor - OpenStack最新情報セミナー 2017年7月
VirtualTech Japan Inc.
 
Defect root cause analysis, Андрей Титаренко
Defect root cause analysis, Андрей ТитаренкоDefect root cause analysis, Андрей Титаренко
Defect root cause analysis, Андрей Титаренко
Sigma Software
 
An exploratory study of the state of practice of performance testing in Java-...
An exploratory study of the state of practice of performance testing in Java-...An exploratory study of the state of practice of performance testing in Java-...
An exploratory study of the state of practice of performance testing in Java-...
corpaulbezemer
 
Software Development Lifecycle Presentation
Software Development Lifecycle PresentationSoftware Development Lifecycle Presentation
Software Development Lifecycle Presentation
ssuser645e24
 
2002 1 software-quality_assurance_implementation_plan_...
2002 1 software-quality_assurance_implementation_plan_...2002 1 software-quality_assurance_implementation_plan_...
2002 1 software-quality_assurance_implementation_plan_...
amal2amal
 
Automatic Fine-Grained Issue Report Reclassification
Automatic Fine-Grained Issue Report ReclassificationAutomatic Fine-Grained Issue Report Reclassification
Automatic Fine-Grained Issue Report Reclassification
Pavneet Singh Kochhar
 
Waterfall Model
Waterfall ModelWaterfall Model
Waterfall Model
Nahin Kumar Dey
 
Performance Aware Development
Performance Aware DevelopmentPerformance Aware Development
Performance Aware Development
Saurabh Badhwar
 
Presentation application server diagnostics
Presentation   application server diagnosticsPresentation   application server diagnostics
Presentation application server diagnostics
xKinAnx
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
Rohana K Amarakoon
 
ISTQB Foundation - Chapter 2
ISTQB Foundation - Chapter 2ISTQB Foundation - Chapter 2
ISTQB Foundation - Chapter 2
Chandukar
 
Quality management training program for Starters
Quality management training program for StartersQuality management training program for Starters
Quality management training program for Starters
Syed Tassuduq Hussain
 
When do software issues get reported in large open source software - Rakesh Rana
When do software issues get reported in large open source software - Rakesh RanaWhen do software issues get reported in large open source software - Rakesh Rana
When do software issues get reported in large open source software - Rakesh Rana
IWSM Mensura
 
ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2
Yogindernath Gupta
 
Case Study: Ecolab Transforms Infrastructure and Application Monitoring into ...
Case Study: Ecolab Transforms Infrastructure and Application Monitoring into ...Case Study: Ecolab Transforms Infrastructure and Application Monitoring into ...
Case Study: Ecolab Transforms Infrastructure and Application Monitoring into ...
CA Technologies
 
Software engineering quality assurance and testing
Software engineering quality assurance and testingSoftware engineering quality assurance and testing
Software engineering quality assurance and testing
Bipul Roy Bpl
 
Software Testing - Online Guide
Software Testing - Online GuideSoftware Testing - Online Guide
Software Testing - Online Guide
bigspire
 
DataScience Lab 2017_Обзор методов детекции лиц на изображение
DataScience Lab 2017_Обзор методов детекции лиц на изображениеDataScience Lab 2017_Обзор методов детекции лиц на изображение
DataScience Lab 2017_Обзор методов детекции лиц на изображение
GeeksLab Odessa
 
Analytical Risk-based and Specification-based Testing - Bui Duy Tam
Analytical Risk-based and Specification-based Testing - Bui Duy TamAnalytical Risk-based and Specification-based Testing - Bui Duy Tam
Analytical Risk-based and Specification-based Testing - Bui Duy Tam
Ho Chi Minh City Software Testing Club
 
ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2
onsoftwaretest
 

Similar to Systematic Architecture Level Fault Diagnosis Using Statistical Techniques (20)

OPNFV Doctor - OpenStack最新情報セミナー 2017年7月
OPNFV Doctor - OpenStack最新情報セミナー 2017年7月OPNFV Doctor - OpenStack最新情報セミナー 2017年7月
OPNFV Doctor - OpenStack最新情報セミナー 2017年7月
 
Defect root cause analysis, Андрей Титаренко
Defect root cause analysis, Андрей ТитаренкоDefect root cause analysis, Андрей Титаренко
Defect root cause analysis, Андрей Титаренко
 
An exploratory study of the state of practice of performance testing in Java-...
An exploratory study of the state of practice of performance testing in Java-...An exploratory study of the state of practice of performance testing in Java-...
An exploratory study of the state of practice of performance testing in Java-...
 
Software Development Lifecycle Presentation
Software Development Lifecycle PresentationSoftware Development Lifecycle Presentation
Software Development Lifecycle Presentation
 
2002 1 software-quality_assurance_implementation_plan_...
2002 1 software-quality_assurance_implementation_plan_...2002 1 software-quality_assurance_implementation_plan_...
2002 1 software-quality_assurance_implementation_plan_...
 
Automatic Fine-Grained Issue Report Reclassification
Automatic Fine-Grained Issue Report ReclassificationAutomatic Fine-Grained Issue Report Reclassification
Automatic Fine-Grained Issue Report Reclassification
 
Waterfall Model
Waterfall ModelWaterfall Model
Waterfall Model
 
Performance Aware Development
Performance Aware DevelopmentPerformance Aware Development
Performance Aware Development
 
Presentation application server diagnostics
Presentation   application server diagnosticsPresentation   application server diagnostics
Presentation application server diagnostics
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
ISTQB Foundation - Chapter 2
ISTQB Foundation - Chapter 2ISTQB Foundation - Chapter 2
ISTQB Foundation - Chapter 2
 
Quality management training program for Starters
Quality management training program for StartersQuality management training program for Starters
Quality management training program for Starters
 
When do software issues get reported in large open source software - Rakesh Rana
When do software issues get reported in large open source software - Rakesh RanaWhen do software issues get reported in large open source software - Rakesh Rana
When do software issues get reported in large open source software - Rakesh Rana
 
ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2
 
Case Study: Ecolab Transforms Infrastructure and Application Monitoring into ...
Case Study: Ecolab Transforms Infrastructure and Application Monitoring into ...Case Study: Ecolab Transforms Infrastructure and Application Monitoring into ...
Case Study: Ecolab Transforms Infrastructure and Application Monitoring into ...
 
Software engineering quality assurance and testing
Software engineering quality assurance and testingSoftware engineering quality assurance and testing
Software engineering quality assurance and testing
 
Software Testing - Online Guide
Software Testing - Online GuideSoftware Testing - Online Guide
Software Testing - Online Guide
 
DataScience Lab 2017_Обзор методов детекции лиц на изображение
DataScience Lab 2017_Обзор методов детекции лиц на изображениеDataScience Lab 2017_Обзор методов детекции лиц на изображение
DataScience Lab 2017_Обзор методов детекции лиц на изображение
 
Analytical Risk-based and Specification-based Testing - Bui Duy Tam
Analytical Risk-based and Specification-based Testing - Bui Duy TamAnalytical Risk-based and Specification-based Testing - Bui Duy Tam
Analytical Risk-based and Specification-based Testing - Bui Duy Tam
 
ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2
 

More from Fabian Keller

The Challenges of Taking Open Source Cloud Foundry to Production
The Challenges of Taking Open Source Cloud Foundry to ProductionThe Challenges of Taking Open Source Cloud Foundry to Production
The Challenges of Taking Open Source Cloud Foundry to Production
Fabian Keller
 
Cloud Foundry - A Platform for Everyone
Cloud Foundry - A Platform for EveryoneCloud Foundry - A Platform for Everyone
Cloud Foundry - A Platform for Everyone
Fabian Keller
 
Quo Vadis Netflix Stack?
Quo Vadis Netflix Stack?Quo Vadis Netflix Stack?
Quo Vadis Netflix Stack?
Fabian Keller
 
Blasting Through the Clouds - Automating Cloud Foundry with Concourse CI
Blasting Through the Clouds - Automating Cloud Foundry with Concourse CIBlasting Through the Clouds - Automating Cloud Foundry with Concourse CI
Blasting Through the Clouds - Automating Cloud Foundry with Concourse CI
Fabian Keller
 
Skalierbare Multicast Konzepte
Skalierbare Multicast KonzepteSkalierbare Multicast Konzepte
Skalierbare Multicast Konzepte
Fabian Keller
 
Introducing Performance Awareness in an Integrated Specification Environment
Introducing Performance Awareness in an Integrated Specification EnvironmentIntroducing Performance Awareness in an Integrated Specification Environment
Introducing Performance Awareness in an Integrated Specification Environment
Fabian Keller
 
Referenzmodelle für das Informationsmanagement in der Smart Factory
Referenzmodelle für das Informationsmanagement in der Smart FactoryReferenzmodelle für das Informationsmanagement in der Smart Factory
Referenzmodelle für das Informationsmanagement in der Smart Factory
Fabian Keller
 
High Dimensional Data Visualization
High Dimensional Data VisualizationHigh Dimensional Data Visualization
High Dimensional Data Visualization
Fabian Keller
 

More from Fabian Keller (8)

The Challenges of Taking Open Source Cloud Foundry to Production
The Challenges of Taking Open Source Cloud Foundry to ProductionThe Challenges of Taking Open Source Cloud Foundry to Production
The Challenges of Taking Open Source Cloud Foundry to Production
 
Cloud Foundry - A Platform for Everyone
Cloud Foundry - A Platform for EveryoneCloud Foundry - A Platform for Everyone
Cloud Foundry - A Platform for Everyone
 
Quo Vadis Netflix Stack?
Quo Vadis Netflix Stack?Quo Vadis Netflix Stack?
Quo Vadis Netflix Stack?
 
Blasting Through the Clouds - Automating Cloud Foundry with Concourse CI
Blasting Through the Clouds - Automating Cloud Foundry with Concourse CIBlasting Through the Clouds - Automating Cloud Foundry with Concourse CI
Blasting Through the Clouds - Automating Cloud Foundry with Concourse CI
 
Skalierbare Multicast Konzepte
Skalierbare Multicast KonzepteSkalierbare Multicast Konzepte
Skalierbare Multicast Konzepte
 
Introducing Performance Awareness in an Integrated Specification Environment
Introducing Performance Awareness in an Integrated Specification EnvironmentIntroducing Performance Awareness in an Integrated Specification Environment
Introducing Performance Awareness in an Integrated Specification Environment
 
Referenzmodelle für das Informationsmanagement in der Smart Factory
Referenzmodelle für das Informationsmanagement in der Smart FactoryReferenzmodelle für das Informationsmanagement in der Smart Factory
Referenzmodelle für das Informationsmanagement in der Smart Factory
 
High Dimensional Data Visualization
High Dimensional Data VisualizationHigh Dimensional Data Visualization
High Dimensional Data Visualization
 

Recently uploaded

LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 

Recently uploaded (20)

LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 

Systematic Architecture Level Fault Diagnosis Using Statistical Techniques

  • 1. Systematic Architecture Level Fault Diagnosis Using Statistical Techniques Bachelor Thesis by Fabian Keller
  • 2. Estimated Costs 2012 as reported by Britton et al. [2013] 11.11.2014 STARDUST - Fabian Keller 2
  • 3. Agenda 1. Automated Fault Diagnosis 2. State of the Art 3. Case Study: AspectJ 4. Evaluation 5. Conclusions 11.11.2014 STARDUST - Fabian Keller 3
  • 4. Agenda 1. Automated Fault Diagnosis 2. State of the Art 3. Case Study: AspectJ 4. Evaluation 5. Conclusions 11.11.2014 STARDUST - Fabian Keller 4
  • 5. Fault Diagnosis what is the current practice? Goal: Pinpoint single/multiple failure/s Commonly used techniques: • System.out.println() • Symbolic Debugging • Static Slicing / Dynamic Slicing  There is room for improvement! 11.11.2014 STARDUST - Fabian Keller 5
  • 6. Automated Fault Diagnosis is it possible? B1 B2 B3 B4 B5 Error Test1 1 0 0 0 0 0 Test2 1 1 0 0 0 0 Test3 1 1 1 1 1 0 Test4 1 1 1 1 1 0 Test5 1 1 1 1 1 1 Test6 1 1 1 0 1 0 11.11.2014 STARDUST - Fabian Keller 6 By intuition: A block is more suspicious, if: - It is involved in failing test cases - It is not involved in passing test cases
  • 7. Ranking Metrics … it is possible Tarantula 𝑆𝑆𝑇𝑇 = #𝐼𝐼 𝐼𝐼 #𝐼𝐼 𝐼𝐼 + #𝑁𝑁𝑁𝑁 #𝐼𝐼 𝐼𝐼 #𝐼𝐼 𝐼𝐼 + #𝑁𝑁𝑁𝑁 + #𝐼𝐼 𝐼𝐼 #𝐼𝐼 𝐼𝐼 + #𝑁𝑁𝑁𝑁 Jaccard 𝑆𝑆𝐽𝐽 = #𝐼𝐼 𝐼𝐼 #𝐼𝐼 𝐼𝐼 + #𝑁𝑁𝑁𝑁 + #𝐼𝐼 𝐼𝐼 Ochiai 𝑆𝑆𝑂𝑂 = #𝐼𝐼 𝐼𝐼 (#𝐼𝐼 𝐼𝐼 + #𝑁𝑁𝑁𝑁) ⋅ #𝐼𝐼 𝐼𝐼 + #𝐼𝐼 𝐼𝐼 Involved / Not involved / Failing / Passing 11.11.2014 STARDUST - Fabian Keller 7 B1 B2 B3 B4 B5 Error Test1 1 0 0 0 0 0 Test2 1 1 0 0 0 0 Test3 1 1 1 1 1 0 Test4 1 1 1 1 1 0 Test5 1 1 1 1 1 1 Test6 1 1 1 0 1 0 𝑆𝑆𝑇𝑇 0,50 0,56 0,63 0,71 0,63 𝑆𝑆𝐽𝐽 0,17 0,20 0,25 0,33 0,25 𝑆𝑆𝑂𝑂 0,41 0,45 0,50 0,58 0,50 Ranking: 1. B4 2. B3, B5 3. B2 4. B1
  • 8. Agenda 1. Automated Fault Diagnosis 2. State of the Art 3. Case Study: AspectJ 4. Evaluation 5. Conclusions 11.11.2014 STARDUST - Fabian Keller 8
  • 9. Commonly Used Data and its limiting factors 11.11.2014 STARDUST - Fabian Keller 9 Software-artifact Infrastructure Repository • Siemens set • space program Program Faulty versions LOC Test cases Description print_tokens 7 478 4130 Lexical anayzer print_tokens2 10 399 4115 Lexical analyzer replace 32 512 5542 Pattern recognition schedule 9 292 2650 Priority scheduler schedule2 10 301 2710 Priority scheduler tcas 41 141 1608 Altitude separation tot_info 23 440 1052 Information measure space 38 6218 13585 Array definition language
  • 10. Performance Metrics how can fault localization performance be evaluated? • Wasted Effort (WE): Ranking: L4, L3, L2, L7, L6, L1, L5, L9, L10, L8 Wasted Effort (prominent bug): 2 (or 20%) • Proportion of Bugs Localized (PBL) Percentage of bugs localized with WE < p% • Hit@X Number of bugs localized after inspecting X elements 11.11.2014 STARDUST - Fabian Keller 10
  • 11. Agenda 1. Automated Fault Diagnosis 2. State of the Art 3. Case Study: AspectJ 4. Evaluation 5. Conclusions 11.11.2014 STARDUST - Fabian Keller 11
  • 12. AspectJ – Lines of Code nearly doubled in the examined timespan 11.11.2014 STARDUST - Fabian Keller 12
  • 13. AspectJ – Commits active development with mostly 50+ commits per month 11.11.2014 STARDUST - Fabian Keller 13
  • 14. AspectJ – Bugs nearly 2500 bugs reported in the examined time span 11.11.2014 STARDUST - Fabian Keller 14
  • 15. AspectJ – Data less than 40% of the investigated bugs are applicable for SBFL AspectJ AJDT Sum All bugs 1544 886 2430 Bugs in iBugs 285 65 350 Classified Bugs 99 11 110 Applicable Bugs 41 1 42 Involved Bugs 20 1 21 11.11.2014 STARDUST - Fabian Keller 15 What happened?
  • 16. Bug 36234 workarounds cannot be used as evaluation oracle 11.11.2014 STARDUST - Fabian Keller 16 Bug report: „Getting an out of memory error when compiling with Ajc 1.1 RC1 […]” Pre-Fix Post-Fix
  • 17. Bug 61411 platform specific bugs are mostly not present in test suites 11.11.2014 STARDUST - Fabian Keller 17 Bug report: „[…] highlights a problem that I've seen using ajdoc.bat on Windows […]” Pre-Fix Post-Fix
  • 18. Bug 151182 synchronization bugs are mostly not present in test suites 11.11.2014 STARDUST - Fabian Keller 18 Bug report: „[…] recompiled the aspect using 1.5.2 and tried to run it […], but it fails with a NullPointerException.[…]” Pre-Fix Post-Fix
  • 19. Agenda 1. Automated Fault Diagnosis 2. State of the Art 3. Case Study: AspectJ 4. Evaluation 5. Conclusions 11.11.2014 STARDUST - Fabian Keller 19
  • 20. Research Questions • RQ1: How does the program size influence fault localization performance? • RQ2: How many bugs can be found when examining a fixed amount of ranked elements? • RQ3: How does the program size influence suspiciousness scores produced by different ranking metrics? • RQ4: Are the fault localization performance metrics currently used by the research community valid? 11.11.2014 STARDUST - Fabian Keller 20
  • 21. RQ1: Program Size vs. SBFL Performance? multiple ranked elements are mapped to the same suspiciousness 11.11.2014 STARDUST - Fabian Keller 21
  • 22. 11.11.2014 STARDUST - Fabian Keller 22
  • 23. RQ4: Are the Performance Metrics Valid? on average, no bugs can be found in the first 100 lines 11.11.2014 STARDUST - Fabian Keller 23
  • 24. RQ4: Are the Performance Metrics Valid? with luck, 33% of all bugs can be found in the first 1000 lines 11.11.2014 STARDUST - Fabian Keller 24
  • 25. Agenda 1. Automated Fault Diagnosis 2. State of the Art 3. Case Study: AspectJ 4. Evaluation 5. Conclusions 11.11.2014 STARDUST - Fabian Keller 25
  • 26. Conclusions there is still some work to be done • Bugs need more context to be fully understood • Current metrics cannot be applied to large projects • SBFL is not feasible for large projects • New metrics are starting point for future work 11.11.2014 STARDUST - Fabian Keller 26
  • 27. Thank you for your attention! Questions? 11.11.2014 STARDUST - Fabian Keller 27
  • 28. RQ2: examining a fixed amount inspect more than 100 files to find 50% of all bugs 11.11.2014 STARDUST - Fabian Keller 28
  • 29. RQ3: Program Size vs. Suspiciousness mean suspiciousness drops for larger programs 11.11.2014 STARDUST - Fabian Keller 29
  • 30. WAUC: Weighted Area Under Curve 11.11.2014 STARDUST - Fabian Keller 30