SlideShare a Scribd company logo
1 of 13
© Fraunhofer IESE
SUPPORTING THE ANALYSIS OF BUG
PREVALENCE IN SOFTWARE PRODUCT
LINES WITH PRODUCT GENEALOGY
Thiago Burgos
thiago.burgos@iese.fraunhofer.de
Martin Becker
martin.becker@iese.fraunhofer.de
Elisa Nakagawa
elisa@icmc.usp.br
© Fraunhofer IESE
2
Fraunhofer-Institute for
Experimental Software Engineering (IESE)
Leading Institute for Software Engineering
Founded in 1996 in Kaiserslautern, Germany
200 employees
Focus on software engineering
 Provide innovative and value-adding
customer solutions with measurable effects
 Advance the state-of-the art
in software and system engineering
 Promote the importance of empirically based
software and system engineering
www.iese.fraunhofer.de
© Fraunhofer IESE
3
What is the problem?
 Imagine that inside your SPL you discover one (major) BUG in one of your
released products…
 Are going to fix this bug only for this product?
 Probably this same bug can be present in several other releases
(of different variants/versions)!
 The problem is:
How to find out which other product
releases also contain this same bug?
© Fraunhofer IESE
4
Background
 Bug Prevalence means the extent of
products that are affected by a particular bug.
 The term was derived from disease prevalence
which is used in the medical world vocabulary, in
the epidemiology field.
 In single systems development, this concept
should only concern with evolution in time.
 Finding the bug prevalence of a certain bug is still
a challenge and a highly relevant topic, since
besides the evolution in time there is also the
evolution in space (variants).
© Fraunhofer IESE
5
Research Questions
1. Given a set of products from a product family, and a bug in one of them,
which other products will exhibit the same bug (Bug Prevalence)?
2. If an asset is changed, which products should be affected by the propagation
of this change?
A similar type of analysis can be performed to provide support to these two
research questions.
© Fraunhofer IESE
© Fraunhofer IESE
7
The Analogy [2/2]
 Phenotypes X Functional Behavior
 Variation decision resulting in an observable
behavior or characteristic.
 Alleles x Variability Decisions
 The allele (the chosen variation of the asset) that
determines the phenotype (ex. the bug), not the
gene itself (the asset).
 Family Genealogy Tree X
Product Genealogy Tree (PGT)
 Hierarchical structure showing the path that the
genes took during the familiy evolution.
 PGT is composed by product releases
The diagram shows a cell
reproducing asexually
Family Genealogy Tree Example
© Fraunhofer IESE
8
Product Genealogy Approach
 The Product Genealogy Approach was designed to support the
analysis of bug prevalence.
 Two main usage scenarios:
1. Before a bug fix, to identify the bug prevalence, and discover other
products that this bug needs to be also fixed; and
2. After a change is performed, in order to identify the real impacts of
the change on other products.
© Fraunhofer IESE
9
Product Genealogy Approach
Phases and steps
© Fraunhofer IESE
10
Product Genealogy Tree
UML Representation
© Fraunhofer IESE
12
Example
• Information for the PGT Creation
(Phase 1) can be extracted from
version control repository
 Branching Structure (Variants)
 Release Tags (Product Releases )
 Merges (Propagations)
• Depending on the the first
analysis, a second round of
analysis must be done with a
broader scope (based on the PGT
relationships)
First scope
of analysis
© Fraunhofer IESE
13
Concluding Remarks and Future Work
 It is less time consuming and more effective if we start analyzing the
product releases with a reduced set of possibilities (with a higher
probability of having the bug) compared to an initial multitude of products.
 Bugs are real practical problems, and therefore the approach has a real
chance to be applied in practice.
 Major contributions
The Product
Genealogy
Approach
The Analogy
Provides the foundation
concepts for the approach
© Fraunhofer IESE
14
Controller
Future Contribution – Adaptive System
(Out of the scope of task 3.5)
Feature
models
µTVL
PCL
Features x 𝝙
PSL
Products x
Features
PAL
Products x
Adaptations
Product Adaptation Language
Deployed
Product
Adaptation
Infrastructure
from Radu‘s
Team
Feature 1
Development
Time
Run Time
PALMonitoring
Gets PAL rules
Sends information
According to some
conditions, automatically
triggers the adaptation
Contact:
Thiago Burgos Fraunhofer-Platz 1
67663 Kaiserslautern
Telefon +49(631) 6800-2262
Embedded Systems thiago.burgos@iese.fraunhofer.de
Development www.iese.fraunhofer.de
Thank you! Questions?
Obrigado! Perguntas?

More Related Content

Viewers also liked (11)

Candy shop
Candy shopCandy shop
Candy shop
 
Premios grammy 2012
Premios grammy 2012Premios grammy 2012
Premios grammy 2012
 
Africor Risk Management 111001
Africor Risk Management 111001Africor Risk Management 111001
Africor Risk Management 111001
 
How to Perform Legal Research on Federal Regulations
How to Perform Legal Research on Federal Regulations How to Perform Legal Research on Federal Regulations
How to Perform Legal Research on Federal Regulations
 
Ganadores premios oscar 2012
Ganadores premios oscar 2012Ganadores premios oscar 2012
Ganadores premios oscar 2012
 
Africor Mobile Op Support Vehicles 110927
Africor Mobile Op Support Vehicles 110927Africor Mobile Op Support Vehicles 110927
Africor Mobile Op Support Vehicles 110927
 
M.Sc. - A process to manage evolution in Software Product Lines
M.Sc. - A process to manage evolution in Software Product LinesM.Sc. - A process to manage evolution in Software Product Lines
M.Sc. - A process to manage evolution in Software Product Lines
 
Luisa
LuisaLuisa
Luisa
 
Presentación1
Presentación1Presentación1
Presentación1
 
Africor Modular Housing 110927
Africor Modular Housing 110927Africor Modular Housing 110927
Africor Modular Housing 110927
 
Introduction to patent searching
Introduction to patent searching Introduction to patent searching
Introduction to patent searching
 

Similar to Supporting the analysis of bug prevalence in software product lines with product genealogy

Writting Better Software
Writting Better SoftwareWritting Better Software
Writting Better Software
svilen.ivanov
 
Zelditchetal workbookgeomorphoanalyses
Zelditchetal workbookgeomorphoanalysesZelditchetal workbookgeomorphoanalyses
Zelditchetal workbookgeomorphoanalyses
Wagner M. S. Sampaio
 
Automated Testing of NASA Software
Automated Testing of NASA SoftwareAutomated Testing of NASA Software
Automated Testing of NASA Software
Dharmalingam Ganesan
 
GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...
GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...
GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...
ijseajournal
 
GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...
GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...
GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...
ijseajournal
 

Similar to Supporting the analysis of bug prevalence in software product lines with product genealogy (20)

Thesis+of+fehmi+jaafar.ppt
Thesis+of+fehmi+jaafar.pptThesis+of+fehmi+jaafar.ppt
Thesis+of+fehmi+jaafar.ppt
 
Csmr13c.ppt
Csmr13c.pptCsmr13c.ppt
Csmr13c.ppt
 
FuGE Update
FuGE UpdateFuGE Update
FuGE Update
 
MOD2014-Mens-Lecture4
MOD2014-Mens-Lecture4MOD2014-Mens-Lecture4
MOD2014-Mens-Lecture4
 
Working with Modules - Henrik Lindberg - PuppetCamp Europe '11
Working with Modules - Henrik Lindberg - PuppetCamp Europe '11Working with Modules - Henrik Lindberg - PuppetCamp Europe '11
Working with Modules - Henrik Lindberg - PuppetCamp Europe '11
 
Bio inspired use case variability modelling, ijsea
Bio inspired use case variability modelling, ijseaBio inspired use case variability modelling, ijsea
Bio inspired use case variability modelling, ijsea
 
Reproducibility: 10 Simple Rules
Reproducibility: 10 Simple RulesReproducibility: 10 Simple Rules
Reproducibility: 10 Simple Rules
 
Muwanika rogers (software testing) muni university
Muwanika rogers (software testing) muni universityMuwanika rogers (software testing) muni university
Muwanika rogers (software testing) muni university
 
Automated Test Case Generation and Execution from Models
Automated Test Case Generation and Execution from ModelsAutomated Test Case Generation and Execution from Models
Automated Test Case Generation and Execution from Models
 
Replication and Benchmarking in Software Analytics
Replication and Benchmarking in Software AnalyticsReplication and Benchmarking in Software Analytics
Replication and Benchmarking in Software Analytics
 
Writting Better Software
Writting Better SoftwareWritting Better Software
Writting Better Software
 
Zelditchetal workbookgeomorphoanalyses
Zelditchetal workbookgeomorphoanalysesZelditchetal workbookgeomorphoanalyses
Zelditchetal workbookgeomorphoanalyses
 
What's Comparable?
What's Comparable?What's Comparable?
What's Comparable?
 
Sbi simulation
Sbi simulationSbi simulation
Sbi simulation
 
ProductCamp Amsterdam Session 9 Rudy Katchow
ProductCamp Amsterdam Session 9 Rudy KatchowProductCamp Amsterdam Session 9 Rudy Katchow
ProductCamp Amsterdam Session 9 Rudy Katchow
 
White Paper: Branch Management and Atomic Merge in a Continuous Integration E...
White Paper: Branch Management and Atomic Merge in a Continuous Integration E...White Paper: Branch Management and Atomic Merge in a Continuous Integration E...
White Paper: Branch Management and Atomic Merge in a Continuous Integration E...
 
The Liquid Computing Paradigm
The Liquid Computing ParadigmThe Liquid Computing Paradigm
The Liquid Computing Paradigm
 
Automated Testing of NASA Software
Automated Testing of NASA SoftwareAutomated Testing of NASA Software
Automated Testing of NASA Software
 
GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...
GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...
GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...
 
GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...
GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...
GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Supporting the analysis of bug prevalence in software product lines with product genealogy

  • 1. © Fraunhofer IESE SUPPORTING THE ANALYSIS OF BUG PREVALENCE IN SOFTWARE PRODUCT LINES WITH PRODUCT GENEALOGY Thiago Burgos thiago.burgos@iese.fraunhofer.de Martin Becker martin.becker@iese.fraunhofer.de Elisa Nakagawa elisa@icmc.usp.br
  • 2. © Fraunhofer IESE 2 Fraunhofer-Institute for Experimental Software Engineering (IESE) Leading Institute for Software Engineering Founded in 1996 in Kaiserslautern, Germany 200 employees Focus on software engineering  Provide innovative and value-adding customer solutions with measurable effects  Advance the state-of-the art in software and system engineering  Promote the importance of empirically based software and system engineering www.iese.fraunhofer.de
  • 3. © Fraunhofer IESE 3 What is the problem?  Imagine that inside your SPL you discover one (major) BUG in one of your released products…  Are going to fix this bug only for this product?  Probably this same bug can be present in several other releases (of different variants/versions)!  The problem is: How to find out which other product releases also contain this same bug?
  • 4. © Fraunhofer IESE 4 Background  Bug Prevalence means the extent of products that are affected by a particular bug.  The term was derived from disease prevalence which is used in the medical world vocabulary, in the epidemiology field.  In single systems development, this concept should only concern with evolution in time.  Finding the bug prevalence of a certain bug is still a challenge and a highly relevant topic, since besides the evolution in time there is also the evolution in space (variants).
  • 5. © Fraunhofer IESE 5 Research Questions 1. Given a set of products from a product family, and a bug in one of them, which other products will exhibit the same bug (Bug Prevalence)? 2. If an asset is changed, which products should be affected by the propagation of this change? A similar type of analysis can be performed to provide support to these two research questions.
  • 7. © Fraunhofer IESE 7 The Analogy [2/2]  Phenotypes X Functional Behavior  Variation decision resulting in an observable behavior or characteristic.  Alleles x Variability Decisions  The allele (the chosen variation of the asset) that determines the phenotype (ex. the bug), not the gene itself (the asset).  Family Genealogy Tree X Product Genealogy Tree (PGT)  Hierarchical structure showing the path that the genes took during the familiy evolution.  PGT is composed by product releases The diagram shows a cell reproducing asexually Family Genealogy Tree Example
  • 8. © Fraunhofer IESE 8 Product Genealogy Approach  The Product Genealogy Approach was designed to support the analysis of bug prevalence.  Two main usage scenarios: 1. Before a bug fix, to identify the bug prevalence, and discover other products that this bug needs to be also fixed; and 2. After a change is performed, in order to identify the real impacts of the change on other products.
  • 9. © Fraunhofer IESE 9 Product Genealogy Approach Phases and steps
  • 10. © Fraunhofer IESE 10 Product Genealogy Tree UML Representation
  • 11. © Fraunhofer IESE 12 Example • Information for the PGT Creation (Phase 1) can be extracted from version control repository  Branching Structure (Variants)  Release Tags (Product Releases )  Merges (Propagations) • Depending on the the first analysis, a second round of analysis must be done with a broader scope (based on the PGT relationships) First scope of analysis
  • 12. © Fraunhofer IESE 13 Concluding Remarks and Future Work  It is less time consuming and more effective if we start analyzing the product releases with a reduced set of possibilities (with a higher probability of having the bug) compared to an initial multitude of products.  Bugs are real practical problems, and therefore the approach has a real chance to be applied in practice.  Major contributions The Product Genealogy Approach The Analogy Provides the foundation concepts for the approach
  • 13. © Fraunhofer IESE 14 Controller Future Contribution – Adaptive System (Out of the scope of task 3.5) Feature models µTVL PCL Features x 𝝙 PSL Products x Features PAL Products x Adaptations Product Adaptation Language Deployed Product Adaptation Infrastructure from Radu‘s Team Feature 1 Development Time Run Time PALMonitoring Gets PAL rules Sends information According to some conditions, automatically triggers the adaptation Contact: Thiago Burgos Fraunhofer-Platz 1 67663 Kaiserslautern Telefon +49(631) 6800-2262 Embedded Systems thiago.burgos@iese.fraunhofer.de Development www.iese.fraunhofer.de Thank you! Questions? Obrigado! Perguntas?

Editor's Notes

  1. and represents the measurement of all individuals affected by a certain disease.
  2. Familiy Generations x Product ReleasesWhether the product release is an evolution of a pre-vious release or a new dierent product derived from coreAsset
  3. Familiy Generations x Product ReleasesWhether the product release is an evolution of a previous release or a new different product derived from core Asset
  4. Makeclearthatthestepsaregenericand not dependent on anykindoftechnologyortool. But theimplementationoftheapproachcanbe different fromcasetocase.
  5. The product derivation from core assets and product evolution from previous version are represented using the UML dependency relationship with the «derives» stereotype.It is important to remember that since change propagations can be performed in any direction among the products, the PGT may loose its characteristics of a tree, but also they add valuable information regarding the genealogy of the products. Therefore, in this work we continue referring to it as PGT for the matter of the analogy described in Section 3.
  6. Phenotype!!
  7. By identifying the lines of code that are the root cause of the bug, it is also possible to verify at which point in the PGT these lines of code (badgenes) were introduced, and at which point in the PGT these lines of code were removed or changed.All the products between the two points (genes creation and removal) are great candidates to exhibit the same bug