=Paper=
{{Paper
|id=Vol-557/paper-6
|storemode=property
|title=Integrated Modeling of Software Product Lines with Feature Models and Classification Trees
|pdfUrl=https://ceur-ws.org/Vol-557/paper6.pdf
|volume=Vol-557
|dblpUrl=https://dblp.org/rec/conf/splc/OsterMSM09
}}
==Integrated Modeling of Software Product Lines with Feature Models and Classification Trees==
Integrated Modeling of Software Product Lines with
Feature Models and Classification Trees
Sebastian Oster Florian Markert Andy Schürr
Real-Time Systems Group Computer Systems Group Real-Time Systems Group
Technische Universität Darmstadt Technische Universität Darmstadt Technische Universität Darmstadt
Werner Müller
Global Systems Engineering Methods
Adam Opel GmbH
Abstract—Software Product Lines (SPLs) are an approach to together with semi-automatic procedures that allow one to
improve reusability of software in a large number of products select the appropriate test cases for a specific SPL instance.
that share a common set of features. In SPLs, Feature Models Examining more closely the state-of-the-art of SPL develop-
(FMs) are frequently used to model commonalities and variabil-
ities. However, according to the best of our knowledge, there are ment and software testing approaches in the automotive in-
no approaches to automatically generate test cases on the basis dustry we see that various kinds of feature modeling concepts
of a stand-alone FM. We introduce a method, which fills this and tools are used for the design of SPLs and the selection
gap. In single system software testing, Classification Trees (CTs) of needed instances [4], [21]. On the other hand, CTs and
are a proven approach for generating test cases derived from related tools such as CTE [1] are successfully used for black-
the original system specification. In this paper, we explore the
relations and similarities between FMs and CTs and integrate box testing of single product instances. We are not aware
both methods to a unified approach called Feature Model for of any proposal how to combine feature modeling concepts
Testing (FMT). used for the description and selection of features (parameters,
options, ... ) of SPLs with CT-concepts used for the description
I. I NTRODUCTION and selection of test case parameters of selected product
SPL-engineering is one of the most promising approaches instances—despite of the fact that the borderlines between
of the Software Engineering community to reduce the develop- feature selection at compile time and input parameter selection
ment costs, for as well as to increase the quality of families of at runtime are blurred, and the same parameter may either be
similar software product instances [4]. As a consequence, soft- instantiated at compile time or flash time, to unlock a specific
ware product line engineering is successfully used in various function or changed at runtime to activate a certain mode of
domains, including the domain of automotive software devel- operation.
opment. In this area, the combination of highly parametrized To overcome these problems we will first present in Section II
software of electronic control units (ECUs), together with of this paper the fundamentals of SPL description by means of
an abundance of configuration options of networks of ECUs FMs and the specification of parameter equivalence classes for
will soon lead to a situation, where (1) a single ECU may testing purposes by means of CTs. Furthermore, this section
be instantiated in at least 10.000 different ways and (2) the introduces our paper’s running example, a subset of a case
software of a network of more than 50 ECUs in a single car study provided by the Adam Opel GmbH which is a subsidiary
may exist in millions of different configurations. of GM (General Motors) Corp. Afterwards, we explain in more
As a matter of fact, we are, therefore, running into a situation detail the state-of-the-art of systematic testing approaches of
where each instance of a certain brand of car possesses a SPLs and black box testing with CTs in a related work section.
unique configuration of the embedded software of all its ECUs. Section IV then systematically compares the basic modeling
Testing all these millions of instances of an automotive SPL in elements of FMs, similar to the developed FMs in FODA [14]
the following traditional way is no longer feasible: create all and the classification approach as supported by the tool CTE
actually used instances of an SPL and then develop for each [1]. Based on this comparison, a tight integration of both
instance a separate suite of integration test cases. Hence, the modeling languages is proposed and the abstract syntax of
automotive industry as well as engineers from other domains the resulting feature and test parameter modeling language
are urgently looking for new methods how to systematically “FMT” is presented. In Section V we describe the derivation
generate sets of software product instances that represent of a product with corresponding test cases from the FMT.
equivalence classes of instances with a sufficiently similar Additionally, we discuss an approach of testing SPLs using
behavior from a system integration testing point of view. FMT. The conclusion summarizes the advantages of such an
Furthermore, model-based and more traditional black and integrated feature and parameter equivalence class modeling
white box testing approaches are adapted in such a way that approach and lists a number of ongoing and future research
families of test models and derived test cases can be developed, activities.
II. F UNDAMENTALS the original FODA with additional cardinality extension [7].
The contribution of this paper is to generate variants and Table I depicts the used notation. We do not want to discuss
corresponding test cases on the basis of one representation of
Graphical Notation Cardinality Formal description
the SPL.
Single features
edge with filled circle 1..1 feature is mandatory
A. Running Example edge with unfilled circle 0..1 feature is optional
Our running example is a very simple subset of hard- Group of features
ware and software components of the recently released Opel filled circles 1..n choose exactly
and connected edges one feature
Insignia. We restrain ourselves to four sensors, two actors unfilled circles n..m choose any combination of
(engines), and one software component. The sensors are rain and connected edges features, but at least one
light sensor (RLS), turn indicator sensor (TIS), steering angle TABLE I
sensor (SAS), and the vehicle speed sensor (VSS). The RLS N OTATION
detects rain and the TIS indicates the driver’s choice to turn
left or right. SAS senses the steering angle and the VSS
senses the speed of the car. Two different types of engines every FODA extension because our approach is not limited to
serve as hardware features: a 1.6 liter and a 2.0 liter turbo a certain FM. We also aim e.g. to support the Orthogonal
engine. Additionally, we use one feature of the (Adaptive Variability Model (OVM) proposed by Pohl et al. [21]. A
Forward Lighting) AFL+ technology. The bending light is a detailed description of the relation between FMs and OVMs is
functionality which belongs to AFL+ and realizes an adaptive given in [18]. We, therefore, assume that our unified approach
curve light. All parameters presented in this paper are provided using FMs may also use the OVM approach.
by the Adam Opel GmbH. We use the running example to The FM in Fig. 1 shows an excerpt of the Opel Insignia FM.
exemplify the differences and commonalties between FMs and All dependencies and constraints within the FM have to be
CTs and to motivate our approach of integrating both to a taken into account when deriving a product.
Feature Model for Testing (FMT).
B. Product Lines and Feature Models
SPLs provide a high level reuse of software in a spe-
cific problem domain [4], [21]. FMs are frequently used
to describe an explicit representation of the commonalities
and variabilities in an SPL. FMs consist of features each
representing “a system property that is relevant to some
stakeholder” as defined in [6]. One major advantage of using
FMs to model SPLs is that they offer a very intuitive way
to represent commonalities and variabilities. However, FMs
by themselves are insufficient for a complete modeling of
an SPL. Usually FMs are complemented by development Fig. 1. Feature Model of Opel Insignia
artifacts such as UML diagrams or code fragments that are
traced to the corresponding features. An FM provides a tree-
C. Software Testing with Classification Trees
like structure and incorporates different node notations and
cross-tree-constraints. The first feature model was introduced After extracting a variant from the FM, suitable test cases
by Kang et al. in [14] as part of FODA, in 1990. In the need to be built. For this purpose the CT-method was in-
FM of FODA node notations like, mandatory, optional, and troduced by Grochtmann and Grimm [11]. It provides an
alternative features can be modeled. It is also possible to use approach to black box testing. Test cases can be extracted
require and exclude constraints between features, which are by defining rules for valid input combinations. A CT consists
described textually. Since the introduction of FODA, further of classifications (boxes with bold lines), compositions (boxes
extensions of FMs were introduced to improve precision with thin lines), and equivalence classes (values in brackets).
and expressiveness, including amongst others cardinalities, Each equivalence class represents a disjoint subset of param-
probabilities, and weighting. We can employ cardinalities to eter values for a classification, while the composition splits
formulate the different notations of features and groups of complex input parameters into a number of subcomponents.
features [7]. The probabilities can be based on empirical To generate test cases from a specification using CTs the
data and/or system specifications and are used to state that following procedure needs to be applied:
a certain feature is more likely than another one [8]. Weights 1) evaluate the specification and identify all classifications
can be used to represent cost factors of features to help the with the corresponding equivalence classes
engineers to build products appropriate for a certain budget 2) build the CT
[13]. Czarnecki et al. summarize some existing extensions 3) fill the test case table with respect to the CT using
of the FODA FM [6]. However, our FM is very similar to parameter value combination heuristics
4) extract all possible test cases from the test case table by development process of SPLs:
identifying valid combinations of equivalence classes Product-by-product testing: In the majority of cases, each
omitting illegitimate samples out of the test set instance of an SPL is tested individually. This method is
called product-by-product testing. Each product instance may
Fig. 2 depicts a variant of the Insignia SPL and a correspond- be tested using the CT approach. However, this method is very
ing CT to test this instance. Sensors is a composition, while exhaustive and normally not practicable. For instance, in the
turn indicator is a classification of the equivalence classes automotive field a single ECU like the engine control unit may
representing test values. The model is extracted from the be instantiated in at least several 10.000 different ways. Since
specification of the product instance. Test cases can be derived a car may consist of up to 50 ECUs this results in millions of
easily by choosing a valid combination of equivalence classes. different configurations. An individual test of all configurations
This model can e.g. be used to check the output characteristics is feasible neither at the end of the assembly line nor during
of the AFL+ dependent upon the sensor intervals. The range of the development process. One method to improve product-by-
the intervals is defined by the designer. It depends on suitable product testing is to identify a minimal set of products which
test scenarios chosen by the designer or extracted from the is representative for all other products. However, finding a
specification. A test case table is built, which incorporates all minimal test set is an NP-complete problem [26]. Different
relevant test cases in an abstract way. heuristics are used to approximate a minimal test set. A very
promising procedure is mentioned in [26]. The author uses a
simplified version of the OVM approach. Members for the
representative set of products are selected on the basis of
requirements. That means that certain products are chosen so
that all requirements are verified at least once. Optimization
problems are formulated to produce a minimal test set.
In [20], an approach with a motivation similar to [26] was
published. It uses dependencies derived from architecture and
implementation to extend the FM of the SPL under test. Sub-
sequently, pairwise testing that considers these dependencies
is used to generate a representative set of products.
In both approaches the generation of test cases with appropri-
ate input parameter values is out of scope.
Incremental Testing: In this approach, the first product de-
rived from the SPL is tested individually, for instance by using
the CT-methodology. With respect to the commonalities be-
tween the different products, the following products are tested
using regression testing techniques [17]. The challenging part
of this approach is to identify those parts of a product which
stay unchanged and those which vary. The question arises
if only the modified and added parts have to be tested. In
addition, one has to find out if the modified parts can be
tested individually or if some of them have to be tested in
Fig. 2. Classification tree of selected product instance combination with unchanged components.
Reusable assets: The goal is to create reusable test assets.
In Fig. 2 three test cases for the CT of the running example To ensure reusability, these assets are created during domain
are given. Each test case consists of the equivalence classes engineering. For each product these assets are customized
marked by the black dots in a horizontal line. during application engineering. Pohl et al. apply model based
testing techniques. The authors use activity diagrams which
III. R ELATED W ORK are developed in domain engineering, based on requirements,
In this section we focus on SPL-testing and the role FMs and customized during application engineering to derive test
play in that context. We also present research activities related cases. The so called ScenTED approach focuses on the reuse
to software testing using the CT-method to generate test cases. of test cases [25], [24], [22]. It uses substitution in order
to derive configuration specific test cases. This is a very
A. Testing SPLs promising approach which we will take into account in our
Miscellaneous approaches exist dedicated to SPL testing. future work. However, test parametrization and the selection
Although there are no real FM-based testing approaches, many of proper values is still an open problem.
test methods partially use the FM of the SPL under test. A Division of responsibility: In [28], this method is described
summary of methods is given in [28]. The authors distinguish according to the levels of the development process, for instance
between the following approaches to integrate testing into the the V-model. For example, unit testing can be executed during
domain engineering and the other levels of the V-model could first subsection starts with the in-depth comparison of FM
be executed in the application engineering phase. and CT modeling constructs. Based on the results of this
All approaches confirm that testing is very challenging in comparison, the following subsection then selects a minimal
SPL-engineering due to the high level of variability. However, number of language constructs that correspond to a superset of
the fact that the parametrization within an SPL leads to an the concepts of both FM and CT. Finally, the last subsection
additional degree of variability is often neglected as well as introduces a metamodel that captures the essential design of
the fact that the borderlines between parameters that model the new integrated FMT modeling language from an abstract
variability at design time and parameters that are instantiated syntax point of view.
at runtime are often moving.
A. FMT Language Constructs
Furthermore, we are not aware of any SPL testing approach
that combines SPL variant selection strategies with parame- In this section we develop language constructs which
ter value selection strategies as supported by CT. The tool present a minimal list of abstract language concepts that is
pure::variants [23] offers e.g. the option to store parameter a superset of the concepts of FM and CT. Table II lists the
information in attributes of features, but gives no support constructs of FMs and CTs and the corresponding constructs
for the definition of equivalence classes etc. The approach for the unified approach: FMT. First, we have to define which
published in [19] is as far as we know the most similar kinds of nodes the FMT needs to support. CTs distinguish
SPL testing method to FMT. It uses one decision model to between compositions, classification, and equivalence classes.
represent the variability of an SPL as well as to document input Composition and classification (line 1 in Table II) in CTs
parameters of the regarded system. An integrated SPL variant are nodes with child elements and equivalence classes (line
and parameter value selection process is presented with rather 3 in Table II) are leafs in a CT. In FMs only compound
promising evaluation results. Compared to FMT presented here features contain child elements and leafs are always features.
the decision model is considerably less expressive and the To integrate CTs and FMs with regard to the different kinds
introduced selection process is considerably less expressive of nodes, we need to examine the differences. Compositions
than the algorithms for SPLs and the heuristics developed for are always mandatory and classifications are always optional
CT-based black box testing purposes. nodes. As a consequence, we can use the compound feature
known from FMs, and use cardinalities to state that the
B. Black-Box Testing Products with CT compound feature is either optional (0..1) or mandatory (1..1).
CTs are a widely used technique for test case generation. Therefore, we adopt the compound feature for the FMT
There are many publications related to this topic. A CT can approach. The leafs of CTs and FMs differ obviously. On the
be used to test a single product instance derived from the
Feature Model Classification Tree FMT
FM. The resulting product instance has specific actors and
1. compound composition, compound feature
sensors, which interact complying to the specification. A CT feature classification
splits the input domain of the sensors into relevant equivalence 2. Feature none Feature
classes. These classes can be used to test an actor that is 3. none equivalence atomic feature
class
part of the product instance. Several approaches to improve 4. mandatory composition mandatory feature
and extend CTs like the Classification Hierarchy Table [3], feature (1..1) (1..1)
the Classification Tree Transformer [27], Class Graphs [15], 5. optional classification optional feature
feature (0..1) (0..1)
adding attributes [16], and introducing a time line [5] have 6. (1..n) equivalence (1..n)
been discussed. There are tools like the Classification Tree features class features
Editor for Embedded Systems (CTE/ES) that support the 7. (n..m) none (n..m)
features features
designer when trying to build a CT and its test table. The
8. cross-tree- only between cross-tree-
CTE/ES provides a graphical user interface that enables the constraints equivalence classes constraints
designer to build a CT and the corresponding combination 9. feature none feature
table. attributes attributes
10. feature none feature
All CT-based testing approaches we are aware of share the types types
drawback that they deal with single product instances only
TABLE II
and thus are only compatible with a product-by-product SPL L ANGUAGE C ONSTRUCTS
testing approach.
IV. U NIFIED A PPROACH - FMT one hand, an equivalence class represents a value or range
As introduced in the preceding sections FMs and CTs of values of a parameter necessary for testing. On the other
have been used in software engineering for rather different hand a feature in FMs can be any feature or property of
purposes until now. An in-depth comparison of the modeling an SPL. To realize an integration we need a leaf, which is
language constructs of FMs and CTs in the sequel reveals capable to represent both information: a feature in general and
that both modeling approaches share a majority of their a representation of values of parameters. Another difference,
concepts. Therefore, this section is structured as follows: the which we have to take into account for the integration, are the
cardinalities. In FMs features and compound features may have in hardware or software. Additionally, we can apply constraints
four different types of cardinalities to describe commonalities between Features and, therefore, also between Compound
and variabilities. In CTs three of them are present: composition Features and Atomic Features. According to FMs we
(1..1), classification (0..1), and equivalence classes (1..n). We allow Require and Exclude constraints between all nodes.
adopt the missing cardinality of FM to ensure that the FMT is Since we want to adopt the cardinalities, describing the relation
as expressive as the original FM. Furthermore, all four types of features or groups of features to their parent node, we model
of cardinalities may be used on all levels of an FMT tree in a relation between Features and Compound Features
contrast to the much more restrictive approach of CT. by means of the class Dependency, which contains the
In addition, we allow cross-tree-constraints between all cardinality constraints as attributes (minimum and maximum
nodes of the FMT (line 8 in Table II). Finally, we adopt the cardinality).
node attributes and node types from feature modeling (line 9 Fig. 4 depicts an object diagram that shows how dependencies
and 10 in Table II). and cardinalities are used to distinguish between the four
different categories of subfeatures of Table II. A Feature is
B. Concept
We now describe the integration of FM and CT by means
of a metamodel depicted in Fig. 3. We developed this class
diagram on the basis of Table II. Please note that the depicted
class diagram is a small extract of the complete FMT meta-
model that illustrates the concept of the unified approach. It
does e.g. not contain any information concerning the test case
generation. The characteristics of the nodes of the FMT ap-
proach are described using the following classes: Compound Fig. 4. Object Diagram describing cardinality in FMT
Feature, Feature, and Atomic Feature. The last one
can either be a feature representing its property in form of always connected to its Compound Feature by a depen-
a literal or an interval. This is realized using the two classes dency. Therefore, Dependencies with different cardinalities
Literal and Interval. These classes may represent: can be placed beneath a Compound Feature.
• a value or a range of values of test parameters as known V. A PPLICATION
from equivalence classes in CTs In this section we briefly describe the application of our
• a value or a range of values of parameters needed for FMT approach by generating test cases for our running
product instantiation purposes example. Additionally, we discuss a tool, which is under
• the labels of features known from FMs. development in our research groups.
A. Generating a test case
We demonstrate the ability to derive products and test
cases on the basis of the FMT using our running example
depicted in Fig. 5. We now derive two different products
and present the handling of the parameters. The two products
differ because they use different types of engines which results
in different configurations. The 2.0 Turbo ECOTEC engine
allows a vehicle maximum speed of 240km/h and, therefore,
needs to be tested above 200km/h. The 1.6 ECOTEC engine
is limited to 192km/h and does not require the test instance
Fig. 3. Simplified metamodel of the unified approach for vehicle speeds above 200km/h. Therefore, when testing the
product containing the 1.6 ECOTEC engine, the equivalence
A node in the FMT can only be a Compound Feature or class representing a speed range between 201 and 250 km/h
a leaf node (Literal or Interval), because the classes has to be disregarded.
Feature and Atomic Feature are abstract. Compound For both instances we derived some example test cases, which
Feature, Literal, and Interval inherit properties from was done according to the well-known procedure described in
Feature. All nodes in the FMT may have a Type and an section II-C. In the following we will describe the FMT in
arbitrary number of Attributes. In a Type the information Fig. 5 which integrates the information of the FM of Fig.
of the data type of a feature is stored if existent. This is 1 and the CT of Fig. 2. Leaf nodes of the FMT, therefore,
important, for instance, to distinguish between parameters of either represent basic features of the Opel Insignia SPL or
an integer or real data type. Attributes can store any equivalence classes of (runtime) parameter values. All non-
information of the node. To obtain sufficient information to leaf nodes of the FMT are inherited from the FM of Fig. 1,
properly plan the test effort it is for example important for whereas leaf nodes are inherited from Fig. 1 and 2. The nodes
vehicle OEMs to embed information about realizing a feature of the new FMT have to be interpreted as follows:
Fig. 5. FMT of the running example
• All nodes below the sensors node represent optional The selection of a specific variant and associated test cases
or mandatory Opel Insignia sensors together with their is specified in a style adopted from CTs (due to lack of space
output parameter value definitions which are used as input the FMT metamodel of Fig. 3 does not cover these elements).
parameters for control function test cases. Different shapes on vertical lines are used to distinguish
• All nodes below the actors node represent available actors between the following three cases, when a certain feature or
(actuators) for the Opel Insignia such as different types parameter is selected:
of engines. Input parameters that control the behavior of
these actors have been omitted due to lack of space. These 1) square: selection at design time
missing parameters are output parameters of to be tested 2) circle: selection at installation time (flash time)
control functions. Specifications of their values can be 3) triangle: selection at runtime
used as oracles during the execution of test cases.
• A node like bending light represents a group of control
functions that shall be tested. Again due to lack of space The first two options correspond to the selection of a certain
we do assume that bending light consists of a single variant in an FM, whereas the third option corresponds to the
function only which consumes output values of a subset selection of test cases with parameter values in a CT.
of all sensors and produces input values for a subset of Regarding the bottom part of Fig. 5 we can see that the type
all actors defined in Fig. 6. of engine is of course selected at design time. The bending
Node attributes (which are not visualized in Fig. 5) are used light functionality can be added or removed by firmware
to distinguish these different categories of nodes of FMTs as updates as long as the optional rain light sensor is present.
well as for other purposes like the definition of additional node The fact that all presented variants with their associated test
selection constraints (cf. metamodel of Fig. 3). Furthermore, cases do contain the optional rain light sensor is implicitly
Fig. 5 shows that the optional bending light functionality still represented by the fact that all test cases possess a parameter
requires the optional rain light sensor (as well as all other value definition for this type of sensor (Wet or Dry). Black
mandatory sensors of our SPL). The fact that the bending triangles represent Wet and Dry values that are actually used
light control function also requires input values from the in a specific test case, whereas white triangles represent the
three other mandatory sensors is not visualized in Fig. 5. fact that the rain light sensor is present and computes output
A more realistic FMT splits the bending light functionality values that are not needed as input for the just regarded test
into a number of subfunctionalities such as curve light, rain cases. Finally, Fig. 5 shows that four of the six depicted test
light, city light, or highway light which have to be tested cases are related to the functionality of the bending light (black
separately. As a consequence we have to distinguish between bending light circles). In general, the distinction between black
features (functions, parameters, sensors, actors) that are part and white shapes related to other nodes of the FMT reflect the
of a regarded product instance, but irrelevant for a specific test information which features and parameter values are relevant
case, and features that are directly involved in a specific test for which test case. It consists of nodes describing the product
case. The test case specifications in the lower part of Fig. 5 line and nodes for the test cases. Test case values are depicted
use black and white shapes for these two different purposes. in brackets.
(graph transformations) can be used to implement automat-
ically executable FMT transformations. The last processing
step of Fig. 6 has been implemented by modifying an existing
Java implementation of a pairwise testing tool. The modified
implementation in addition takes all kinds of dependencies
between FMT nodes into account. The incorporation of CT-
parameter value selection heuristics dealing e.g. with illegal
or stress parameter equivalence classes (cf. Section II-C)
is subject of ongoing research activities. The same is true
for the first processing step depicted in Fig. 6. Right now
dependencies that capture the fact that certain features or
parameters interact from an implementation point of view
have to be added manually. The adaption of ideas how to
automatically derive this information from SPL architectures
or code is also subject to future research activities.
According to the approach described in [20] we use the
pairwise combination method to generate a representative set
of products. At this point the major advantages of the FMT
approach comes into play. We can generate the test cases
for the selected products semi-automatically as described in
Fig. 6. Using FMT for SPL testing
the previous section. To summarize, we benefit from several
advantages using FMT instead of FM. The FMT is more
precise than FM when it comes to parametrization and for each
B. Testing SPLs using FMT
product of the representative set we can derive the correspond-
In this subsection we describe in more detail how the FMT ing test cases semi-automatically. Likewise, the FMT describes
approach is used for SPL testing purposes, i.e. we sketch parameters explicitly, therefore, we can consider dependencies
a methodology how to generate the bottom part of Fig. 5 which only occur between certain values of parameters.
automatically. For this purpose we describe the current state
of development of our MoSo-PoLiTe project, which realizes VI. C ONCLUSION AND F UTURE W ORK
the test methodology described in [20], but use FMT instead Within this paper we have presented a new approach how
of FM. The generation of a representative set of products is to integrate SPL engineering with feature models (FMs) and
subdivided into three steps [20]. black-box testing of system functions with CTs. Our mo-
1) Adding dependencies derived from system architecture tivation for this line of research is based on the fact that
and code as additional edges in the FMT. both FM- and CT-based methods are, e.g., well established
2) Simplification of the FMT such that the resulting FMT in the automotive industry for embedded software system
uses a minimal set of modeling concepts. development purposes. On the one hand FMs are a suitable
3) Integrated selection of variants and runtime parameter modeling method to describe commonalities and variabilities
values using the pairwise combination approach of [20] of an SPL. CTs, on the other hand, support the generation of
Fig. 6 depicts the individual steps. We refer to [20] for further test cases, using equivalence classes of parameter values of a
details. To use the FMT approach we are currently developing regarded system function. We are not aware of any integrated
an FMT tool suite using MOFLON and GEF [10]. MOFLON approach that combines both methods for the generation of
is a meta-CASE tool for rapid development of CASE tools variants as test candidates and the associated test cases. Today,
and tool adapters [2] developed at the Technische Univer- FM-based methods are first used to select one variant after
sität Darmstadt. MOFLON supports model analysis, model the other; then for each of these variants a separate CT has
transformation, and model integration for standard modeling to be defined which is then used to guide the related test case
languages like UML or domain-specific modeling languages. selection process. The integration of FM and CT in the form of
The abstract syntax of the new FMT modeling language as the presented new FMT (Feature Model for Testing) method
well as its static semantics rules are described using the seems to be the perfect symbiosis of two very promising
OMG metamodeling approach supported by MOFLON, i.e. a and widely used techniques. The key advantages are: (1) we
combination of MOF 2.0 and OCL 2.0. Using this description use a single model for SPLs and test case generation, (2)
as input we can generate an FMT model repository imple- approaches known from FMs and CTs can still be applied,
mentation together with all specified static semantics rules and (3) generation algorithms of variants and test cases can
in Java. Furthermore, a generic text-oriented user interface be combined. We are currently working on different projects
for the definition of FMT instances is generated, too. The using FMT for SPL testing purposes including the BMBF
implementation of the user interface of a visual FMT editor project feasiPLe. Ongoing and future research activities will
on top of GEF is ongoing work. Model transformation rules address the following problems:
• Checking the consistency of the FMT with respect to [4] P. Clements and L. Northrop, Software product lines: practices and
an additionally available specification of the behavior of patterns. Boston, MA, USA: Addison-Wesley Longman Publishing
Co., Inc., 2001.
the studied system. The FMT needs to incorporate the [5] M. Conrad and A. Krupp, “An extension of the classification-tree method
complete functionality described in the specification. This for embedded systems for the description of events.” Electr. Notes Theor.
must be done before generating test cases. Comput. Sci., vol. 164, no. 4, pp. 3–11, 2006.
[6] K. Czarnecki, S. Helsen, and U. Eisenecker, “Staged configuration
• In embedded systems, our main application area, real- through specialization and multilevel configuration of feature models,”
time constraints play an important role. Furthermore, test Software Process: Improvement and Practice, vol. 10, no. 2, pp. 143–
cases often have to be executed in a specified order and 169, 2005.
[7] ——, “Formalizing cardinality-based feature models and their special-
continuous parameter values reflecting physical properties ization,” in Software Process: Improvement and Practice, 2005, pp. 7–
of a controlled system and its environment have to be 29.
synthesized from sequences of selected discrete parame- [8] K. Czarnecki, S. She, and A. Wasowski, “Sample spaces and feature
models: There and back again,” in SPLC ’08. Washington, DC, USA:
ter values using well-known interpolation methods. IEEE Computer Society, 2008, pp. 22–31.
• Defining a measure of completeness for the generated test [9] K. Czarnecki and A. Wasowski, “Feature diagrams and logics: There
scenarios with respect to an additionally available system and back again,” in SPLC ’07. Washington, DC, USA: IEEE Computer
Society, 2007, pp. 23–34.
behavior specification is challenging, too [26]. Complete- [10] G. E. F. (GEF). [Online]. Available: http://www.eclipse.org/gef/
ness checkers are useful to evaluate the generated test [11] M. Grochtmann and K. Grimm, “Classification trees for partition test-
cases and to find gaps and corner cases. ing,” Software Testing, Verification and Reliability, vol. 1993, pp. 63–82,
1993.
• The nodes of the FMT have to be extended to describe the [12] M. Janota and J. Kiniry, “Reasoning about feature models in higher-
cost of creating configurations and requirements priority order logic,” in SPLC ’07. Washington, DC, USA: IEEE Computer
which is essential for complex SPLs in the automotive Society, 2007, pp. 13–22.
[13] B. D. Jules White and D. C. Schmidt, “Selecting highly optimal
sector. architectural feature sets with filtered cartesian flattening,” Journal of
• We are currently applying our approach to several SPL Systems and Software to appear.
scenarios. These are real world examples and FMTs [14] K. C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak, and A. S. Peterson,
“Feature-oriented domain analysis (foda) feasibility study,” Carnegie-
generated randomly. Mellon University Software Engineering Institute, Tech. Rep., November
• We apply the pairwise testing approach [20] to generate a 1990.
representative set of test cases and measure the coverage [15] K. R. P. H. Leung and W. Wong, “Towards a more efficient way of
generating test cases: Class graphs,” in APAQS ’00: Proceedings of
using appropriate and well known coverage metrics. the The First Asia-Pacific Conference on Quality Software (APAQS’00).
We focus on model checking techniques to address some of the Washington, DC, USA: IEEE Computer Society, 2000, pp. 285–293.
[16] S. Lützkendorf and K. Bothe, “Attributierte Klassifikationsbäume zur
problems stated above. Hence, another field of our research is Testdatenbestimmung,” Softwaretechnik-Trends, vol. 23, no. 1, 2003.
the use of model checkers for test case generation and FMT [17] J. D. McGregor, “Testing a software product line,” Tech. Rep. CMU/SEI-
validation. For this purpose, we need to develop a tool that 2001-TR-022, 2001.
[18] A. Metzger, K. Pohl, P. Heymans, P.-Y. Schobbens, and G. Saval,
is able to translate the FMT and the resulting test cases into “Disambiguating the documentation of variability in software product
boolean formulas, which can be evaluated by a model checker. lines: A separation of concerns, formalization and automated analysis,”
Methodologies to translate an FM into a boolean formula have in RE ’07. 15th IEEE International, 2007, pp. 243–253.
[19] E. M. Olimpiew and H. Gomaa, “Model-based testing for applications
already been introduced in [12], [9]. derived from software product lines,” in A-MOST ’05. New York, NY,
Finally, we have to address the problem that realistic complete USA: ACM, 2005, pp. 1–7.
FMT models cannot be displayed directly as depicted in [20] S. Oster and A. Schürr, “Architekturgetriebenes Pairwise-Testing für
Software-Produktlinien,” in Workshop SE ’09: Produkt-Variabilität im
this paper. Various methods have to be developed how to gesamten Lebenszyklus, March 2009.
collapse/hide irrelevant substructures efficiently. [21] K. Pohl, G. Böckle, and F. J. v. d. Linden, Software Product Line
Engineering: Foundations, Principles and Techniques. Secaucus, NJ,
ACKNOWLEDGMENT USA: Springer-Verlag New York, Inc., 2005.
[22] K. Pohl and A. Metzger, “Software product line testing,” Commun. ACM,
This work was partially funded by the feasiPLe project, vol. 49, no. 12, pp. 78–81, 2006.
[23] pure::systems. [Online]. Available: http://www.pure-systems.com
“Feature-driven, aspect-oriented and model-driven Software [24] S. Reis, A. Metzger, and K. Pohl, “Integration testing in software product
Product Line Development”, Federal Ministry of Education line engineering: A model-based technique,” in FASE, 2007, pp. 321–
and Research (BMBF), Germany. 335.
[25] A. Reuys, E. Kamsties, K. Pohl, and S. Reis, “Model-based system
testing of software product families,” in CAiSE, 2005, pp. 519–534.
R EFERENCES [26] K. Scheidemann, “Verifying families of system configurations,” Doctoral
[1] S. Alekseev, R. Tiede, and P. Tollkühn, “Systematic approach for using Thesis, vol. TU Munich, 2007.
the classification tree method for testing complex software-systems,” in [27] I. Stürmer, H. Dörr, H. Giese, U. Kelter, A. Schürr, and A. Zündorf, “Das
SE’07: Proceedings of the 25th conference on IASTED. Anaheim, CA, MATE Projekt visuelle Spezifikation von MATLAB Simulink/Stateflow
USA: ACTA Press, 2007, pp. 261–266. Analysen und Transformationen,” Dagstuhl Seminar Modellbasierte En-
[2] C. Amelunxen, A. Königs, T. Rötschke, and A. Schürr, “Adapting twicklung eingebetteter Systeme, Januar 2007.
FUJABA for Building a Meta Modelling Framework,” in Proc. 1st [28] A. Tevanlinna, J. Taina, and R. Kauppinen, “Product family testing: a
International Fujaba Days, H. Giese and A. Zündorf, Eds., vol. tr-ri- survey,” ACM SIGSOFT Software Engineering Notes., vol. 29, pp. 12–
04-247, 10 2003, pp. 29–34. 12, 2004.
[3] T. Y. Chen, P. L. Poon, and T. H. Tse, “A new restructuring algorithm for
the classification-tree method,” in STEP ’99. Washington, DC, USA:
IEEE Computer Society, 1999, pp. 105–114.