SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
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


Mais conteúdo relacionado

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

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
 
Icse 2011 ds_1
Icse 2011 ds_1Icse 2011 ds_1
Icse 2011 ds_1
SAIL_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 Industry
Federico Tomassetti
 
Qat09 presentations dxw07u
Qat09 presentations dxw07uQat09 presentations dxw07u
Qat09 presentations dxw07u
Shubham Sharma
 

Semelhante 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

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
Chris Hunter
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Último (20)

Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 

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