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

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
 

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

Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Último (20)

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
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
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
 

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