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


More Related Content

PDF
Avidgeo String Manipulation : Getting Started with Python and ArcGIS
PPT
5 Secrets To Never Getting No 1
PPT
EDSE 442
PPT
PDF
Featureous: An Integrated Approach To Location, Analysis And Modularization O...
PDF
Composing your Compositions of Variability Models (Models 2013 presentation)
PDF
Changes and Bugs: Mining and Predicting Development Activities
Avidgeo String Manipulation : Getting Started with Python and ArcGIS
5 Secrets To Never Getting No 1
EDSE 442
Featureous: An Integrated Approach To Location, Analysis And Modularization O...
Composing your Compositions of Variability Models (Models 2013 presentation)
Changes and Bugs: Mining and Predicting Development Activities

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

PDF
SSBSE10.ppt
PPTX
Agile and CMMI - a potential blend
PDF
Software Systems as Cities: a Controlled Experiment
PDF
Personalised Graph-Based Selection of Web APIs
PPTX
Software estimation techniques
PDF
Software Estimation Methodology - MVC Points
PDF
TEFSE05.ppt
PDF
A Framework for Classifying and Comparing Architecture-Centric Software Evolu...
PDF
How to Find Relevant Data for Effort Estimation
KEY
Profiling blueprints
PDF
2011 ecoop
PPTX
Chapter 12
PPTX
Benevol 2011
PDF
An Approach to Recover Feature Models From Object-Oriented Source Code
PPTX
The Fluent Interface Pattern
PPT
01 J2EE patrones
PDF
Detection of Seed Methods for Quantification of Feature Confinement
PPTX
Issues in software cost estimation
PDF
Bug Prediction Based on Fine-Grained Module Histories
PPTX
Estimating in Software Development: No Silver Bullets Allowed
SSBSE10.ppt
Agile and CMMI - a potential blend
Software Systems as Cities: a Controlled Experiment
Personalised Graph-Based Selection of Web APIs
Software estimation techniques
Software Estimation Methodology - MVC Points
TEFSE05.ppt
A Framework for Classifying and Comparing Architecture-Centric Software Evolu...
How to Find Relevant Data for Effort Estimation
Profiling blueprints
2011 ecoop
Chapter 12
Benevol 2011
An Approach to Recover Feature Models From Object-Oriented Source Code
The Fluent Interface Pattern
01 J2EE patrones
Detection of Seed Methods for Quantification of Feature Confinement
Issues in software cost estimation
Bug Prediction Based on Fine-Grained Module Histories
Estimating in Software Development: No Silver Bullets Allowed
Ad

Recently uploaded (20)

PDF
Race Reva University – Shaping Future Leaders in Artificial Intelligence
PDF
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
PDF
Journal of Dental Science - UDMY (2022).pdf
PDF
CRP102_SAGALASSOS_Final_Projects_2025.pdf
PDF
Empowerment Technology for Senior High School Guide
PPTX
Unit 4 Computer Architecture Multicore Processor.pptx
PPTX
Education and Perspectives of Education.pptx
PDF
IP : I ; Unit I : Preformulation Studies
PDF
Climate and Adaptation MCQs class 7 from chatgpt
PDF
LIFE & LIVING TRILOGY- PART (1) WHO ARE WE.pdf
PPTX
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
PPTX
A powerpoint presentation on the Revised K-10 Science Shaping Paper
PDF
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
PDF
International_Financial_Reporting_Standa.pdf
PDF
Hazard Identification & Risk Assessment .pdf
PDF
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf
PDF
Complications of Minimal Access-Surgery.pdf
PDF
My India Quiz Book_20210205121199924.pdf
PDF
AI-driven educational solutions for real-life interventions in the Philippine...
PDF
semiconductor packaging in vlsi design fab
Race Reva University – Shaping Future Leaders in Artificial Intelligence
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
Journal of Dental Science - UDMY (2022).pdf
CRP102_SAGALASSOS_Final_Projects_2025.pdf
Empowerment Technology for Senior High School Guide
Unit 4 Computer Architecture Multicore Processor.pptx
Education and Perspectives of Education.pptx
IP : I ; Unit I : Preformulation Studies
Climate and Adaptation MCQs class 7 from chatgpt
LIFE & LIVING TRILOGY- PART (1) WHO ARE WE.pdf
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
A powerpoint presentation on the Revised K-10 Science Shaping Paper
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
International_Financial_Reporting_Standa.pdf
Hazard Identification & Risk Assessment .pdf
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf
Complications of Minimal Access-Surgery.pdf
My India Quiz Book_20210205121199924.pdf
AI-driven educational solutions for real-life interventions in the Philippine...
semiconductor packaging in vlsi design fab
Ad

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