SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
On
the
Impact
of
Feature

Dependencies
when
Maintaining

     Preprocessor‐based

    So<ware
Product
Lines


   Márcio
Ribeiro







Felipe
Queiroz







Paulo
Borba

   Társis
Tolêdo









Claus
Brabrand




Sérgio
Soares


                       {mmr3,
Cq,
phmb,
twt,
scbs}@cin.ufpe.br

                                              brabrand@itu.dk

Virtual
SeparaKon
of
Concerns
(VSoC)





                                        2

But
not
enough
for
Feature
Modularity…





                                          3

Problem

  Developers
can
introduce
compila?on
and
behavioral
                                                    

 errors
to
features
due
to
feature
dependencies…





                                                    4

…
leading
to
lower
producKvity

  Late
error
detecKon

    Developers
discover
the
problem
only
when
compiling
and

    execu?ng
the
problema?c
product



  Difficult
navigaKon

    Developers
not
aware
of
feature
dependencies


    Even
worse
when
using
VSoC:
features
are
hidden!





                                                                5

To
minimize
these

     problems:

Emergent
Interfaces




                       6

Emergent
Interfaces
in
a
nutshell





                                     7

Dependencies
captured!
Developers
can

focus
on
the
impacted
features…





                                         8

Feature
dependencies

 can
cause
problems




                        9

Emergent
Interfaces

 complement
VSoC




                       10

Agenda





          11

Study
secngs

  43
Preprocessor‐based
SoMware
Product
lines

    Java
and
C

    Different
sizes
and
domains



  Script
tool
for
compu?ng
two
metrics:

    MDi:
number
of
methods
with
preprocessor
direc?ves

    MDe:
number
of
methods
with
feature
dependencies





                                                           12

Feature
dependencies
our
tool
considers





                                           13

Effort
esKmaKon:

VSoC
vs.
Emergent
Interfaces





                            Number
of
Fragments




                                                   Number
of
Features

                                                                         14

Methods
selecKon

  Randomly
methods
selec?on

    Only
 methods
 that
 contain
 the
 feature
 dependencies
                                                            

    we
focus
on
this
work



  Which
methods
should
we
select?

    Many
fragments:
favoring
emergent
interfaces

    Few
fragments:
no
differences





                                                                15

Groups

  Two
groups:





  Why
2
as
a
threshold?

    Differences
between
both
approaches
appear
from
2

    1:
both
approaches
have
always
the
same
effort
es?ma?on



                                                           16

Methods
selecKon
to
fit
the
groups

  Propor?onal
selec?on
according
to
each
SPL




  Example:
libxml2

    Group
1:
953
methods
(8
methods
selected)

    Group
2:
125
methods
(1
method
selected)



  Majority
(23
product
lines)

    1:1





                                                  17

General
algorithm
for
effort
esKmaKon

  While
we
do
not
reach
3
replica?ons

    For
each
product
line

       Randomly
 select
 methods
 propor?onally
 according
 to
 the

        groups

       For
each
method


            Randomly
select
a
variable

            From
 this
 variable,
 compute
 NoFa,
 NoFe,
 and
 LOC
 for
 both

             approaches





                                                                                  18

Results





           19

QuesKon
1:
how
oMen

methods
with
preprocessor

 direc?ves
contain
feature

      dependencies?



                              20

Frequency
of
feature
dependencies

                    Methods
with
Dependencies

                             Methods
with
DirecKves





                                                   21

Our
data
reveal
that…

  Methods
 with
 direc?ves
 that
 also
 contain
 the

  feature
dependencies
we
studied:

    Max:
88%
(mobile‐rss)

    Min:
12%
(lampiro)




  So,
 the
 feature
 dependencies
 we
 considered
 may

  be
common
in
the
43
SPLs
we
analyzed

    Only
6
SPLs
have
MDe/MDi
<
50%





                                                           22

QuesKon
2:
how
feature

  dependencies
impact

maintenance
effort
when

using
VSoC
and
emergent

       interfaces?



                           23

SelecKon:
methods,
groups,
SPLs

  For
each
replica?on:
115
methods




  Methods
selec?on
according
to
each
product
line





                                                      24

Emergent
Interfaces
effort
esKmaKon

  Effort
es?ma?on
in
all
SPLs





  Methods
distribu?on
by
groups:





                                      25

When
increasing
the
number
of

fragments…

  …
the
 percentage
 of
 methods
 where
 Emergent 

  Interfaces
achieve
effort
reduc?on
also
increases…

                                  100%

    EsKmaKon
of
Effort
reducKon





                                   95%


                                   90%


                                   85%

                                                                               Replica?on
1

                                   80%
                                        Replica?on
2

                                                                               Replica?on
3

                                   75%


                                   70%


                                   65%

                                          >
2
    >
3
   >
4
   >
5
    >
6


                                                 Number
of
Fragments
                          26

Threats
to
validity

  Metrics
and
effort
es?ma?on

    Time
beher
measures
effort…


    …
but
the
metrics
are
s?ll
useful

    Overhead
to
compute
emergent
interfaces




  Dependencies

    Interprocedural,
chain
of
assignments…
(not
computed)

    So,
the
numbers
we
presented
might
be
even
higher…





                                                              27

Concluding
remarks

  How

      oMen
 the
 feature
 dependencies
 we
 analyzed

 occur
in
prac?ce?

    Max:
88%;
Min:
12%;
Majority
>
50%




  Emergent
interfaces
can
achieve
effort
reduc?on

    For
the
 majority
 of
 the
 studied
 methods
 (65%):
 same

     effort
of
VSoC

    Nega?ve
impact
of
VSoC
is
not
so
common



  More

       significant
 effort
 reduc?ons:
 methods
 with

 many
fragments
(Group
1)


                                                               28


Más contenido relacionado

Similar a On the Impact of Feature Dependencies when Maintaining Preprocessor-based Software Product Lines

Cross-project defect prediction
Cross-project defect predictionCross-project defect prediction
Cross-project defect predictionThomas Zimmermann
 
A Tale of Experiments on Bug Prediction
A Tale of Experiments on Bug PredictionA Tale of Experiments on Bug Prediction
A Tale of Experiments on Bug PredictionMartin Pinzger
 
Comparing the code quality of ECMs
Comparing the code quality of ECMsComparing the code quality of ECMs
Comparing the code quality of ECMsNuxeo
 
Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?
Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?
Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?Denim Group
 
20100309 01 - Maintenance and re-engineering (McCabe)
20100309 01 - Maintenance and re-engineering (McCabe)20100309 01 - Maintenance and re-engineering (McCabe)
20100309 01 - Maintenance and re-engineering (McCabe)LeClubQualiteLogicielle
 
Mergebase dont-let-vulns-run-wild
Mergebase dont-let-vulns-run-wildMergebase dont-let-vulns-run-wild
Mergebase dont-let-vulns-run-wildJaredHarris18
 
Survey on Software Defect Prediction
Survey on Software Defect PredictionSurvey on Software Defect Prediction
Survey on Software Defect Predictionlifove
 
Icse 2011 ds_1
Icse 2011 ds_1Icse 2011 ds_1
Icse 2011 ds_1SAIL_QU
 
Eclipse Florence Day: Modeling in the Italian Industry
Eclipse Florence Day: Modeling in the Italian IndustryEclipse Florence Day: Modeling in the Italian Industry
Eclipse Florence Day: Modeling in the Italian IndustryFederico Tomassetti
 
Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)
Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)
Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)lifove
 
Qat09 presentations dxw07u
Qat09 presentations dxw07uQat09 presentations dxw07u
Qat09 presentations dxw07uShubham Sharma
 
Architectural Design Pattern: Android
Architectural Design Pattern: AndroidArchitectural Design Pattern: Android
Architectural Design Pattern: AndroidJitendra Kumar
 
Predicting Method Crashes with Bytecode Operations
Predicting Method Crashes with Bytecode OperationsPredicting Method Crashes with Bytecode Operations
Predicting Method Crashes with Bytecode OperationsThomas Zimmermann
 
Survey on Software Defect Prediction
Survey on Software Defect PredictionSurvey on Software Defect Prediction
Survey on Software Defect PredictionSung Kim
 
Janus - Automation of duplicate code detection and refactoring
Janus - Automation of duplicate code detection and refactoringJanus - Automation of duplicate code detection and refactoring
Janus - Automation of duplicate code detection and refactoringUmbertoAzadi
 
Next generation of frontend architectures
Next generation of frontend architecturesNext generation of frontend architectures
Next generation of frontend architecturesluca mezzalira
 
A tale of experiments on bug prediction
A tale of experiments on bug predictionA tale of experiments on bug prediction
A tale of experiments on bug predictionMartin Pinzger
 
Towards Malware Decompilation and Reassembly
Towards Malware Decompilation and ReassemblyTowards Malware Decompilation and Reassembly
Towards Malware Decompilation and ReassemblyMarcus Botacin
 

Similar a On the Impact of Feature Dependencies when Maintaining Preprocessor-based Software Product Lines (20)

Cross-project defect prediction
Cross-project defect predictionCross-project defect prediction
Cross-project defect prediction
 
A Tale of Experiments on Bug Prediction
A Tale of Experiments on Bug PredictionA Tale of Experiments on Bug Prediction
A Tale of Experiments on Bug Prediction
 
Comparing the code quality of ECMs
Comparing the code quality of ECMsComparing the code quality of ECMs
Comparing the code quality of ECMs
 
poster_3.0
poster_3.0poster_3.0
poster_3.0
 
Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?
Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?
Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?
 
ASE06.ppt
ASE06.pptASE06.ppt
ASE06.ppt
 
20100309 01 - Maintenance and re-engineering (McCabe)
20100309 01 - Maintenance and re-engineering (McCabe)20100309 01 - Maintenance and re-engineering (McCabe)
20100309 01 - Maintenance and re-engineering (McCabe)
 
Mergebase dont-let-vulns-run-wild
Mergebase dont-let-vulns-run-wildMergebase dont-let-vulns-run-wild
Mergebase dont-let-vulns-run-wild
 
Survey on Software Defect Prediction
Survey on Software Defect PredictionSurvey on Software Defect Prediction
Survey on Software Defect Prediction
 
Icse 2011 ds_1
Icse 2011 ds_1Icse 2011 ds_1
Icse 2011 ds_1
 
Eclipse Florence Day: Modeling in the Italian Industry
Eclipse Florence Day: Modeling in the Italian IndustryEclipse Florence Day: Modeling in the Italian Industry
Eclipse Florence Day: Modeling in the Italian Industry
 
Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)
Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)
Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)
 
Qat09 presentations dxw07u
Qat09 presentations dxw07uQat09 presentations dxw07u
Qat09 presentations dxw07u
 
Architectural Design Pattern: Android
Architectural Design Pattern: AndroidArchitectural Design Pattern: Android
Architectural Design Pattern: Android
 
Predicting Method Crashes with Bytecode Operations
Predicting Method Crashes with Bytecode OperationsPredicting Method Crashes with Bytecode Operations
Predicting Method Crashes with Bytecode Operations
 
Survey on Software Defect Prediction
Survey on Software Defect PredictionSurvey on Software Defect Prediction
Survey on Software Defect Prediction
 
Janus - Automation of duplicate code detection and refactoring
Janus - Automation of duplicate code detection and refactoringJanus - Automation of duplicate code detection and refactoring
Janus - Automation of duplicate code detection and refactoring
 
Next generation of frontend architectures
Next generation of frontend architecturesNext generation of frontend architectures
Next generation of frontend architectures
 
A tale of experiments on bug prediction
A tale of experiments on bug predictionA tale of experiments on bug prediction
A tale of experiments on bug prediction
 
Towards Malware Decompilation and Reassembly
Towards Malware Decompilation and ReassemblyTowards Malware Decompilation and Reassembly
Towards Malware Decompilation and Reassembly
 

Último

Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdfDanh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdfQucHHunhnh
 
How to Manage Closest Location in Odoo 17 Inventory
How to Manage Closest Location in Odoo 17 InventoryHow to Manage Closest Location in Odoo 17 Inventory
How to Manage Closest Location in Odoo 17 InventoryCeline George
 
Discover the Dark Web .pdf InfosecTrain
Discover the Dark Web .pdf  InfosecTrainDiscover the Dark Web .pdf  InfosecTrain
Discover the Dark Web .pdf InfosecTraininfosec train
 
The basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptxThe basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptxheathfieldcps1
 
Morse OER Some Benefits and Challenges.pptx
Morse OER Some Benefits and Challenges.pptxMorse OER Some Benefits and Challenges.pptx
Morse OER Some Benefits and Challenges.pptxjmorse8
 
factors influencing drug absorption-final-2.pptx
factors influencing drug absorption-final-2.pptxfactors influencing drug absorption-final-2.pptx
factors influencing drug absorption-final-2.pptxSanjay Shekar
 
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17Celine George
 
Championnat de France de Tennis de table/
Championnat de France de Tennis de table/Championnat de France de Tennis de table/
Championnat de France de Tennis de table/siemaillard
 
Essential Safety precautions during monsoon season
Essential Safety precautions during monsoon seasonEssential Safety precautions during monsoon season
Essential Safety precautions during monsoon seasonMayur Khatri
 
MichaelStarkes_UncutGemsProjectSummary.pdf
MichaelStarkes_UncutGemsProjectSummary.pdfMichaelStarkes_UncutGemsProjectSummary.pdf
MichaelStarkes_UncutGemsProjectSummary.pdfmstarkes24
 
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文中 央社
 
The Ball Poem- John Berryman_20240518_001617_0000.pptx
The Ball Poem- John Berryman_20240518_001617_0000.pptxThe Ball Poem- John Berryman_20240518_001617_0000.pptx
The Ball Poem- John Berryman_20240518_001617_0000.pptxNehaChandwani11
 
Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).Mohamed Rizk Khodair
 
Features of Video Calls in the Discuss Module in Odoo 17
Features of Video Calls in the Discuss Module in Odoo 17Features of Video Calls in the Discuss Module in Odoo 17
Features of Video Calls in the Discuss Module in Odoo 17Celine George
 
How to Analyse Profit of a Sales Order in Odoo 17
How to Analyse Profit of a Sales Order in Odoo 17How to Analyse Profit of a Sales Order in Odoo 17
How to Analyse Profit of a Sales Order in Odoo 17Celine George
 
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdfINU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdfbu07226
 
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjjStl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjjMohammed Sikander
 
How to Manage Notification Preferences in the Odoo 17
How to Manage Notification Preferences in the Odoo 17How to Manage Notification Preferences in the Odoo 17
How to Manage Notification Preferences in the Odoo 17Celine George
 

Último (20)

Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdfDanh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
 
How to Manage Closest Location in Odoo 17 Inventory
How to Manage Closest Location in Odoo 17 InventoryHow to Manage Closest Location in Odoo 17 Inventory
How to Manage Closest Location in Odoo 17 Inventory
 
“O BEIJO” EM ARTE .
“O BEIJO” EM ARTE                       .“O BEIJO” EM ARTE                       .
“O BEIJO” EM ARTE .
 
Discover the Dark Web .pdf InfosecTrain
Discover the Dark Web .pdf  InfosecTrainDiscover the Dark Web .pdf  InfosecTrain
Discover the Dark Web .pdf InfosecTrain
 
The basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptxThe basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptx
 
Morse OER Some Benefits and Challenges.pptx
Morse OER Some Benefits and Challenges.pptxMorse OER Some Benefits and Challenges.pptx
Morse OER Some Benefits and Challenges.pptx
 
factors influencing drug absorption-final-2.pptx
factors influencing drug absorption-final-2.pptxfactors influencing drug absorption-final-2.pptx
factors influencing drug absorption-final-2.pptx
 
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
 
Championnat de France de Tennis de table/
Championnat de France de Tennis de table/Championnat de France de Tennis de table/
Championnat de France de Tennis de table/
 
Essential Safety precautions during monsoon season
Essential Safety precautions during monsoon seasonEssential Safety precautions during monsoon season
Essential Safety precautions during monsoon season
 
MichaelStarkes_UncutGemsProjectSummary.pdf
MichaelStarkes_UncutGemsProjectSummary.pdfMichaelStarkes_UncutGemsProjectSummary.pdf
MichaelStarkes_UncutGemsProjectSummary.pdf
 
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
 
Operations Management - Book1.p - Dr. Abdulfatah A. Salem
Operations Management - Book1.p  - Dr. Abdulfatah A. SalemOperations Management - Book1.p  - Dr. Abdulfatah A. Salem
Operations Management - Book1.p - Dr. Abdulfatah A. Salem
 
The Ball Poem- John Berryman_20240518_001617_0000.pptx
The Ball Poem- John Berryman_20240518_001617_0000.pptxThe Ball Poem- John Berryman_20240518_001617_0000.pptx
The Ball Poem- John Berryman_20240518_001617_0000.pptx
 
Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).
 
Features of Video Calls in the Discuss Module in Odoo 17
Features of Video Calls in the Discuss Module in Odoo 17Features of Video Calls in the Discuss Module in Odoo 17
Features of Video Calls in the Discuss Module in Odoo 17
 
How to Analyse Profit of a Sales Order in Odoo 17
How to Analyse Profit of a Sales Order in Odoo 17How to Analyse Profit of a Sales Order in Odoo 17
How to Analyse Profit of a Sales Order in Odoo 17
 
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdfINU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
 
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjjStl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
 
How to Manage Notification Preferences in the Odoo 17
How to Manage Notification Preferences in the Odoo 17How to Manage Notification Preferences in the Odoo 17
How to Manage Notification Preferences in the Odoo 17
 

On the Impact of Feature Dependencies when Maintaining Preprocessor-based Software Product Lines