Professional Documents
Culture Documents
In
this
the
paper,
the
phrase
methods,
techniques
and
approaches
is
intended
to
refer
to
any
form
of
soft
or
hard
means
proposed
to
address
a
challenge
in
the
area
of
software
product
lines.
1. Introduction
The diversity and complexity of stakeholders requirements and demands for high quality software
systems urge the need for approaches which enable effective reusability in developing software
systems. Software Product Line Engineering (SPLE) has proven to be a paradigm which provides
strategic software reuse [1], allowing organizations to reduce development costs and time to
market and increase product quality [36]. SPLE shifts from developing a single software system to
developing a set of software systems which share a common and managed set of features [2].
Hence, SPLE can handle various stakeholders requirements within a particular domain of interest
and builds new products using a stable collection of existing core assets.
In software product lines, reusability is considered as a first class notion; a lifecycle is introduced
for developing reusable artifacts (development for reuse) and a lifecycle is introduced for
developing software systems from reusable artifacts (development with reuse) [3]. On the one
hand, commonality and variability modeling are utilized in the first lifecycle (also known as
domain engineering lifecycle) to document common assets and their variability. On the other hand,
configuration and decision making mechanisms are employed in the second life-cycle (also known
as application engineering lifecycle) to derive software systems fitted to stakeholders
requirements.
There are many studies in software product lines sharing similar aspects that confer various
methods, techniques, and approaches of software product line engineering and the assured benefits
of the practices. These studies propose new and enhanced methods, techniques, and approaches to
software product line development. A common characteristic of these studies is their advantages
and improvements over traditional software development and existing software product line
practices. In addition, many software engineering firms put claim to the fortune of realizing the
benefits of adopting and utilizing the software product line approach [36]. However, not much is
known about what real evidence exists that supports the proclaimed benefits inherited by software
product line engineering practices.
This systematic review seeks to review and summarize empirical evidence reported between 2006
and 2011 from academia and industry on software product lines methods, techniques, and
approaches. The objective of this review is to:
Search and consolidate empirical evidence supporting software product line methods,
techniques, and approaches evaluated in academia and industry;
This review defines three research questions (see Section 2) that are answered based on the
gathered evidence. Each research question is supported by an underpinning of sub-research
questions which will help define the quality of research evaluations. Based on the nature of this
research, the contribution of this review paper should be of interest to those who want to learn
from experience while planning future studies on software product lines and those who seek
evidence to support their decision-making process for adopting software product line practices or
to improve on their existing practices based on the accumulated results.
This paper is structured as follows. Section 2 explains our motivation and the research questions
that this work intends to answer. Section 3 provides an overview of the design of this systematic
literature review. Section 4 discusses the execution of the review along with threats to validity.
Section 5 presents and discusses the results of the review in reference to the research questions
outlined in Section 2. Section 6 highlights and discusses the main findings derived from the
analysis of the results and points out the recommendations for empirical studies in software
product lines. After reviewing the related work and comparing our systematic review in that
context in Section 7, we conclude the paper and highlight possible future work.
RQ1: What software product line methods, techniques, and/or approaches exist today and
what is the context in which they have been proposed?
RQ2: What is the state of evaluations being conducted on software product line
methods, techniques, and/or approaches?
RQ3: To what extent do the evaluations support the adoption of software product line
methods, techniques, and/or approaches?
In order to provide proper levels of details for abovementioned research questions, these questions
are refined into several research questions. All research questions and their descriptions are
recorded in Table 1.
Research Question
Description
1.3
1.4
1.1
1.2
2
2.1
2.2
2.3
2.4
2.5
3.1
3. Review Method
This section provides the details surrounding the review protocol developed to guide the conduct
of this review. It discusses the systematic review design, data source and search strategy, study
selection criteria, quality assessment criteria, data extraction procedures, and data synthesis
procedures.
SpringerLink
Description
Search this database from ACM (Association for Computing Machinery) to access quality
information in the scientific computing field. Includes full text articles from ACM magazines,
journals and conference proceedings as well as publications from affiliated organizations.
Search this database to find research materials in the areas of computing science and electrical
engineering.
ScienceDirect is Elseviers digital library that is one of the world's largest providers of
scientific, technical and medical (STM) literature. Access a selection of journals from Elsevier
Science covering all fields of science (including journal titles from Business, Psychology, Arts
and Humanities, and Social Science).
Formerly known as Springer-Verlag Journals, from this site one can access hundreds of
Springer-Verlag and Kluwer journal titles, with considerable full text online. Coverage
includes Chemical Sciences, Computer Sciences, Economics, Engineering, Environmental
Sciences, Geosciences, Law, Life Sciences, Mathematics, Medicine, Physics, and Astronomy.
Wiley Online Library, formerly known as Wiley InterScience now includes journal content
formerly on Blackwell Synergy, providing access to more than 3 million articles across 2300+
journals. Coverage includes business, computer science, criminology, education, health, law,
mathematics, psychology, sciences and social sciences.
Retrieving research papers from the above databases required a specific combination of keywords
that would establish the identity of papers that suggest an evaluation of a Software Product Line
method, technique, or approach was conducted. The search terms used were tested and tried to
establish accuracy of paper identification and to ensure the identification process was robust
enough to minimize the risk of missing important and relevant papers. This was ensured by several
rounds of revision and based on the input from all of the authors of this paper. The structure of the
search strategy is based on the main concept being examined in the review with the goal of finding
empirical evaluations of Software Product Line methods, techniques, or approaches.
Table 3 presents the search terms used to identify potentially relevant articles in the computing and
information technology sciences literature. The population signifies the search for Software
Product Lines as well as Software Product Families as these two terms of reference are
interchangeable. The intervention signifies that an evaluation should have been performed in the
research paper.
Table 3: Search Terms used to find software product line literature
Population
software product line
OR software product
famil*
AND
AND
Intervention
empiric* OR experiment* OR experience* OR lesson learned OR lessons learned
OR lesson learnt OR lessons learnt OR evaluat* OR validat* OR stud* OR case*
OR example* OR survey* OR investigat* OR analy* OR demo*
Table 4: Inclusion Criteria for determining the papers for the study
Inclusion Criteria
Rationale
Table 5: Exclusion criteria for filtering out papers for the study
Exclusion Criteria
Rationale
Theoretical context describing the theoretical aspects of the proposed software product
line method, technique, or approach creates a frame of reference from which the research
objectives are derived [24][25].
Research Design combining the guidelines for empirical research design recommended
in [24][25][26] consensus was given to specific aspects of research design that were
deemed appropriate for assessing the quality of evaluations. These aspects include clearly
stated research objectives supported by research questions, domain context, samples and
instruments used to carry out the evaluation, and the data collection and analysis
procedures. Describing the research design includes stating research objectives that are
supported by research questions [24][25][26].
of the research [27]. This can be stated in various ways such as in a problem statement,
hypotheses or objective/goal statement. The research objective should be supported by
research questions that state what is needed to fulfill the objective [24][25]. Moreover,
Kitchenham [24] asserts defining the hypothesis correctly is the most important part of
designing empirical research. Equally important is describing the data collection and
analysis procedures. Describing the data collection and analysis procedures ensures that
the evaluation can be easily replicated and the results are analyzed correctly [24]. A welldefined research design has the advantage for subsequent analysis to be straightforward
and clear [24].
Research Analysis interpreting the results of an evaluation and relating the results back
to the research objectives ensures the results are statistically or practically significant and
valid [24]. Therefore, reporting the results with clear interpretation, communicating
assumptions made, threats to validity and lessons learned is important for the reader to
make sure the findings are reasonable and trustworthy [24][25][26].
Based on the attributes listed above, the following quality assessment checklist was created (see
Table 6).
Table 6: Quality Assessment Checklist
Attribute
Theoretical context
Research Design
Research Analysis
Research Conclusions
Criteria
Does the study provide research questions that will support or reject the problem,
hypotheses or objective/goal statement?
Does the study describe the domain which the evaluation was conducted in?
Does the study describe samples and instruments used to conduct the evaluation?
In order for the criteria in the Quality Assessment Checklist to provide a way of weighting the
significance of individual primary studies, each question will be scored based on the answer
provided. The questions are intended to be close-ended questions meaning there are limited
responses (Yes/Somewhat/No), according to [6], which are respectively assigned scoring points of
(1.0/0.5/0.0). This scoring mechanism assists with the rendition of variances in study outcomes
which will in turn determine the quality of each individual study and the strength of inferences.
Property
Method
Values
The method name provided in
the reviewed literature.
The area of software product line
development.
Description
The name of the method under evaluation (if
the author provides one).
The area of software product line
development which the method is intended
to provide a solution for.
RQ Mappings
RQ 1
Problem Area
Project Focus
Product Management,
Domain Engineering,
Product Engineering,
Not Mentioned
RQ 1.2
Project
(Lifecycle)
Activity
RQ 1.3
Method
described
1.
RQ 1.4
2.
3.
RQ 1.1
4.
Research
Method
Context
Subjects
Scale
evaluation
10
11
the
method
the method
evaluate the
The type of
RQ 2,
RQ 2.1,
RQ 2.5
RQ 3
Academia,
Industry
RQ 2,
RQ 2.2,
RQ 2.5
RQ 3
Practitioner,
Researcher,
Student
Toy example/Prototype,
Down-scaled real example,
Industrial
Study designed
described
Yes
No
Somewhat
Study
reporting
described
Yes
No
Somewhat
RQ 2,
RQ 2.3,
RQ 2.5
RQ 3
RQ 2,
RQ 2.4,
RQ 2.5
RQ 3
RQ 3,
RQ 3.1
of
Case Study,
Experimental,
Survey,
Post-mortem Analysis,
Other
RQ 3,
RQ 3.1
Properties 1-5 are intended to provide insight into RQ1: What software product line methods,
techniques, and/or approaches exist today? Creating an inventory of software product line
methods, techniques, and approaches that includes method names, method descriptions,
targeted problem areas, targeted project lifecycles and activities gives a snapshot of existing
software product line methods, techniques, and approaches being evaluated.
10
Properties 6-9 are intended to provide insight into RQ2: What is the state of evaluations
beings conducted on software product line methods, techniques, and/or approaches?
Determining the state of software product line method evaluations takes into account the
research method used, the context which the evaluation took place, the subjects that took part
in the evaluation and the scale of the evaluation. These four properties describe the context of
the evaluations studied and provide adequate information to develop an understanding of the
state of evaluations.
Properties 6-12 are intended to provide insight into RQ3: To what extent do the evaluations
support the adoption of software product line methods, techniques, and/or approaches? For a
software product line method, technique or approach to be considered for adoption a few
things need to be considered. The context which the method, technique or approach was
evaluated is an important factor because the degree of realism influences how applicable the
evidence is in other organizational environments. The quality of research design and reporting
is also a major influential factor to adoption because it directly affects the trustworthiness of
evidence.
11
found.. Some authors may report the activities differently, mention alternative activities, or not
mention an activity. In this event, a general impression will be applied based on the reviewers
conclusions. If a value cannot be determined then unknown will be applied.
Property #5 Method described: This propertys value indicates how the method was reported. Six
questions related to the method description are asked and will contribute to the scoring of this
property. These questions are listed under the study quality assessment criteria section.
Property #6 Research Method: This propertys values are in accordance to the empirical research
methods discussed in [27][30]. These research methods are namely experiment, case-study, survey,
and post-mortem analysis. Other types of research methods are identified (i.e. Action Research)
will be tagged as Other but reported based on their classification.
Property #7 Context: This propertys values indicate whether the evaluation occurred in an
industrial setting or an academic setting. If the context is not mentioned then it will be assumed the
evaluation was conducted in an academic setting.
Property #8 Subjects: This propertys values indicate the type of participants observed during the
evaluation. Participants may include practitioners, researchers, or students. If no participants are
identified then it will be assumed the participants are the authors of the study and will be classified
as researchers.
Property #9 Scale of Evaluation: This propertys values signify the size of evaluation conducted
during the study. Evaluations are conducted on a small, medium, or large scale ranging from
prototypes/toy examples, down-scaled real-world examples, to industrial size projects. Open
source software product lines such as Berkeley DB will be classified as industrial scale
evaluations.
Property #10: Study Design described: This propertys value indicates how the study was
designed. Five questions related to the design of the study are asked and will contribute to the
scoring of this property. These questions are listed in the study quality assessment criteria section.
Property #11: Study Reporting described: This propertys value indicates how the study was
reported. Eight questions related to the reporting aspect of the study are asked and will contribute
to the scoring of this property. These questions are listed in the study quality assessment criteria
section.
12
2 http://www.citeulike.org/
13
al. [30], Biolchini et al.[31], and Petersen [41] to create the review protocol. However, it was
Kitchenham [5] that was the primary source of guidance. The review protocol was prepared by the
first author and was then reviewed by the second author and consequently by the other two authors
to verify whether research questions were formulated correctly; whether the search strings were
according to the research questions, and whether the data to be extracted would be proper to
address the research questions. Based on feedback provided in the discussion over research
protocol, improvements were made to the research questions, search strategy, study selection
criteria, quality assessment checklist, and data extraction strategy.
14
Consequently, problems with data extraction descriptions will cause problems in classification.
Published research may be of poor quality meaning the reports are written poorly or ambiguously
and at times fail to include relevant data [30]. This makes it difficult to fit the data extracted from
the papers into the chosen categories of the data extraction properties. Hence, it was necessary to
validate the data extraction properties against credible sources (i.e. experts in the field of empirical
research and software product lines).
The data extraction properties 1 and 2 were sourced directly from the primary studies reviewed in
this study. Each study reported the name and description of their proposed method, technique or
approach differently and the problem areas which their solution targeted were also reported
differently. Therefore, at best the verbatim names and descriptions of methods, techniques or
approaches and the targeted problem area were reported based on the information provided in the
source papers. In this circumstance, the extracted information was discussed between the authors
and the information was verified. Therefore, we had full agreement on names and descriptions of
the methods at the end of data extraction process.
The data extraction properties 3 and 4 which identified Project Timelines and Project Activities
were sourced from the Wikipedia article for Product Family Engineering. However, knowing that
Wikipedia is not a credible source of information, further investigation was conducted into one of
the articles listed references [36]. Pohl et al. [36] published book Software product line
engineering foundations, principles, and techniques was used for validation and found the
information in the Wikipedia article to be acceptable.
The data extraction property 6 was sourced by [27]. Wohlin et al. [27] provided a discussion on
empirical research methods in web and software engineering. In their discussion they identified
four research methods: experiments, case studies, surveys, and post-mortem analysis. Furthermore,
these research methods are supported by Easterbrook et al. [37] on selection of empirical methods
for software engineering research.
The data extraction properties 7 - 11 were chosen from a consensual perspective after reviewing
the recommendations made in [24][25][26]Error! Reference source not found.. Kitchenham et
al. [24] produced a set of preliminary guidelines for empirical research in software engineering
which are intended to assist researchers in designing, conducting, and evaluating empirical studies.
Runeson and Host [25] produced guidelines for conducting and reporting case study research in
software engineering which provides empirically derived and evaluated checklists for researchers
and readers of case study research. Jedlitschka and Ciolkowski [26] produced reporting guidelines
for experiments in software engineering which provides guidance on the expected content of
reporting sections of empirical studies. Finally, Wieringa [38] created a unified checklist for
observational and experimental research in software engineering which identifies important
questions to be answered in experimental and case study research design and reports. Interestingly,
Wieringa [38] cites [24][25][26] in his work and examines commonalities between [24][25][26]
and CONSORT [39][40] in order to form his unified checklist.
Data classification proved to be without certainty since the studies under review did not provide
precise answers to the data extraction criteria. Many properties were not described correctly or
15
mentioned at all. In these circumstances, Kitchenham [5] and Biolchini et al. [31] recommend
contacting the author of a questionable study to assist in resolving uncertainties and provide clarity
to unknowns. However, Biolchini et al. [31] provides an alternative suggestion to contacting
authors which allows for general impressions of subjective evidence to be made by the reviewer.
Due to time constraints, the option to make general impressions on subjective evidence was used.
Again, in this circumstance, the extracted information was discussed between the authors and
agreement on the information was obtained.
5.1.1. What problem area does the Software Product Line method target
(RQ1.1)?
Unlike the project lifecycles and project activities, the problem areas targeted by the software
product line methods were regularly mentioned in the reviewed articles. Many methods targeted a
variety of problem areas. Table 8 shows that Feature Modeling is represented the most by 21
papers, followed by Commonality and Variability Management (CVM) with 15 papers and
Requirements Management with 14 papers. Visualization is represented the least by only 1 paper,
followed by Process Evaluation and Improvement with 4 papers and Adoption with 5 papers. A
graphical representation of the results is presented in Figure 2. The results for each individually
reviewed paper in regards to RQ1.1 can also be viewed by referring to Table 29 in Appendix C.
Number
21
Percentage
26.58
16
CVM
REQ
EAM
ARC
PDR
COD
TEST
CON
QCL
ADP
PRO
AUTO
PRM
VIS
DOC
15
14
13
10
10
8
8
7
7
5
4
3
3
1
1
18.99
17.72
16.45
12.66
12.66
10.13
10.13
8.86
8.86
6.33
5.06
3.80
3.80
1.26
1.26
5.1.2. What is the project lifecycle focus of the Software Product Line
method (RQ1.2)?
The project lifecycle focus targeted by the software product line methods were rarely mentioned in
the reviewed articles. Out of the 79 articles, 64 did not specifically mention the project lifecycle
which the software product line method targeted. The absence of project lifecycle reporting
generated the need to generalize the results based on descriptions of the method reported by the
author in regards to the purpose of the method, the problem area the method addressed, and the
project activities the method targeted. Methods often were found to overlap and focus on more
than one project lifecycle. The main overlap occurrence encompassed Domain Engineering and
Product Engineering. Table 9 shows that Domain Engineering is represented the most by 61
papers, followed by Product Engineering with 42 papers, and Product Management with 8 papers.
Product Management is the least represented project lifecycle.
17
It is worth noting again the fact the software product line methods are commonly targeting more
than one project lifecycle, summing the number column in Table 9 will not equal 79 (total number
of articles reviewed) and summing the percentage column will not equate to 100%. The number
and percent columns represents the number and percentage of papers out of 79 which the project
lifecycle is targeted. 1 study spanned across all three project lifecycles and 30 studies spanned
across Domain Engineering and Product Engineering. Figure 3 depicts the overlap of papers
covering their targeted project lifecycle phases.
The results for each individually reviewed paper in regards to RQ1.2 can also be viewed by
referring to Table 29 in Appendix C.
Table 9 Targeted Project Lifecycles
Project Lifecycle
Not Mentioned
Domain Engineering
Product Engineering
Product Management
Number
64
61
42
8
Percentage
81
77
53
10
Product
Management
4
1
Domain
Product
Engineering 29 Engineering
29
11
5.1.3. What project activities does the Software Product Line method
target (RQ1.3)?
Similarly to the project lifecycle, the project activities were rarely mentioned in the reviewed
articles. Out of the 79 articles, 67 did not specially mention the project (lifecycle) activity or
activities that the software product line method targeted. The absence of project (lifecycle) activity
reporting also generated the need to generalize the results based on descriptions of the method
reported by the authors. Many methods spanned across a variety of project activities, in which case
they were counted towards all the activities that were covered. Table 10 shows that Domain
Requirements Analysis is represented the most by 29 papers, followed by Variable Requirements
with 22 papers. Business Vision Evaluation is represented the least by only 4 papers, followed by
Product Deliver and Support with 5 papers. A graphical representation of the results is presented in
Figure 4.
It is worth noting again the fact the software product line methods are commonly targeting more
than one project (lifecycle) activity, summing the number column in Table 10 will not equate to 79
18
(total number of articles reviewed) and summing the percentage column will not equate to 100%.
The number and percent columns represents the number and percentage of papers out of 79 which
the project (lifecycle) activity is targeted.
The results for each individually reviewed paper in regards to RQ1.3 can also be viewed by
referring to Table 29 in Appendix C.
Table 10 Targeted Project Activities
Project Activities
Not Mentioned
Domain Requirements Analysis
Variable Requirements
Domain Design
Product Construction
Product Design
Common Requirements
Domain Implementation
Product Requirements
Product Testing
Domain Testing
Scope Definition
Product Delivery and Support
Business Vision Evaluation
Number
67
29
22
20
20
18
15
14
14
9
8
6
5
4
Percentage
85
37
28
25
25
23
19
18
18
11
10
8
6
5
19
each individually reviewed paper in regards to RQ1.4 can also be viewed by referring to Table 28
in Appendix B and Table 29 in Appendix C.
Table 11 shows a clear majority of papers identified the purpose of the software product line
method.
Table 11 Purpose of method explained
Q1. Is the purpose of the method explained?
Yes
No
Somewhat
Total
Number
78
1
0
79
Percentage
99
1
0
100
Table 12 shows that the clear majority of papers explained the theoretical aspect of the software
product line method that they proposed or employed.
Table 12 Theoretical aspect of method explained
Q2. Is the theoretical side of the method explained?
Yes
No
Somewhat
Total
Number
74
4
1
79
Percentage
94
5
1
100
Table 13 shows the number of papers that support the theoretical background of the software
product line method with an explanation on how the method is or can be implemented. It would be
acceptable for the authors to provide the reader with an implementation explanation to support the
theoretical background of their methods so the reader understands how the method would be made
and used. 48 papers, a small majority of papers, provided an explanation how the method is
implemented.
Table 13 Implementation of method explained
Q3. Is the implementation of the method explained?
Number
Yes
48
No
28
Somewhat
3
Total
79
Percentage
61
35
4
100
Table 14 shows that a clear majority of the papers explained the advantages to some degree of the
studied software product line method. It would only make sense if someone is proposing a solution
to a problem; they would highlight and assert the advantages of their solution to convince the
reader of the benefits of their approach.
Table 14 Method advantages explained
Q4. Are the advantages of the method explained?
Yes
No
Somewhat
Total
Number
50
22
7
79
Percentage
63
28
9
100
Table 15 shows a low occurrence of papers that report any limitations of their studied software
product line methods. In comparison to Table 14, there were more papers which outlined the
advantages of their proposed software product line method as there was which outlined the
limitations of their method. It would be acceptable and recommended for authors to identify and
20
provide the reader with any limitations so confines of their proposed software product line
methods is understood in case the reader decides to further investigate the method and its practical
implications
limitations
of
the
method
Number
Percentage
14
62
3
79
18
78
4
100
Table 28 found in Appendix B provides the scoring of each of the five questions intended to
answer to what degree is the method described for each article reviewed. The distribution in Table
28 suggests that:
Researchers are quite consistent in stating the purpose and theoretical aspects of their
proposed methods, techniques, and approaches.
Overall average among the 79 studies suggests there is no significant issue with describing the
methods, techniques, and approaches. Although there seems to be a lack of reporting in terms
of method limitations. Either the researchers failed to report the limitations of their proposed
method, technique, and approach, or they simply did not encounter any.
Table 16 categorizes the number of papers based on their quality scores for describing their
methods. Articles [S2, S6, S9, S22, S26, S28, S60, S64, and S72] scored the highest level of
degree in terms of describing the evaluated software product line method, technique, or approach.
The results for each individually reviewed paper in regards to RQ1.4 can also be viewed by
referring to Table 28 in Appendix B and Table 29 in Appendix C.
Table 16 Method described score summary
Score
4.5-5.0
3.5-4.0
2.5-3.0
1.5-2.0
0.5-1.0
0.0
Total
Number
9
36
20
12
1
1
79
Percentage
11.39
45.57
25.31
15.19
1.27
1.27
100.00
Only 9 (11.39%) papers had provided response to all five questions being asked.
65 (82.27%) papers managed to describe at least three of the five quality assessment criteria.
For the most part, most of the authors tried to provide useful description of their proposed methods
which is indicated by the 65 papers that addressed at minimum three of the five quality assessment
criteria. However, looking back to Table 15 where 62 papers did not address their proposed
methods limitations may suggest that the results would have been highly favorable if this single
criterion was described properly.
21
5.2.1. What research methods are used in the evaluation of SPL method
(RQ2.1)?
The results in Table 17 shows the most common research method used to evaluate software
product line methods, techniques, and approaches are experiments represented by 39 papers (49%)
followed closely by case studies which were represented in 27 papers (34%). In comparison to
previous works, [S15, S16, and S17] case studies seem to be the most common research method
used for conducting empirical evaluations. In contrast, this review found experiments to be
somewhat more popular than case studies in software product lines.
Number
39
27
10
2
1
79
Percentage
49
34
13
3
1
100
Number
46
33
79
Percentage
58
42
100
5.2.3. What types of subjects are used in the evaluation of the SPL
method (RQ2.3)?
The results for subjects in Table 19 show that a substantial amount of empirical evaluations used
researchers as subjects represented by 45 papers (57%), 27 papers (34%) used practitioners, and 7
22
papers (9%) used students. The studies which used students as subjects typically recruited graduate
level students who were studying at a Masters or Doctorate level.
Table 19 Subjects
Subjects
Researcher
Practitioner
Student
Total
Number
45
27
7
79
Percentage
57
34
9
100
5.2.4. What scale does the evaluation of the SPL method have (RQ2.4)?
The results for scale in Table 20 shows a clear majority of empirical evaluations used industrial
size examples represented by 46 papers (58%), followed by toy-examples in 18 papers (23%), and
down-scaled real world examples 15 papers (19%). Some examples of industrial sized evaluations
included domains such as the telecommunications, automotive, and aviation. These evaluations
focused on full blown systems as opposed to subsections of systems. Open source applications like
Berkley DB and MobileMedia which were categorized as industrial scale evaluations were
typically used in academia since the source files are publicly available. Evaluations that used toyexamples were typically done using prototypes.
Table 20 Scale
Scale
Industrial
Toy-Example
Down-scaled Real World
Total
Number
46
18
15
79
Percentage
58
23
19
100
5.2.5. What degree of realism does the evaluation of the SPL method
have (RQ2.5)?
Table 21 presents the number and percentage of papers categorized by their context description.
By combining the four context properties of research method used, context, subjects, and scale of
the evaluations, the degree of realism which the evaluations have can be realized.
Table 21 Degree of realism
Research Method
Context
Subjects
Scale
Number
Experiment
Academia
Researcher
Industrial
13
16
Case Study
Industry
Practitioner
Industrial
12
15
Experiment
Academia
Researcher
Toy Example
11
Post-mortem analysis
Industry
Practitioner
Industrial
Case Study
Academia
Researcher
Industrial
Experiment
Academia
Researcher
Down-Scaled
Case Study
Industry
Researcher
Industrial
Experiment
Academia
Student
Toy Example
23
Research Method
Context
Subjects
Scale
Number
Case Study
Academia
Researcher
Down-scaled
Case Study
Academia
Researcher
Toy Example
Experiment
Industry
Practitioner
Down-Scaled
Experiment
Industry
Researcher
Down-Scaled
Post-mortem analysis
Academia
Researcher
Industrial
Post-mortem analysis
Industry
Practitioner
Down-Scaled
Action Research
Industry
Practitioner
Industrial
Case Study
Academia
Student
Toy Example
Experiment
Academia
Student
Down-Scaled
Experiment
Academia
Student
Industrial
Experiment
Industry
Practitioner
Industrial
Experiment
Industry
Practitioner
Toy Example
Survey
Industry
Practitioner
Industrial
Survey
Industry
Practitioner
Toy Example
The combination of research method, context, subject and scale that are experiments applied
to an industrial sized example by the researcher in academia appear to have the most number
of occurrences. However, this can be contested with case studies applied to an industrial sized
example by practitioners in industry due to the minuscule difference of 1% between the two
(see Table 21).
Experiments are most frequently used in academia than industry. This may suggest that
experiments are much more difficult to setup and control when executed in an industrial
setting.
Less than half of the 27 case studies are conducted in a real-world environment using
industrial sized evaluations and practitioners as subjects (see Table 21).
When a post-mortem analysis is used, they are more commonly used by practitioners in
industry. This is evident by the fact that 80% of the evaluations using post-mortem analysis as
a research method were used by practitioners in industry as opposed to researchers or students
in academia.
Action research and surveys are not popular choices of research methods to use to conduct
empirical evaluations.
Based on the distribution of Table 21, it is feasible to conclude there is a need for more software
product line evaluations to hold a higher degree of realism. The majority of evaluations were
conducted with experiments and although experimental evaluations ensure high validity, they also
lack realism due to a smaller scope of study and controlled environment [27]. Adopters of new
software product line methods, specifically those in industry, want to see results that support
claimed benefits of software product lines as mentioned in the Introduction of this review. For
example, will the method reduce development effort, reduce time-to-market, increase profit
margin, etc. Practitioners want to feel comfortable that the new method can be applied in their own
environment therefore it would be suitable for researchers to increase the degree of realism of their
evaluations by conducting more evaluations in an industrial context (i.e. Industrial environment,
24
using practitioners and industrial sized examples). It is further recommended to use case studies to
increase the degree of realism as case studies are suitable for industrial evaluations [27].
Further supporting the information tabled in Table 21, the information presented in Figure 5 shows
that experiments and case studies are the dominating choice of research methods among
researchers; whereas, action research, surveys, and post-mortem analysis are rarely used. Figure 5
shows most evaluations are conducted in Academia and most evaluations are conducted using
industrial sized examples. The distribution of Figure 5 also confirms that experimental evaluations
are typically performed in an academic setting whereas case studies are typically performed in an
industrial setting. A common acknowledgment is shared between [27][37][50] and supports the
findings that case studies by definition are empirical investigations of a phenomenon within a realworld context and experiments are empirical investigations of a theory or hypotheses testing
within a controlled environment (i.e. classroom). Case studies are further classified in [27] as
being very suitable for industrial evaluations because they can avoid scalability issues while
sampling from variables representing a typical situation; however, [27] also acknowledges that the
results of case study are difficult to generalize thus affecting the external validity of the evaluation.
Experimental evaluations have higher validity than case studies because of their controlled
environments [27][37][50]; however, like case studies, experiments also have a difficulty
generalizing results [50]. It is also reported in [50] that the software engineering community holds
a common agreement that most experiments do not resemble an industrial situation. Therefore, the
ideal goal would be to increase the validity of software product line methods, techniques, and
approaches by conducting more experiments in an industrial setting.
Action
Research
16
21
14
Case Study
11
Experiment
33
15
10
Post-mortem
Analysis
Survey
Academia
Industry
Industrial
Down-scaled
Real World Example
Context
Toy Example
Scale
25
5.3. What extend do the reported empirical results enable decisionmaking regarding the actual adoption of the SPL method (RQ3)?
Referring back to Table 21, the majority of studies performed evaluations in academia and
minority of studies would be considered static evaluations conducted in industry [32]. Static
evaluations are studies that used experiments and surveys as research methods. There were 46
studies found to be academic evaluations; none of which used practitioners as subjects. There were
8 studies classified as static evaluations in industry, 6 of which were carried out using practitioners
as subjects and 2 used researchers. The 46 academic studies potentially offer the least support for
adoption of their software product line methods.
25 studies would be considered dynamic evaluations conducted in industry [32]. Dynamic
evaluations are studies that used action research, case studies, and post-mortem analysis as
research methods. Out of the 25 dynamic evaluations, 21 were carried out using practitioners as
subjects and 4 used researchers. These 25 studies potentially offer the support for adoption of their
software product line methods. However, when reviewing the quality assessment scores reported
in the next section (see Tables 22, 23, and 24), the average score for the 25 dynamic evaluations
conducted in industry is 6.06 while the highest possible score is 14.). This apparent lack of quality
in research design and reporting has the potential to curtail adoption of the proposed software
product line methods. The quality assessment scores for each individually reviewed paper in
regards to RQ3 can also be viewed by referring to Table 30 found in Appendix D.
Response
Yes
28
(35%)
13
(16%)
61
(77%)
31
(39%)
23
(29%)
23
(29%)
No
51
(65%)
66
(84%)
16
(20%)
39
(49%)
49
(62%)
49
(62%)
Somewhat
0
(0%)
0
(0%)
2
(3%)
9
(12%)
7
(9%)
7
(9%)
26
All papers had description of the research analysis component of their evaluations (see Table 23).
The purpose of presenting results analysis is for researchers to clearly explain how they arrived at
their interpretation of the evaluation results which should include an overview of the results,
threats to validity, assumptions/inferences, and lessons learned [26].
Most studies had the interpretation or analysis of the evaluation results (see Table 23). 75 (95%)
studies provided an interpretation or analysis of the results where only 4 studies did not.
Furthermore, only 17 (22%) studies described their results relative to the problem, hypotheses or
objective/goal statement. With consideration that only 28 (35%) studies stated a clear problem,
hypotheses or objective/goal statement, (61%) of these studies discussed their results in relation to
their problem, hypotheses or objective/goal statement.
Only 5 (6%) studies communicated their assumptions made during their evaluations (see Table
23). Assumptions correspond to a decision made when insufficient or unavailable information,
vague requirements, previous experience, lack of confidence or knowledge, or any situation in
which a decision must be made so that a something will work or progress can be made [33]. These
decisions are rarely recorded, communicated, or reviewed [33].
communicate these decisions may lead to defects or post-deployment failures or may become
invalid due to changes in the environment in which the method is deployed [33].
Similar to the results found in [34], a considerably high rate of studies failed to discuss any threats
to the validity of their research (see Table 23). Only 15 (19%) studies discussed threats to validity
in comparison to 64 (81%) studies that did not. Researchers should know that there are threats to
the validity of any research study and should be examined before and during the study design
phase, and throughout the execution of the study [34]. Validity of a study denotes the
trustworthiness of the results [25]; therefore, researchers have a responsibility to discuss
limitations of their study [24].
Describing what went well and what did not during the course of the evaluation provides a
discussion for lessons learned [26]. Discussing the successes and failures learned throughout the
course of the evaluation, the researcher conveys knowledge that can be usefully applied in future
research. The fact that 15 (19%) of studies discuss lessons learned whereas 64 (81%) of the
studies did not suggests that insufficient knowledge is being transferred for future research (see
Table 23).
Table 23 Research Analysis Quality Assessment Criteria
Results Analysis
Quality Assessment Criteria
Q7. Does the study provide an interpretation or analysis of the results?
Response
Yes
60 (76%)
Q8. Does the study describe its results relative to its problem,
hypotheses or objective statement?
Q9. Does the study describe assumptions made during the execution of
the evaluation?
Q10. Does the study discuss threats to validity?
17 (22%)
5
(6%)
15
(19%)
15
(19%)
No
4
(5%)
62 (78%)
74 (94%)
64
(81%)
64
(81%)
Somewhat
15
(19%)
0
(0%)
0
(0%)
0
(0%)
0
(0%)
Researchers should conclude their findings into a context of implications by forming theories that
constitute a framework for their analysis [25]. This is where researchers discuss practical impacts,
27
relate their work and results to earlier research, and give footing towards future work [26]. All
papers had the description of the research conclusions component of their evaluations (see Table
24).
When considering the adoption of a new method, technique, or approach, researchers and
practitioners alike tend to ask questions specific to practical implications. For example, will the
method positively or negatively affect cost, time and quality for developing and delivering the
product, and how will the method affect cost, time, and quality for developing and delivering the
product [26]? The practical implications are earmarked as potential benefits for implementation in
practice. As it is common for researchers to report positive findings rather than negative ones [5],
it is not surprising that 58 (73%) studies discussed, to some degree, the practical implications of
their work whereas 21 (27%) of the studies did not (see Table 24).
Clarifying how the researchers work relates to existing works is stipulated as important in
published guidelines [25][26]. Researchers and practitioners alike require the ability to review
alternative approaches and relations between evaluations [26]. 64 (81%) studies facilitated access
to some alternative research and 15 (19%) studies did not (see Table 24). The studies that did not
report related work may be doing so because there may not be any reported alternatives to their
work.
Describing what other research can be run places emphasis on future work for the purpose of
investigating the results further or to evolve the body of knowledge [26]. Providing
recommendations for future work paves a direction of whats next for topic of study. 54 (68%) of
studies provided some kind of recommendation for future work, 34 (43%) of which was clearly
detailed, 20 (25%) studies provided somewhat of a vague discussion, and 25 (32%) studies did not
recommend any further direction for their studied topic (see Table 24).
Table 24 Research Conclusions Quality Assessment Criteria
Research Conclusions
Quality Assessment Criteria
Q12. Does the study discuss the practical implications?
Q13. Does the study discuss related work?
Q14. Does the study provide recommendations for future work?
Response
Yes
45
(57%)
58
(73%)
34
(43%)
No
21
(27%)
15
(19%)
25
(32%)
Somewhat
13
(16%)
6
(8%)
20
(25%)
According to the quality assessment criteria described in Section 3.4, Table 30 found in Appendix
D represents the score card on each of the criteria used for the quality assessment for each of the
79 studies included in this review. If the response given for a question is Yes it is given a score
of 1.0, Somewhat is assigned a score of 0.5 and No is scored as 0.0. The maximum score a
study can receive is 14. An evaluation is deemed of better quality based on higher scores. Table 30
is sorted by highest scores to lowest scores. It is interesting to note only one study scored the
highest possible score.
The distribution in Table 30 suggests that:
28
With the highest possible score of 14, the overall average of the 79 studies is 5.92. This lower
than mid-range average indicates there are issues pertaining to the quality of research design
and research reporting that need to be addressed in the software engineering community.
The three highest ranking criteria addressed in research evaluations are domain description,
interpretation of results, and related work.
6.1. Discussion
The findings from this systematic literature review have revealed that software product line
research has produced a diverse set of methods, techniques, and approaches. As previously
mentioned, there were 79 different software product line methods, techniques and approaches
revealed that targeted problem areas like feature modelling, requirements management, and
commonality and variability management. Despite this diversity, the 79 studies represented only
13% of the total number of studies this review initially started with. This may suggest that
empirical evaluations using rigorous research methods are not being used as much as they should
be or they are not being reported and published.
A positive finding of this review is with the diversity of methods, techniques, and approaches, all
phases of the software product line life cycle was covered with Domain Engineering being the
most dominant. Furthermore, all software product line life cycle activities were also covered with
Domain Requirements Analysis (Common and Variable Requirements included) being the most
dominant. Lastly with no surprise the three highest ranking of target problem areas were feature
modelling, requirements management, and commonality and variability management. This shows
that Domain Requirements seem to be one of the main targeted research areas in the software
product line community. Kuloor and Eberlein [35] state that requirements engineering, although is
often an early stage of development activity, it influences all phases of the software product life
cycle. They go further to say that changes to requirements are likely to happen during any stage of
development; therefore, a sound requirements engineering approach must be able to accommodate
changes and the evolution of requirements [35].
This systematic literature review identifies a need for more realistic empirical evaluations to be
conducted in industry as the results revealed a majority of evaluations conducted in academia;
however, when considering the full context of research method used, research context, subjects,
and scale of evaluation, there seemed to be a stand-off in the state of evaluations between
experiments conducted by researchers in academia on industrial sized examples versus case
studies conducted by practitioners in industry using industrial sized examples. The significance of
this finding is the majority of the evaluations scaled to industrial sized applications. This is a
positive finding because the software product line methods, techniques and approaches being
29
evaluated are more likely to be applicable in other environments. Conversely, the degree of
realism of the experiments conducted by researchers in academia, despite using industrial sized
examples, is quite low; nonetheless, this is offset by the high degree of realism found with the case
studies conducted by practitioners in industry using industrial sized examples.
One of the major findings of this study is that the quality of research design and reporting to be
significantly low. Research design and reporting was scored against a 14 point quality assessment
checklist. The overall average of quality was 5.92 among the reviewed evaluations with only 30%
of the studies scoring 50% or higher and 1 study scoring 100%. The issue of quality research
design and quality reporting remains to be a problem when reflecting back on the related works
[10][20]. This is not positive as the available evidence of the reviewed software product line
methods, technique and approaches can hardly be passed off as reliable.
Empirical evaluation and assessment are expected to play a vital role in rigorous evaluation of the
software product line methods, technique and approaches [10]. The synthesis of the available
evidence shows only one study [9] scored the highest possible score for sound research design and
reporting.
The main findings of this systematic literature review may have several implications for software
product line researchers and practitioners such as knowing what software product line methods,
techniques and approaches exist and areas where more empirical research is needed in the software
product line community. Another major implication originates from the continual lack of quality in
research design and reporting. This should further encourage the software product line community
to improve the state of evaluating research and reporting the outcomes such that the evidence can
be accepted as reliable and trustworthy.
6.2. Recommendations
With exception to the diverse coverage of topic areas being researched and the positive aspects of
using industrial-scaled evaluations, there are still areas of improvement that need to be addressed
regarding the state of software product line evaluations and research reporting. The following
recommendations are provided to help improve the state of software product line evaluations:
The 79 studies representing only 13% of the total number of studies found conducted
empirical evaluation of a software product line method, technique or approach. This suggests
that much research is not being rigorous in their methods and may only be providing
theoretical evaluations as opposed to an empirical evaluation. Therefore, more empirical
evaluations need to be adopted in the software product line community among researchers and
practitioners alike.
30
environment, using practitioners and industrial sized examples) using case studies. This will
increase the degree of realism and improve the overall state of their evaluations.
7. Related Works
Systematic literature review based research is a fairly new research method and is becoming a
standard research method amongst software engineers. This section seeks to highlight similar
works conducted in the area of software product lines. One way to find how many software
product line systematic literature reviews have been conducted in the past is to find tertiary studies
(a systematic literature review of systematic literature reviews) that have summarized past
systematic literature reviews produced. One such tertiary study was conducted by Kitchenham et
al. [6]. Their objective was to provide a catalogue of systematic literature reviews in software
engineering available to software engineering researchers and practitioners. They sought to find
out how many systematic literature reviews were published between January 1, 2004 and June 30,
2008, what research topics were addressed, and who is most active in systematic literature review
based research. Their results identified 53 software engineering systematic literature reviews
published between January 1, 2004 and June 30, 2008. Unfortunately, none of the 53 secondary
studies identified were reported as having a software product line research topic.
Silva et al. [7] added their contribution to Kitchenham et al. [6] tertiary study by conducting an
extended tertiary study for the same objective. Silva et al. [88] tertiary study identified 67
systematic literature reviews for software engineering published between July 1, 2008 and
December 31, 2009 covering 24 software engineering topic areas. Out of the 67 secondary studies
identified, 7 secondary studies [43][44][45][46][47][48][49] were reported as having a software
product line research topic.
A more recent empirical investigation of systematic literature reviews in software engineering
conducted by Babar and Zhang [8] found 142 secondary studies published between January 1,
2004 and December 31, 2010 covering over 30 software engineering topics. Out of the 142
secondary studies identified, only 5 secondary studies were reported as having a software product
line research topic. Citations for the 5 secondary studies are not available for reporting because
they were not provided as references by Babar and Zhang [8]. Table 25 summarizes the coverage
of software product line systematic literature reviews found among the three tertiary studies
mentioned.
31
Year of
Article
Date
Range of
Studies
Topic Area
Article Type
# of SPL
Secondary
Studies
found
0
SPL Studies
Tertiary Study
# of
Secondary
Studies
found
53
[6]
2010
[7]
2011
[8]
2011
Jan/04Jun/08
Jul/08Dec/09
Jan/04Dec/10
Software
Engineering
Software
Engineering
Software
Engineering
Tertiary Study
67
Empirical
Investigation
with a tertiary
study component
142
N/A
Table 25 shows software product line systematic literature reviews did not emerge until after June
2008 even though systematic literature reviews in the software engineering community had
already began much earlier. Table 25 also shows that software product line systematic literature
reviews only make up a small fraction of research topics among software engineering systematic
literature reviews conducted up until the end of the year 2010.
Since the tertiary studies identified in Table 25 included software engineering systematic literature
reviews published between January 2004 and December 2010, an automated search was conducted
as part of this review to fill in the gap for the year 2011. The search strategy was not restricted to a
date range and used the population and intervention search criteria in Table 26 against the five
digital libraries: ACM Digital Library, IEEE Xplore Digital Library, ScienceDirect, SpringerLink,
and Wiley Online Library. Similar to the search strategy of outlined in Section 3.2 Data Sources
and Search Strategy, the process of identifying relevant papers that undertake an systematic
literature review of software product line methods, techniques or approaches needed the capability
to recover research articles and papers made available through scientific publication databases.
Specific publication databases were selected on the basis that they included research papers in the
area of computing and information technology sciences.
Table 26 Search terms used to find software product line systematic literature reviews
Population
software product line OR software product
family*
AND
AND
Intervention
systematic literature review OR systematic review
OR literature review OR SLR OR systematic
mapping
The search found 14 unique software product line systematic literature reviews, 8 of which were
published in 2011. 6 articles were published between 2008 and 2010 suggesting the search yielded
similar results to [6][7][8]. Table 27 summarizes the software product line systematic literature
reviews found.
Table 27 Software product line systematic literature reviews
Ref Id
Year of
Article
Date Range of
Studies
Article Title
[9]
2011
Not mentioned
[10]
2011
1990 - 2007
[11]
2011
2009-2010
[12]
2011
Up to June 2010
No.
Secondary
Studies
34
97
32
39
32
[13]
2011
2001-2008
[14]
2011
[15]
2011
1996 to June
2010
1993-2009
[16]
2011
[17]
2010
[18]
2009
[19]
2009
[20]
2009
Jul. 2008-Oct.
2008
Dec. 2007 to Jan.
2008
2000-2007
[21]
2009
1999-2009
[22]
2008
1998-2007
2002 to
June 2010
1990-2009
review
Software product line testing A systematic mapping
study
A systematic review of quality attributes and measures
for software product lines
A systematic mapping study of software product lines
testing
A preliminary mapping study of approaches bridging
software product lines and service-oriented architectures
Requirements engineering for software product lines: A
systematic literature review
A Systematic Review of Software Product Lines
Applied to Mobile Middleware
Variability management in software product lines: a
systematic review
A systematic review of domain analysis solutions for
product lines
Gathering current knowledge about quality evaluation in
software product lines
Evaluating Domain Design Approaches Using
Systematic Review
64
35
120
48
49
7
33
89
39
17
It is not the intention of this systematic literature review to report the research objectives, results,
and conclusions of all the related works in Table 27; however, an overview of articles [10][20] is
provided for consideration and comparison when studying the results reported in this review.
These two related works were selected for overview because like this review they sought to
summarize evidence of software product line methods, techniques, and approaches subjected to an
empirical evaluation. One difference between this review and [10][20] is that this review has a
much broader scope of software product line methods, techniques, and approaches whereas [10]
only focused on variability management approaches and [20] only focused on domain analysis
solutions. If more information is desired for each of the listed related work, please refer to the
articles bibliography in the References section of this paper.
Chen and Babar [10] sought to review the status of evaluation of reported variability management
approaches and to synthesize the available evidence about the effects of the reported approaches.
They found a small number of studies that used rigorous scientific methods to evaluate the
reviewed approaches. Their investigation revealed significant quality deficiencies in the reporting
of evaluations. They also found that all studies, except one, reported only positive effects. They
concluded that a large majority of reported variability management approaches have not been
sufficiently evaluated using scientifically rigorous methods as such they recommended more
rigorous evaluations are needed for variability management approaches. They also noted the
available evidence they reviewed was sparse and of low quality but consistent across different
studies meaning the proposed approaches may be beneficial when applied properly in appropriate
situations.
Khurum and Gorschek [20] wanted to analyze the level of industrial application and/or empirical
validation of domain analysis solutions for software product lines and the extent the solutions were
evaluated based on usability and usefulness. They found it difficult to evaluate the usability and
usefulness for industry adoption of the proposed solutions because like [10] many of the studies
they reviewed lacked qualitative and quantitative results from empirical validations. They
concluded by asserting that evidence gathered through empirical evaluations supported by an
33
explanation of the design and execution of the evaluation could be beneficial for researchers to
expand on the work and for practitioners to adopt the proposed solutions.
Both related works [10][20] covered published literatures up until 2007. It is worth noting they
both reported lack of rigorous empirical validations performed by evaluators coupled with low
quality reporting. Because this review covers more recent published literatures between 2006 and
2011, one thing to look out for is improvements in empirical evaluations of proposed software
product line methods, techniques and approaches, and the quality of reporting produced by the
evaluators.
Finally we would like to note on the scope of this systematic literature review. Given the extreme
importance of empirical support for approaches proposed in the software engineering community,
we believe that such a systematic literature review is an important step towards finding gaps and
issues with regards to identifying and reporting evidence of applicability. Dyba et al have
performed a systematic literature review with a similar scope for the area of agile software
development [51].
34
Acher, M., Collet, P., Lahire, P., Moisan, S., and Rigault, J. P. (2011). Modeling variability from
requirements to runtime. In Engineering of Complex Computer Systems (ICECCS), 2011 16th IEEE
International Conference on, pages 7786.
[S2].
Ahmed, F. and Capretz, L. (2011a). An architecture process maturity model of software product line
engineering. Innovations in Systems and Software Engineering, 7:191207.
[S3].
Ahmed, F. and Capretz, L. (2011b). A business maturity model of software product line engineering.
Information Systems Frontiers, 13:543560.
[S4].
Aldekoa, G., Trujillo, S., Sagardui, G., and Diaz, O. (2008). Quantifying maintainability in feature
oriented product lines. In Software Maintenance and Reengineering, 2008. CSMR 2008. 12th European
Conference on, pages 243247.
[S5].
Altintas, N., Cetin, S., Dogru, A., and Oguztuzun, H. (2011). Modeling product line software assets
using Domain-Specific kits. Software Engineering, IEEE Transactions on, PP(99):1.
[S6].
Rodrigo Andrade, Marcio Ribeiro, Vaidas Gasiunas, Lucas Satabin, Henrique Rebelo, and Paulo Borba.
2011. Assessing Idioms for Implementing Features with Flexible Binding Times. In Proceedings of the
2011 15th European Conference on Software Maintenance and Reengineering (CSMR '11). IEEE
Computer
Society,
Washington,
DC,
USA,
231-240.
DOI=10.1109/CSMR.2011.29
http://dx.doi.org/10.1109/CSMR.2011.29.
[S7].
Assuncao, W. K. G., de Freitas Guilhermino Trindade, D., Colanzi, T. E., and Vergilio, S. R. (2011).
Evaluating test reuse of a software product line oriented strategy. In Test Workshop (LATW), 2011 12th
Latin American, pages 16.
[S8].
Bagheri, E., Asadi, M., Gasevic, D., and Soltani, S. (2010). Stratified analytic hierarchy process:
Prioritization and selection of software features. In Bosch, J. and Lee, J., editors, Software Product
Lines: Going Beyond, volume 6287 of Lecture Notes in Computer Science, pages 300315. Springer
Berlin / Heidelberg.
[S9].
Bagheri, E. and Gasevic, D. (2011). Assessing the maintainability of software product line feature
models using structural metrics. Software Quality Journal, 19:579612.
[S10].
Bartholdt, J., Oberhauser, R., and Rytina, A. (2008). An approach to addressing entity model variability
within software product lines. In Software Engineering Advances, 2008. ICSEA 08. The Third
International Conference on, pages 465471.
[S11].
[S12].
Cabral, I., Cohen, M., and Rothermel, G. (2010). Improving the testing and testability of software
product lines. In Bosch, J. and Lee, J., editors, Software Product Lines: Going Beyond, volume 6287 of
Lecture Notes in Computer Science, pages 241255. Springer Berlin / Heidelberg.
[S13].
Cavalcanti, R., de Almeida, E. S., and Meira, S. R. L. (2011). Extending the RiPLE-DE process with
quality attribute variability realization. In Proceedings of the joint ACM SIGSOFT conference QoSA
and ACM SIGSOFT symposium ISARCS on Quality of software architectures QoSA and
architecting critical systems ISARCS, QoSA-ISARCS 11, pages 159164, New York, NY, USA.
ACM.
[S14].
Chakravarthy, V., Regehr, J., and Eide, E. (2008). Edicts: implementing features with flexible binding
times. In Proceedings of the 7th international conference on Aspect-oriented software development,
AOSD 08, pages 108119, New York, NY, USA. ACM.
35
[S15].
Chastek, G., Donohoe, P., and McGregor, J. D. (2011). Commonality and variability analysis for
resource constrained organizations. In Proceedings of the 2nd International Workshop on Product Line
Approaches in Software Engineering, PLEASE 11, pages 3134, New York, NY, USA. ACM.
[S16].
Chen, S. and Erwig, M. (2011). Optimizing the product derivation process. In Software Product Line
Conference (SPLC), 2011 15th International, pages 3544.
[S17].
Chen, Y., Gannod, G. C., and Collofello, J. S. (2006). A software product line process simulator.
Software Process: Improvement and Practice, 11(4):385409.
[S18].
Christian and Rosso, D. (2008). Software performance tuning of software product family architectures:
Two case studies in the real-time embedded systems domain. Journal of Systems and Software, 81(1):1
19.
[S19].
Cirilo, E., Nunes, I., Kulesza, U., and Lucena, C. (2012). Automating the product derivation process of
multi-agent systems product lines. Journal of Systems and Software, 85(2):258276.
[S20].
Classen, A., Heymans, P., Schobbens, P.-Y., and Legay, A. (2011). Symbolic model checking of
software product lines. In Proceedings of the 33rd International Conference on Software Engineering,
ICSE 11, pages 321330, New York, NY, USA. ACM.
[S21].
Dabholka, A. and Gokhale, A. (2010). Middleware specialization for Product-Lines using FeatureOriented reverse engineering. In Information Technology: New Generations (ITNG), 2010 Seventh
International Conference on, pages 696701.
[S22].
Deelstra, S., Sinnema, M., and Bosch, J. (2009). Variability assessment in software product families.
Information and Software Technology, 51(1):195218.
[S23].
Dhungana, D., Grnbacher, P., Rabiser, R., and Neumayer, T. (2010). Structuring the modeling space
and supporting evolution in software product line engineering. Journal of Systems and Software,
83(7):11081122.
[S24].
Dong, J. S., Lee, K., Kim, K. H., Kim, S. T., Cho, J. M., and Kim, T. H. (2008). Platform maintenance
process for software quality assurance in product line. In Computer Science and Software Engineering,
2008 International Conference on, volume 2, pages 325331.
[S25].
Eriksson, M., Brstler, J., and Borg, K. (2009). Managing requirements specifications for product lines
an approach and industry case study. Journal of Systems and Software, 82(3):435447.
[S26].
Feigenspan, J., Schulze, M., Papendieck, M., Kastner, C., Dachselt, R., Koppen, V., and Frisch, M.
(2011). Using background colors to support program comprehension in software product lines. In
Evaluation Assessment in Software Engineering (EASE 2011), 15th Annual Conference on, pages 66
75.
[S27].
Ganesan, D., Lindvall, M., McComas, D., Bartholomew, M., Slegel, S., and Medina, B. (2010).
Architecture-Based unit testing of the flight software product line. In Bosch, J. and Lee, J., editors,
Software Product Lines: Going Beyond, volume 6287 of Lecture Notes in Computer Science, pages
256270. Springer Berlin / Heidelberg.
[S28].
Ganesan, D., Muthig, D., Knodel, J., and Yoshimura, K. (2006). Discovering organizational aspects
from the source code history log during the product line planning PhaseA case study. In Reverse
Engineering, 2006. WCRE 06. 13th Working Conference on, pages 211220.
[S29].
Geertsema, B. and Jansen, S. (2010). Increasing software product reusability and variability using active
components: a software product line infrastructure. In Proceedings of the Fourth European Conference
on Software Architecture: Companion Volume, ECSA 10, pages 336343, New York, NY, USA.
ACM.
[S30].
Guo, J., Wang, Y., Trinidad, P., and Benavides, D. (2011a). Consistency maintenance for evolving
feature models. Expert Systems with Applications, (0).
36
[S31].
Guo, J., White, J., Wang, G., Li, J., and Wang, Y. (2011b). A genetic algorithm for optimized feature
selection with resource constraints in software product lines. Journal of Systems and Software,
84(12):22082221.
[S32].
Hubaux, A., Boucher, Q., Hartmann, H., Michel, R., and Heymans, P. (2011). Evaluating a textual
feature modelling language: Four industrial case studies. In Malloy, B., Staab, S., and van den Brand,
M., editors, Software Language Engineering, volume 6563 of Lecture Notes in Computer Science, pages
337356. Springer Berlin / Heidelberg.
[S33].
Hunt, J. M. (2006). Organizing the asset base for product derivation. In Software Product Line
Conference, 2006 10th International, pages 6574.
[S34].
Jiang, M., Zhang, J., Zhao, H., and Zhou, Y. (2008a). Enhancing software product line maintenance with
source code mining. In Li, Y., Huynh, D., Das, S., and Du, D.-Z., editors, Wireless Algorithms, Systems,
and Applications, volume 5258 of Lecture Notes in Computer Science, pages 538547. Springer Berlin /
Heidelberg.
[S35].
Jiang, M., Zhang, J., Zhao, H., and Zhou, Y. (2008b). Maintaining software product lines - an industrial
practice. In Software Maintenance, 2008. ICSM 2008. IEEE International Conference on, pages 444
447.
[S36].
Shigeo Kato and Nobuhito Yamaguchi. 2011. Variation Management for Software Product Lines with
Cumulative Coverage of Feature Interactions. In Proceedings of the 2011 15th International Software
Product Line Conference (SPLC '11). IEEE Computer Society, Washington, DC, USA, 140-149.
DOI=10.1109/SPLC.2011.51 http://dx.doi.org/10.1109/SPLC.2011.51
[S37].
Kim, C., Bodden, E., Batory, D., and Khurshid, S. (2010). Reducing configurations to monitor in a
software product line. In Barringer, H., Falcone, Y., Finkbeiner, B., Havelund, K., Lee, I., Pace, G.,
Rosu, G., Sokolsky, O., and Tillmann, N., editors, Runtime Verification, volume 6418 of Lecture Notes
in Computer Science, pages 285299. Springer Berlin / Heidelberg.
[S38].
Kim, J., Park, S., and Sugumaran, V. (2008a). DRAMA: A framework for domain requirements analysis
and modeling architectures in software product lines. Journal of Systems and Software, 81(1):3755.
[S39].
Kim, K., Kim, H., Kim, S., and Chang, G. (2008b). A case study on SW product line architecture
evaluation: Experience in the consumer electronics domain. In Software Engineering Advances, 2008.
ICSEA 08. The Third International Conference on, pages 192197.
[S40].
Kim, T., Ko, I. Y., Kang, S. W., and Lee, D. H. (2008c). Extending ATAM to assess product line
architecture. In Computer and Information Technology, 2008. CIT 2008. 8th IEEE International
Conference on, pages 790797.
[S41].
Kuvaja, P., Simil, J., and Hanhela, H. (2011). Software product line adoption: guidelines from a case
study. In Proceedings of the Third IFIP TC 2 Central and East European conference on Software
engineering techniques, CEE-SET08, pages 143157, Berlin, Heidelberg. Springer-Verlag.
[S42].
Lamas, E., Dias, L. A. V., and da Cunha, A. M. (2011). Effectively testing for a software product line
with OTM3 organizational testing management maturity model. In Information Technology: New
Generations (ITNG), 2011 Eighth International Conference on, pages 274279.
[S43].
Lee, S.-B., Kim, J.-W., Song, C.-Y., and Baik, D.-K. (2007). An approach to analyzing commonality and
variability of features using ontology in a software product line engineering. In Software Engineering
Research, Management Applications, 2007. SERA 2007. 5th ACIS International Conference on, pages
727734.
[S44].
37
[S45].
Loesch, F. and Ploedereder, E. (2007b). Restructuring variability in software product lines using concept
analysis of product configurations. In Software Maintenance and Reengineering, 2007. CSMR 07. 11th
European Conference on, pages 159170.
[S46].
Lorenz, D. and Rosenan, B. (2011). Code reuse with language oriented programming. In Schmid, K.,
editor, Top Productivity through Software Reuse, volume 6727 of Lecture Notes in Computer Science,
pages 167182. Springer Berlin / Heidelberg.
[S47].
Matos, P., Duarte, R., Cardim, I., and Borba, P. (2007). Using design structure matrices to assess
modularity in Aspect-Oriented software product lines. In Proceedings of the First International
Workshop on Assessment of Contemporary Modularization Techniques, ACoM 07, Washington, DC,
USA. IEEE Computer Society.
[S48].
Mellado, D., Fernndez-Medina, E., and Piattini, M. (2010). Security requirements engineering
framework for software product lines. Information and Software Technology, 52(10):10941117.
[S49].
Mendonca, M. and Cowan, D. (2010). Decision-making coordination and efficient reasoning techniques
for feature-based configuration. Science of Computer Programming, 75(5):311332.
[S50].
Mu, Y., Wang, Y., and Guo, J. (2009). Extracting software functional requirements from free text
documents. In Information and Multimedia Technology, 2009. ICIMT 09. International Conference on,
pages 194198.
[S51].
Niemel, E. and Immonen, A. (2007). Capturing quality requirements of product family architecture.
Information and Software Technology, 49(11-12):11071120.
[S52].
Niu, N. and Easterbrook, S. (2009). Concept analysis for product line requirements. In Proceedings of
the 8th ACM international conference on Aspect-oriented software development, AOSD 09, pages 137
148, New York, NY, USA. ACM.
[S53].
Nobrega, J. P., Almeida, E., and Meira, S. R. L. (2008). InCoME: Integrated cost model for product line
engineering. In Software Engineering and Advanced Applications, 2008. SEAA 08. 34th Euromicro
Conference, pages 2734.
[S54].
Nonaka, M., Zhu, L., Babar, M., and Staples, M. (2007). Project cost overrun simulation in software
product line development. In Mnch, J. and Abrahamsson, P., editors, Product-Focused Software
Process Improvement, volume 4589 of Lecture Notes in Computer Science, pages 330344. Springer
Berlin / Heidelberg.
[S55].
Oliveira Junior, E. A., Maldonado, J. C., and Gimenes, I. M. S. (2010). Empirical validation of
complexity and extensibility metrics for software product line architectures. In Software Components,
Architectures and Reuse (SBCARS), 2010 Fourth Brazilian Symposium on, pages 3140.
[S56].
Olumofin, F. G. and Misic, V. B. (2007). A holistic architecture assessment method for software
product lines. Information and Software Technology, 49(4):309323.
[S57].
Reis, S., Metzger, A., and Pohl, K. (2007). Integration testing in software product line engineering: A
Model-Based technique. In Dwyer, M. and Lopes, A., editors, Fundamental Approaches to Software
Engineering, volume 4422 of Lecture Notes in Computer Science, pages 321335. Springer Berlin /
Heidelberg.
[S58].
Riva, C., Selonen, P., Syst, T., and Xu, J. (2011). A profile-based approach for maintaining software
architecture: an industrial experience report. Journal of Software Maintenance and Evolution: Research
and Practice, 23(1):320.
[S59].
Romanovsky, K., Koznov, D., and Minchin, L. (2011). Refactoring the documentation of software
product lines. In Huzar, Z., Koci, R., Meyer, B., Walter, B., and Zendulka, J., editors, Software
Engineering Techniques, volume 4980 of Lecture Notes in Computer Science, pages 158170. Springer
Berlin / Heidelberg.
38
[S60].
Rosenmller, M., Siegmund, N., Apel, S., and Saake, G. (2011). Flexible feature binding in software
product lines. Automated Software Engineering, 18:163197.
[S61].
Sales, R. J. and Coelho, R. (2011). Preserving the exception handling design rules in software product
line context: A practical approach. In Dependable Computing Workshops (LADCW), 2011 Fifth LatinAmerican Symposium on, pages 916.
[S62].
Segura, S., Hierons, R. M., Benavides, D., and Ruiz-Corte ands, A. (2010). Automated test data
generation on the analyses of feature models: A metamorphic testing approach. In Software Testing,
Verification and Validation (ICST), 2010 Third International Conference on, pages 3544.
[S63].
Sellier, D., Mannion, M., and Mansell, J. (2008). Managing requirements inter-dependency for software
product line derivation. Requirements Engineering, 13:299313.
[S64].
Siegmund, N., Rosenmuller, M., Kastner, C., Giarrusso, P. G., Apel, S., and Kolesnikov, S. S. (2011).
Scalable prediction of non-functional properties in software product lines. In Software Product Line
Conference (SPLC), 2011 15th International, pages 160169.
[S65].
Siegmund, N., Rosenmller, M., Kuhlemann, M., Kstner, C., Apel, S., and Saake, G. SPL conqueror:
Toward optimization of non-functional properties in software product lines. Software Quality Journal,
pages 131.
[S66].
Stoiber, R. and Glinz, M. (2010). Feature unweaving: Efficient variability extraction and specification
for emerging software product lines. In Software Product Management (IWSPM), 2010 Fourth
International Workshop on, pages 5362.
[S67].
Stricker, V., Metzger, A., and Pohl, K. (2010). Avoiding redundant testing in application engineering. In
Bosch, J. and Lee, J., editors, Software Product Lines: Going Beyond, volume 6287 of Lecture Notes in
Computer Science, pages 226240. Springer Berlin / Heidelberg.
[S68].
Teixeira, L., Borba, P., and Gheyi, R. (2011). Safe composition of configuration Knowledge-Based
software product lines. In Software Engineering (SBES), 2011 25th Brazilian Symposium on, pages
263272.
[S69].
Tian, Q. M., Chen, X. Y., Jin, L., Pan, P., and Ying, C. (2008). Asset-based requirement analysis in
telecom service delivery platform domain. In Network Operations and Management Symposium, 2008.
NOMS 2008. IEEE, pages 815818.
[S70].
Uno, K., Hayashi, S., and Saeki, M. (2009). Constructing feature models using Goal-Oriented analysis.
In Quality Software, 2009. QSIC 09. 9th International Conference on, pages 412417.
[S71].
Uzuncaova, E., Khurshid, S., and Batory, D. (2010). Incremental test generation for software product
lines. Software Engineering, IEEE Transactions on, 36(3):309322.
[S72].
Villela, K., Drr, J., and John, I. (2010). Evaluation of a method for proactively managing the evolving
scope of a software product line. In Wieringa, R. and Persson, A., editors, Requirements Engineering:
Foundation for Software Quality, volume 6182 of Lecture Notes in Computer Science, pages 113127.
Springer Berlin / Heidelberg.
[S73].
Weiss, D. M., Li, J. J., Slye, H., Dinh-Trong, T., and Sun, H. (2008). Decision-Model-based code
generation for SPLE. In Software Product Line Conference, 2008. SPLC 08. 12th International, pages
129138.
[S74].
White, J., Benavides, D., Schmidt, D. C., Trinidad, P., Dougherty, B., and Ruiz-Cortes, A. (2010).
Automated diagnosis of feature model configurations. Journal of Systems and Software, 83(7):1094
1107.
[S75].
White, J., Dougherty, B., Schmidt, D. C., and Benavides, D. (2009). Automated reasoning for multi-step
feature model configuration problems. In Proceedings of the 13th International Software Product Line
Conference, SPLC 09, pages 1120, Pittsburgh, PA, USA. Carnegie Mellon University.
39
[S76].
White, J., Schmidt, D. C., Benavides, D., Trinidad, P., and Ruiz-Cortes, A. (2008). Automated diagnosis
of Product-Line configuration errors in feature models. In Software Product Line Conference, 2008.
SPLC 08. 12th International, pages 225234.
[S77].
Xue, Y., Xing, Z., and Jarzabek, S. (2010). Understanding feature evolution in a family of product
variants. In Reverse Engineering (WCRE), 2010 17th Working Conference on, pages 109118.
[S78].
Yoshimura, K., Narisawa, F., Hashimoto, K., and Kikuno, T. (2008). FAVE: factor analysis based
approach for detecting product line variability from change history. In Proceedings of the 2008
international working conference on Mining software repositories, MSR 08, pages 1118, New York,
NY, USA. ACM.
[S79].
Zhang, G., Ye, H., and Lin, Y. (2011). Using knowledge-based systems to manage quality attributes in
software product lines. In Proceedings of the 15th International Software Product Line Conference,
Volume 2, SPLC 11, New York, NY, USA. ACM.
APPENDIX B
Q1
Q2
Q3
Q4
Q5
Score
[S1]
1.0
1.0
1.0
0.0
0.0
3.0
[S2]
1.0
1.0
1.0
1.0
1.0
5.0
[S3]
1.0
1.0
1.0
1.0
0.0
4.0
[S4]
1.0
1.0
1.0
1.0
0.0
4.0
[S5]
1.0
1.0
1.0
1.0
0.0
4.0
[S6]
1.0
1.0
1.0
1.0
0.0
4.0
[S7]
1.0
0.0
0.0
0.0
0.0
1.0
[S8]
1.0
1.0
0.0
1.0
0.5
3.5
[S9]
1.0
1.0
1.0
1.0
1.0
5.0
[S10]
1.0
1.0
1.0
1.0
0.0
4.0
[S11]
1.0
1.0
0.0
1.0
0.0
3.0
[S12]
1.0
1.0
1.0
0.5
0.5
4.0
[S13]
1.0
1.0
0.0
0.0
0.0
2.0
[S14]
1.0
1.0
1.0
1.0
0.0
4.0
[S15]
1.0
1.0
0.0
0.0
0.0
2.0
[S16]
1.0
1.0
1.0
1.0
0.0
4.0
[S17]
1.0
1.0
0.0
1.0
0.0
3.0
[S18]
1.0
1.0
1.0
1.0
0.0
4.0
[S19]
1.0
1.0
1.0
1.0
0.0
4.0
[S20]
1.0
1.0
1.0
0.0
0.0
3.0
[S21]
1.0
1.0
0.0
0.0
0.0
2.0
[S22]
1.0
1.0
1.0
1.0
1.0
5.0
[S23]
1.0
1.0
1.0
1.0
0.0
4.0
[S24]
1.0
1.0
0.0
0.0
0.0
2.0
[S25]
1.0
1.0
1.0
1.0
0.0
4.0
[S26]
1.0
1.0
1.0
1.0
1.0
5.0
[S27]
1.0
1.0
1.0
0.0
1.0
4.0
[S28]
1.0
1.0
1.0
1.0
0.5
4.5
40
Article Id
Q1
Q2
Q3
Q4
Q5
Score
[S29]
1.0
1.0
0.0
1.0
1.0
4.0
[S30]
1.0
1.0
1.0
1.0
0.0
4.0
[S31]
1.0
1.0
1.0
0.0
0.0
3.0
[S32]
1.0
1.0
0.0
1.0
0.0
3.0
[S33]
1.0
1.0
0.0
1.0
0.0
3.0
[S34]
1.0
0.0
0.0
1.0
0.0
2.0
[S35]
1.0
1.0
0.0
0.5
0.0
2.5
[S36]
1.0
1.0
0.0
1.0
1.0
4.0
[S37]
1.0
0.0
1.0
0.0
0.0
2.0
[S38]
1.0
1.0
1.0
1.0
0.0
4.0
[S39]
1.0
1.0
0.0
0.0
0.0
2.0
[S40]
1.0
1.0
0.0
1.0
0.0
3.0
[S41]
1.0
0.5
0.0
0.5
0.0
2.0
[S42]
1.0
1.0
0.0
0.0
0.0
2.0
[S43]
1.0
1.0
1.0
0.0
0.0
3.0
[S44]
1.0
1.0
1.0
1.0
0.0
4.0
[S45]
1.0
1.0
0.5
0.5
0.0
3.0
[S46]
1.0
1.0
0.0
1.0
1.0
4.0
[S47]
0.0
0.0
0.0
0.0
0.0
0.0
[S48]
1.0
1.0
1.0
1.0
0.0
4.0
[S49]
1.0
1.0
1.0
0.0
0.0
3.0
[S50]
1.0
1.0
1.0
0.0
0.0
3.0
[S51]
1.0
1.0
0.0
0.0
0.0
2.0
[S52]
1.0
1.0
1.0
1.0
0.0
4.0
[S53]
1.0
1.0
1.0
1.0
0.0
4.0
[S54]
1.0
1.0
0.0
1.0
1.0
4.0
[S55]
1.0
1.0
0.0
0.5
0.0
2.5
[S56]
1.0
1.0
1.0
0.0
0.0
3.0
[S57]
1.0
1.0
0.0
0.0
0.0
2.0
[S58]
1.0
1.0
1.0
1.0
0.0
4.0
[S59]
1.0
1.0
1.0
0.0
0.0
3.0
[S60]
1.0
1.0
1.0
1.0
1.0
5.0
[S61]
1.0
1.0
1.0
0.0
0.0
3.0
[S61]
1.0
1.0
1.0
0.0
0.0
3.0
[S63]
1.0
1.0
1.0
1.0
0.0
4.0
[S64]
1.0
1.0
1.0
1.0
1.0
5.0
[S65]
1.0
1.0
0.0
1.0
1.0
4.0
[S66]
1.0
1.0
1.0
1.0
0.0
4.0
[S67]
1.0
1.0
1.0
1.0
1.0
5.0
[S68]
1.0
1.0
1.0
1.0
0.0
4.0
[S69]
1.0
1.0
0.0
1.0
0.0
3.0
[S70]
1.0
1.0
0.0
0.0
0.0
2.0
[S71]
1.0
1.0
1.0
1.0
0.0
4.0
[S72]
1.0
1.0
0.5
1.0
1.0
4.5
[S73]
1.0
1.0
1.0
1.0
0.0
4.0
[S74]
1.0
1.0
1.0
1.0
0.0
4.0
[S75]
1.0
1.0
1.0
1.0
0.0
4.0
[S76]
1.0
1.0
1.0
1.0
0.0
4.0
[S77]
1.0
1.0
0.0
1.0
0.0
3.0
41
Article Id
Q1
Q2
Q3
Q4
Q5
Score
[S78]
1.0
1.0
1.0
1.0
0.0
4.0
[S79]
1.0
1.0
0.5
1.0
0.0
3.5
TOTAL
78.0
74.5
49.5
53.5
15.5
271.0
AVERAGE
0.99
0.94
0.63
0.68
0.20
3.43
APPENDIX C
Table 29 RQ1 Results Summary
Articl
e Id
Problem
Project
Project
Method
Area
Focus
Activity
Describ
ed
Score
[S1]
MOD
CVM
DE
DRA
3.0
VR
ARC
PRO
DE
DRA
5.0
CR
VR
organization.
DD
DI
[S3]
PRO
PM
BVE
4.0
EAM
PE
PDS
4.0
Domain-Specific Kits -
MOD
DE
DRA
4.0
REQ
[S5]
[S6]
[S7]
VR
DD
COD
DE
DI
EAM
PE
PC
TEST
DE
DT
PE
PT
CR
CON
PM
SD
PDR
PE
PR
EAM
DE
MOD
3.5
DRA
5.0
CR
VR
MOD
CVM
1.0
PC
4.0
DE
DRA
4.0
CR
VR
extraneous differences.
42
[S11]
CVM
DE
Mechanisms (MSVCM) -
DRA
3.0
VR
TEST
PE
PT
4.0
CVM
DE
DRA
2.0
QCL
VR
DD
DI
[S14]
COD
DE
DI
PE
PC
DE
DRA
4.0
times.
[S15]
CVM
CR
VR
2.0
PDR
PE
PD
4.0
ADP
PM
BVE
3.0
PRM
4.0
PRO
[S18]
ARC
DE
DT
EAM
PE
PT
PDR
PE
PR
CON
PD
AUTO
PC
[S20]
[S21]
4.0
MOD
DE
DD
3.0
QCL
PE
PD
COD
PE
PC
2.0
CVM
DE
DRA
5.0
VR
EAM
DE
DD
MOD
PE
PD
CVM
4.0
system.
[S24]
EAM
DE
Di
QCL
PE
DT
PC
PT
2.0
43
PDS
[S25]
[S26]
MOD
DE
DRA
REQ
PE
PR
CON
VIS
DE
DI
PE
PC
DE
DT
PE
PT
PM
SD
DE
DD
TEST
4.0
5.0
4.0
infrastructure
[S28]
Ownership Architecture -
ADP
4.5
ARC
DE
DI
PDR
PE
PC
MOD
DE
DRA
evolution.
EAM
4.0
populations.
[S30]
4.0
CR
VR
[S31]
PDR
DE
DI
PE
PC
DE
DD
PE
PD
PDR
DE
DI
3.0
EAM
PE
PC
2.0
3.0
MOD
3.0
Asset Organization for Product Derivation Organization schemes for the software core assets used to
build products.
[S34]
PT
PDS
EAM
DE
DI
PE
PC
evolution.
[S36]
2.5
PDS
CVM
DE
VR
4.0
COD
DE
DI
2.0
PE
PC
DE
DRA
[S38]
REQ
Architectures) -
MOD
ARC
4.0
DD
ARC
MOD
DE
DD
2.0
PRO
44
[S40]
ARC
DE
DI
(EATAM) -
QCL
PE
PD
3.0
PC
Adoption Factory -
ADP
PM
BVE
2.0
TEST
DE
DT
2.0
PE
PT
DE
SD
[S43]
[S44]
CVM
DRA
CR
ontology.
VR
CVM
DE
DRA
3.0
4.0
VR
PR
PD
[S45]
CVM
DE
VR
3.0
COD
PE
PC
4.0
REQ
DE
DRA
0.0
PE
PR
DE
PC
4.0
3.0
Language Oriented Programming software development paradigm that aims to close the gap
between the ability to reuse high-level concepts in
software design and the ability to reuse the code
implementing them, through extensive use of Domain
Specific Languages (DSLs).
[S47]
Design Structure Matrices An approach to assess the modularity of SPLs through the
dependencies.
[S48]
REQ
PE
AUTO
DE
DRA
MOD
PE
PR
PDR
DE
DRA
CVM
REQ
MOD
3.0
PR
(SRSs).
[S51]
QCL
DE
DRA
REQ
PE
PR
ARC
2.0
models.
45
[S52]
REQ
DE
DRA
4.0
VR
development
[S53]
ADP
PM
DD
4.0
PD
REQ
PM
SD
PRM
DE
DRA
PE
CR
development
4.0
VR
[S55]
ARC
PDR
DE
DD
2.5
3.0
ARC
DE
DD
QCL
PE
PD
MOD
DE
DT
2.0
TEST
4.0
ARC
DE
DD
MOD
PE
PD
DE
DRA
EAM
[S59]
Refactoring -
DOC
3.0
PR
SPLs.
[S60]
COD
PE
PD
5.0
PC
MOD
DE
REQ
PE
DD
3.0
3.0
TEST
[S62]
COD
DE
DI
EAM
PE
PC
REQ
DE
DRA
PRM
PE
CR
[S64]
[S65]
VR
PR
decisions.
PD
DE
DRA
REQ
PE
PR
SPL Conqueror -
PE
PD
4.0
5.0
4.0
PC
functional properties.
[S66]
Feature Unweaving -
ADP
PM
SD
MOD
DE
DRA
4.0
46
CVM
CR
VR
DD
[S67]
ScenTED-DF technique -
MOD
DE
DT
TEST
PE
PT
PDR
PE
PD
5.0
application engineering.
[S68]
[S69]
4.0
PC
REQ
MOD
DE
DRA
3.0
CR
solution domains.
VR
DD
[S70]
REQ
graphs -
CVM
DE
VR
2.0
CR
DRA
DD
TEST
DE
DT
PE
PT
DE
DRA
4.0
EAM
CR
VR
4.5
COD
DE
DRA
4.0
CR
DD
DI
[S74]
[S75]
CON
DE
DD
4.0
MOD
CON
DE
DRA
4.0
AUTO
DE
DD
4.0
QCL
PE
PR
3.0
MOD
CON
[S77]
EAM
PD
CVM
DE
VR
CON
PDR
4.0
CR
DRA
PE
PR
3.5
PD
PC
configuration process.
47
APPENDIX D
Table 30 Score card for the quality assessment of 79 empirical studies
Article
Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q8
Q9
Q10
Q11
Q12
Q13
Q14
Total
S9
14
S6
11
S26
11
S66
.5
10.5
S72
.5
.5
.5
10.5
S17
10
S25
10
S32
10
S18
.5
9.5
S13
S16
S65
S67
.5
.5
S74
S12
.5
8.5
S31
.5
8.5
S64
.5
8.5
S19
.5
.5
S53
.5
.5
S41
.5
.5
.5
7.5
S52
.5
7.5
S44
S55
.5
.5
S58
S30
.5
6.5
S38
.5
6.5
S54
.5
6.5
S10
S11
S20
S22
S23
S45
S68
S71
S77
S78
.5
.5
.5
.5
S2
.5
5.5
S3
.5
.5
.5
5.5
S4
.5
5.5
S34
.5
5.5
S46
.5
5.5
S60
.5
5.5
Id
48
Article
Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q8
Q9
Q10
Q11
Q12
Q13
Q14
Total
S5
S28
.5
.5
S29
S33
.5
.5
S36
S40
.5
.5
S48
S70
.5
.5
S7
.5
.5
.5
4.5
S57
.5
4.5
S61
.5
.5
.5
4.5
S21
.5
.5
S24
.5
.5
S27
S42
.5
.5
S43
.5
.5
S49
S56
S61
S63
S76
S1
.5
.5
.5
3.5
S35
.5
3.5
S39
.5
.5
.5
3.5
S51
.5
.5
.5
3.5
S8
.5
.5
S37
S47
S50
.5
.5
S75
.5
.5
S79
S15
.5
2.5
S59
.5
2.5
S14
S73
.5
.5
S69
.5
1.5
Total
28
13
62
35.5
26.5
26.5
67.5
15
17
15
51.5
61
44
467.5
AVG
0.35
0.16
0.78
0.45
0.34
0.34
0.85
0.19
0.06
0.22
0.19
0.65
0.77
0.56
5.92
Id
REFERENCES
[1]. Krueger, Charles W. "Benefits of Software Product Lines." Software Product Lines. BigLever Software,
Inc. Web. 19 Apr. 2012. <http://www.softwareproductlines.com/benefits/benefits.html>.
[2]. P. Clements, L., and Northrop. 2001. Software Product Lines: Practices and Patterns. Addison-Wesley
Longman Publishing Co., Inc., Boston, MA, USA.
49
[3]. Czarnecki, K., and Eisenecker, U. Generative Programming: Methods, Tools, and Applications. ACM
Press/Addison-Wesley Publ. Co., New York, NY, USA, 2000.
[4]. Zhang, He., and M. A. Babar. "An Empirical Investigation of Systematic Reviews in Software
Engineering." Empirical Software Engineering and Measurement (ESEM), 2011 International
Symposium on (2011): 87-96. IEEE Xplore Digital Library. Web. 19 Apr. 2012.
[5]. Kitchenham, B.A., Procedures for Performing Systematic Reviews, tech. report SE0401, Dept. of
Computer Science, Univ. of Keele, and tech. report 0400011T.1, Empirical Software Eng., National
Information and Communications Technology Australia, 30 Aug. 2004.
[6]. Kitchenham, B., Pretorius R, Budgen D., Pearl Brereton O., Turner M., Niazi, M., and Linkman. S.
"Systematic Literature Reviews in Software Engineering A Tertiary Study." Information and Software
Technology 52.8 (2010): 792-805. ScienceDirect. Web. 19 Apr. 2012.
[7]. Da Silva, Fabio Q.B., Andr L.M. Santos, Srgio Soares, A. Csar C. Frana, Cleviton V.F. Monteiro,
and Felipe F. Maciel. "Six Years of Systematic Literature Reviews in Software Engineering: An
Updated Tertiary Study." Information and Software Technology 53.9 (2011): 899-913. ScienceDirect.
Web. 19 Apr. 2012.
[8]. Zhang, H. and Babar, M. A. (2011). An empirical investigation of systematic reviews in software
engineering. In Empirical Software Engineering and Measurement (ESEM), 2011 International
Symposium on, pages 8796.
[9]. Bastos, J. F., da Mota Silveira Neto, P. A., de Almeida, E. S., and de Lemos Meira, S. R. (2011).
Adopting software product lines: A systematic mapping study. In Evaluation Assessment in Software
Engineering (EASE 2011), 15th Annual Conference on, pages 1120.
[10]. Chen, L. and Babar, M. A. (2011b). A systematic review of evaluation of variability management
approaches in software product lines. Information and Software Technology, 53(4):344362.
[11]. da Silva, I. F., da Mota Silveira Neto, P. A., OLeary, P., de Almeida, E. S., and de Lemos Meira, S. R.
(2011c). Agile software product lines: a systematic mapping study. Software: Practice and Experience,
41(8):899920.
[12]. Diaz, J., Prez, J., Alarcn, P. P., and Garbajosa, J. (2011). Agile product line engineeringa
systematic literature review. Software: Practice and Experience, 41(8):921941.
[13]. Engstrm, E. and Runeson, P. (2011a). Software product line testing a systematic mapping study.
Information and Software Technology, 53(1):213.
[14]. Montagud, S., Abraho, S., and Insfran, E. A systematic review of quality attributes and measures for
software product lines. Software Quality Journal, pages 162.
[15]. da Mota Silveira Neto, P. A., do Carmo Machado, I., McGregor, J. D., de Almeida, E. S., and
de Lemos Meira, S. R. (2011b). A systematic mapping study of software product lines testing.
Information and Software Technology, 53(5):407423.
[16]. Murugesupillai, E., Mohabbati, B., and Gasevic, D. (2011). A preliminary mapping study of approaches
bridging software product lines and service-oriented architectures. In Proceedings of the 15th
International Software Product Line Conference, Volume 2, SPLC 11, New York, NY, USA. ACM
[17]. Alves, V., Niu, N., Alves, C., and Valena, G. (2010b). Requirements engineering for software product
lines: A systematic literature review. Information and Software Technology, 52(8):806820.
[18]. Bezerra, Y. M., Pereira, T. A. B., and da Silveira, G. E. (2009). A systematic review of software product
lines applied to mobile middleware. In Information Technology: New Generations, 2009. ITNG 09.
Sixth International Conference on, pages 10241029.
50
[19]. Chen, L., Ali Babar, M., and Ali, N. (2009b). Variability management in software product lines: a
systematic review. In Proceedings of the 13th International Software Product Line Conference, SPLC
09, pages 8190, Pittsburgh, PA, USA. Carnegie Mellon University.
[20]. Khurum, M. and Gorschek, T. (2009b). A systematic review of domain analysis solutions for product
lines. Journal of Systems and Software, 82(12):19822003.
[21]. Montagud, S. and Abraho, S. (2009). Gathering current knowledge about quality evaluation in software
product lines. In Proceedings of the 13th International Software Product Line Conference, SPLC 09,
pages 91100, Pittsburgh, PA, USA. Carnegie Mellon University.
[22]. de Souza Filho, E., de Oliveira Cavalcanti, R., Neiva, D., Oliveira, T., Lisboa, L., de Almeida, E., and
de Lemos Meira, S. (2008). Evaluating domain design approaches using systematic review. In Morrison,
R., Balasubramaniam, D., and Falkner, K., editors, Software Architecture, volume 5292 of Lecture Notes
in Computer Science, pages 5065. Springer Berlin / Heidelberg.
[23]. "Journals by Title - Databases - AU Library." AU Library. Athabasca University. Web. 19 Apr. 2012. <
http://library.athabascau.ca/journals/title.php?subjectID=36>.
[24]. B.A. Kitchenham, S.L. Pfleeger, L.M. Pickard, P.W. Jones, D.C. Hoaglin, K. El Emam, J. Rosenberg,
Preliminary guidelines for empirical research in software engineering, IEEE Transactions on Software
Engineering 28 (8) (2002) 721734.
[25]. P. Runeson and M. Host. Guidelines for conducting and reporting case study research in software
engineering. Empirical Software Engineering, 14(2):131164, 2009.
[26]. Jedlitschka, A., Ciolkowski, M. & Pfahl, D. (2008), Reporting experiments in software engineering, in
F. Shull, J. Singer & D. Sjberg, eds, Guide to Advanced Empirical Software Engineering, SpringerVerlag, London, chapter 8.
[27].
B. Kitchenham, "DESMET: A method for evaluating Software Engineering methods and tools,"
[28].
Pohl, Klaus, Gnter Bckle, and Frank J. van der Linden. Software product line
51
[36]. Pohl, Klaus, Gnter Bckle, and Frank van der Linden. Software product line engineering foundations,
principles, and techniques. New York, NY: Springer, 2005. Print.
[37]. Easterbrook, S., Singer, J., Storey, M.-A., and Damian, D. (2008). Selecting empirical methods for
software engineering research. In Shull, F., Singer, J., and Sjberg, D. I. K., editors, Guide to Advanced
Empirical Software Engineering, pages 285311. Springer London.
[38]. Wieringa, R.J.(2012) A Unified Checklist for Observational and Experimental Research in Software
Engineering (Version 1).Technical Report TR-CTIT-12-07,Centre for Telematics and Information
Technology, University of Twente, Enschede. ISSN 1381-3625.
[39]. D. Moher, S. Hopewell, K. Schulz, V. Montori, P. Gtzsche, P. Devereaux, D. Elbourne, M. Egger, and
D. Altman, for the CONSORT Group, CONSORT 2010 Explanation and Elaboration: updated
guidelines for reporting parallel group randomised trial, British Medical Journal, p. 340:c869, 2010.
[40]. K. Schulz, D. Altman, and D. M. D, CONSORT 2010 Statement: updated guidelines for reporting
parallel group randomised trials, Annals of Internal Medicine, vol. 152, no. 11, pp. 17, 1 June 2010.
[41]. Petersen K, Feldt R, Mujtaba S, Mattsson M (2008) Systematic Mapping Studies in Software
Engineering. In: proceedings of the 12th International Conference on Evaluation and Assessment in
Software Engineering, pp. 71-80.
[42]. A. Brown and C. Lin. Limitations of Software Solutions for Soft Error Detection, The Second
Workshop on System Effects of Logic Soft Errors, Urbana-Champain, IL, April 11-12, 2006, (2006).
[43]. L. Chen et al., Variability management in software product lines: a systematic review, in: 13th SPLC,
2009, pp. 8190.
[44]. L. Chen et al., A status report on the evaluation of variability management approaches, in: 13th EASE,
2009.
[45]. M. Khurum et al., A systematic review of domain analysis solutions for product lines, JSS 82 (12)
(2009) 19822003.
[46]. B.P. Lamancha et al., Software product line testing a systematic review, ICSOFT (2009) 2330.
[47]. S. Montagud et al., Gathering current knowledge about quality evaluation in software product lines,
SPLC (2009) 91100.
[48]. E.D. de Souza Filho et al., Evaluating domain design approaches using systematic review, ECSA (2008)
5065.
[49]. M. Khurum et al., Systematic review of solutions proposed for product line economics, in: 2nd
MESPUL, 2008, pp. 386393.
[50]. D. Sjberg, T. Dyba, M. Jrgensen, The Future of Empirical Methods in Software Engineering
Research, in: Future of Software Engineering (FOSE07), IEEE, 2007, pp. 358378.
[51]. Dyb, Tore, and Torgeir Dingsyr. "Empirical studies of agile software development: A
systematic review." Information and software technology 50, no. 9 (2008): 833-859.
52