<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Debian Packages Repositories as Software Product Line Models. Towards Automated Analysis</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">José</forename><forename type="middle">A</forename><surname>Galindo</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Department of Computer Languages and Systems Av</orgName>
								<address>
									<addrLine>Reina Mercedes S/N</addrLine>
									<postCode>41012</postCode>
									<settlement>Seville</settlement>
									<country key="ES">Spain</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">David</forename><surname>Benavides</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Department of Computer Languages and Systems Av</orgName>
								<address>
									<addrLine>Reina Mercedes S/N</addrLine>
									<postCode>41012</postCode>
									<settlement>Seville</settlement>
									<country key="ES">Spain</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Sergio</forename><surname>Segura</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Department of Computer Languages and Systems Av</orgName>
								<address>
									<addrLine>Reina Mercedes S/N</addrLine>
									<postCode>41012</postCode>
									<settlement>Seville</settlement>
									<country key="ES">Spain</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Debian Packages Repositories as Software Product Line Models. Towards Automated Analysis</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">93B51872896D14A89BC0BD7F80659BDE</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-23T19:38+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The automated analysis of variability models in general and feature models in particular is a thriving research topic. There have been numerous contributions along the last twenty years in this area including both, research papers and tools. However, the lack of realistic variability models to evaluate those techniques and tools is recognized as a major problem by the community. To address this issue, we looked for largescale variability models in the open source community. We found that the Debian package dependency language can be interpreted as software product line variability model. Moreover, we found that those models can be automatically analysed in a software product line variability model-like style. In this paper, we take a first step towards the automated analysis of Debian package dependency language. We provide a mapping from these models to propositional formulas. We also show how this could allow us to perform analysis operations on the repositories like the detection of anomalies (e.g. packages that cannot be installed).</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>I. INTRODUCTION</head><p>Software Product Line (SPL) engineering is about building set of related software products. From existing assets, products are assembled reducing production costs and time-to-market. Variability Models are used to represent the set of products of an SPL. Typical variability models are feature models <ref type="bibr" target="#b2">[3]</ref>, orthogonal variability models <ref type="bibr" target="#b20">[21]</ref> or decision models <ref type="bibr" target="#b8">[9]</ref>. The automated analysis of variability models deals with the automated extraction of information from variability models <ref type="bibr" target="#b2">[3]</ref>. In the last years, a large number of techniques haven been proposed in the literature in order to automatically analyse variability models. In <ref type="bibr" target="#b2">[3]</ref>, Benavides et al. provide a detailed literature review on twenty years of automated analysis of feature models identifying 30 different analysis operations (e.g. Valid Product and Dead Features). These analyses are mainly performed using logic paradigms such propositional logic, constraint programming or description logic. There are also several commercial and open source tools supporting the analysis of variability models such as AHEAD tool suite <ref type="bibr" target="#b1">[2]</ref>, DecisionKing <ref type="bibr" target="#b7">[8]</ref>, FaMa <ref type="bibr" target="#b3">[4]</ref>, pure::variants [20] S.P.L.O.T <ref type="bibr" target="#b16">[17]</ref> and VarMod (OVM) <ref type="bibr" target="#b24">[25]</ref>.</p><p>The lack of realistic and large-scale variability models to evaluate and compare the performance of analysis tools is acknowledged to be a challenge in the SPL community <ref type="bibr" target="#b0">[1]</ref>, <ref type="bibr" target="#b22">[23]</ref>, <ref type="bibr" target="#b10">[11]</ref>, <ref type="bibr" target="#b23">[24]</ref>, <ref type="bibr" target="#b12">[13]</ref>. Although there are references to real feature models with hundreds or even thousands of features <ref type="bibr" target="#b0">[1]</ref>, these are not available for the research community. This has led authors to use trivially small feature models as case studies or to generate the models randomly <ref type="bibr" target="#b22">[23]</ref>. Therefore, realistic models are highly desirable in order to assess the scalability of analysis tools.</p><p>In order to look for realistic and large-scale variability models, we decided to look into the open source community. We found that Debian based linux distributions have a language to describe dependencies in software packages repositories. They are used in Debian individual installations in order to add, remove or update packages and manage their possible conflicts and dependencies <ref type="bibr" target="#b15">[16]</ref>. We found that this language can be interpreted as a variability language similar to those of feature models, OVMs or decision models. Thus, a Debianbased linux distribution could be interpreted as a product line and the individual installations could be therefore considered the products of the product line. In this context, a product is a set of installed packages, i.e. a Debian installation. Similarly, we assume that a set of repositories define an SPL of Debianbased distributions. We may remark that this could also be applied to other dependency languages such as RPM <ref type="bibr" target="#b13">[14]</ref>, <ref type="bibr" target="#b9">[10]</ref> (previusly called Red-Hat Package Manager) but for simplicity they are out of scope of this paper.</p><p>The main contribution of this paper is twofold. First, we suggest that Debian packages dependency language can be considered as a variability language. Second, we provide a mapping from this language to propositional formulas enabling their analysis by means of SAT solvers. As a part of our contribution, we present a motivating example showing how our approach could be used to detect uninstallable packages in the repositories, a task that is currently done by hand. Finally, we explain how we plan to integrate our approach in the FaMa Framework, a tool we developed, enabling an efficient and user-friendly extraction of Debian variability models and their analysis .</p><p>The rest of the paper is structured as follows. Section II describes the main elements of the Debian package dependency language. Section III proposes a graphical view of Debian variability models. A motivation example is presented in Section IV clarifying how the Debian packaging system describes a SPL and how can the automated analysis help in the detection of inconsistencies and redundancies. We show a mapping from Debian Variability Modelling Language (DebianVML) to propositional formula in Section V to enable the automated reasoning of it.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>II. DEBIAN PACKAGE DEPENDENCY LANGUAGE</head><p>This section describes the main elements of the Debian package dependency language. A Debian-based installation is associated with a set of package repositories. A package is a unit of software that can be installed and configured. Each package repository is associated with a configuration file written in the Debian package dependency language including information about the software packages and their relationships/dependencies.</p><p>Figure <ref type="figure" target="#fig_0">1</ref> shows a fragment of a repository configuration file. For each package in the file, a set of properties are presented. A property is composed of a name and one or more values associated with it. Properties may be divided into those providing basic information about the package (e.g. name, version) and those describing the relationships with other packages. These relationships can be divided into:</p><p>• Depends. Package A depends on package B if B must be installed for A to work properly. Sometimes, A depends not only on B, but on a specific version of it. For instance, in Figure <ref type="figure" target="#fig_0">1</ref>, line 6, describes that package openoffice.orggnome depends on package libc6 with version greater or equal to 2.1.3. If the relationship requires package B to be properly configured for the installation of A, the relationship is referred to as Pre-Depends. Note that a installed package could not be properly configured.</p><formula xml:id="formula_0">• Suggests. Package A suggests package B if B contains</formula><p>files that are related to (and usually enhance) the functionality of A. In Figure <ref type="figure" target="#fig_0">1</ref>, line 8, package openoffice.orggnome suggests package openoffice.org-evolution. When the suggestion of the package is strong and it is intended to be accepted by most of the users this relationship is usually referred to as Recommends. Note that is a human who determines if a the relation should be suggests or recommends. • Conflicts. Package A conflicts with package B when A will not operate if B is installed on the system. In most cases, conflicts are cases where A contains files which are an improvement of those in B. For example, in Figure <ref type="figure" target="#fig_0">1</ref>, line 9, package openoffice.org-gnome conflicts with package openoffice.org2-gnome in versions prior to 1:2.4.0-3ubuntu6.</p><p>• Replaces. Package A replaces package B when files installed by B are removed and in some cases over-written by files in A. In Figure <ref type="figure" target="#fig_0">1</ref>, line 4, package openoffice.orggnome replaces package openoffice.org-common in versions prior to 2.0.4 rc1-0. When this relationship affects only a part of the functionality of the package it is named Provides.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>III. A GRAPHICAL NOTATION FOR DEBIAN DEPENDENCIES</head><p>In order to improve the understandability and readability of the paper we propose a simplified graphical notation <ref type="bibr" target="#b17">[18]</ref> for the Debian package dependency language described in the previous section. We will refer to this notation as Debian  Variability Modelling Language (DebianVML). In this reduced notation we used the a concatenation of the name and version of the packages as the name of the nodes. We omit in this reduced visual notation the relationships of versions. In Figure <ref type="figure" target="#fig_1">2</ref>, we present the graphical symbols used to represent each relationship among packages: depends, pre-depends, conflicts, suggests, recommends, replaces and provides. Notice that some of these relationships are represented with the same notation since they have similar meaning as described in previous Section. Figure <ref type="figure" target="#fig_2">3</ref> shows an example using this notation. As illustrated, the repository is represented as a graph in which nodes represent packages and edges the relationships among packages. Each package is represented as a rectangle labelled with the name and version of the package. In this particular example, we also include a capital letter to simplify later references to the packages in the paper.  Notice that the empty product is allowed in this variability model as it represents a Linux distribution without installed packages. Although this could be controversial, a distribution completely void, even without the Linux Kernel, could be considered valid as even the kernel can be installed or uninstalled.</p><p>There are also other potential products, that are invalid, for example the product {A} is not valid because the depends relationship with B package is not satisfied.</p><p>An example of how the automated analysis could help in this circumstance is shown if we apply the valid product operation <ref type="bibr" target="#b26">[28]</ref>. This analysis operation takes a feature model and a product as inputs and determines whether the product is valid for the model. Applying the same idea to Debian configurations, we could determine that {A, B, C} (Figure <ref type="figure" target="#fig_3">4</ref>) is not a valid instantiation, because the inconsistency marked by the conflicts relationship between packages A and C. In contrast, the product {A, B, D} (Figure <ref type="figure" target="#fig_4">5</ref>) is a valid product since it does not violate any constraint. Another analysis operation of feature models that can be used in the Debian community is the so-called dead features. A feature is dead when the feature does not appear in any valid configuration. In the context of Debian, we can define a dead package as the one that is present in a repository but can never be installed because of the violation of dependencies.  In our preliminary tests using Ubuntu 8.04 <ref type="bibr">[27]</ref> we detected some of these kind of repository inconsistencies. Note that Ubuntu distribution uses the Debian packaging system Figure <ref type="figure" target="#fig_6">7</ref> shows a real example of how a package, wysihtml-le, that is in the universe repository can never be installed. Dead Packages can be detected using similar techniques as we do with other kinds of variability models so the knowledge can be reused. The complexity of these variability models are usually bigger than others used in the software product line community having up to 24780 packages and 159812 packages dependencies in Ubuntu 8.04 with main, multiverse, restricted and universe repositories enabled.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>V. MAPPING DEBIANVML TO PROPOSITIONAL FORMULA</head><p>To enable the automated analysis of DebianVML we must define the mapping from DebianVML to constraints into an specific off-the-shelf solver such as Sat4j <ref type="bibr" target="#b4">[5]</ref>, Choco <ref type="bibr" target="#b5">[6]</ref> or JaCoP <ref type="bibr" target="#b11">[12]</ref>. Note that these solvers are widely used for the automated analysis of feature models <ref type="bibr" target="#b2">[3]</ref>.</p><p>In this Section we do not refer to all the relationships as some of them have a very similar meaning and are treated in the same way as the relationships we describe here. Also there are some relationships that do no affect to the variability in the model and does not need to be added to the solver as constraints more exactly suggests and recommends relationships.</p><p>The algorithm we followed to translate DebianVML to constraints has the following general form: Each package name make up the set of variables then, each relationship is processed to make up the set of constraints (or propositional clauses) of the problem.</p><p>The first relationship to be processed is Replaces. This is a special case of relationship as it is needed to generate a set of tuples containing the replaced packages and their replacements to be ready to process the depends relationships. This is needed because, after performing a general mapping from Debian dependencies to propositional clauses, we have to change the output clauses according to the replacements that are stored in the tuples. For instance, in the example of Figure <ref type="figure" target="#fig_2">3</ref>, we have the tuple (C,D) meaning that D is a replacement of C. Of course, in a real big example, we can have more than a tuple referring to the same package (e.g. (C,X1), (C,X2),... ,(C,Xn) means that C is replaced by X1, X2, ..., Xn).</p><p>After processing the Replaces relationship we can process the other relationships following the general rules presented in TableI.  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>VI. RELATED WORK</head><p>There are other contributions interested in solving the existing lack of realistic variability models in the SPL context. Czarnecki et al. <ref type="bibr" target="#b12">[13]</ref> present how to extract feature models from the Linux kernel using the LKC (Linux Kernel Configurator) language that describes the relationships in a very similar way as feature models do obtaining feature models with about 6319 features. Our approach focuses on other variability dependency language existing in open source community increasing even more the availability of realistic variability models up to 20000 packages to the SPL community. Although our first attempts tried to map DebianVML to feature models, we finally realised that DebianVML can be considered a variability language by it self.</p><p>Recently, Di Cosmo et al. <ref type="bibr" target="#b6">[7]</ref> presented a way to describe feature models using Debian packages dependencies and they propose using Debian dependencies management tools to analyse feature models. Our contribution here is the other way around: we propose to use feature model analysis tools and operations to analyse Debian packages repositories. We think that Di Cosmo et al. contribution and ours are good complements to investigate in this direction.</p><p>A similar contribution to the problem of the analysis of Debian repositories is presented by some of the results of the EDOS project <ref type="bibr" target="#b18">[19]</ref>, <ref type="bibr" target="#b14">[15]</ref>. Our contribution can benefit their results and we have to study in depth at what extend they have performed analysis operations. We think that we can complement their results providing our know-how in the analysis of feature models and software product lines <ref type="bibr" target="#b2">[3]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>VII. CONCLUSIONS, FUTURE WORK AND DISCUSSIONS</head><p>In this paper, we propose using Debian repositories as a good source of realistic and complex variability models. These can be used as motivations inputs problems for those tools dealing with the automation of variability models. At the same time, we consider the Debian community could benefit of this automation to perform several analysis operations like the detection of inconsistencies in repositories, a work that is currently done by hand (e.g. When an error is detected, it is correctly manually).</p><p>In our ongoing research, we are working to enable the analysis of DebianVML in FaMa, making FaMa, our tool to analyse feature model, capable to perform this analysis and helping the community of Debian based distributions, applying the knowledge about feature models under Debian VM.</p><p>FaMa <ref type="bibr" target="#b25">[26]</ref>, <ref type="bibr" target="#b3">[4]</ref> is a framework to build variability model analysis tools, that was designed with extensibility in mind. It offers a platform to implement other kind of variability models. It has already been used to analyse feature models <ref type="bibr" target="#b25">[26]</ref> and also OVMs <ref type="bibr" target="#b21">[22]</ref>. Because the analysis of variability models can be very expensive in terms of memory and time, FaMa also offers a set of tools for benchmarking <ref type="bibr" target="#b22">[23]</ref> over models. These features, coupled to our familiarity with the tool as members of the FaMa project, made FaMa as a good candidate to be extended in order to support the analysis of Debian variability models. This is part of our future work.</p><p>These are the main directions of our future work:</p><p>• Address new operations. Using our experience on feature models (e.g. Development of analysis tools, benchmarking, detection of errors ...) we need to be able to detect anomalies in Debian models such as conditionally dead packages or redundancies, probably the operations with more than one variability model can be very useful to Debian community improving the usability of packaging systems. Also the explanations of the errors to help Debian community on its daily work could help to improve the end user experience. • Benchmarking and optimization. In our preliminary tests we have detected that the Debian based models automated analysis are computationally very expensive, more than 6 hours in a laptop machine with main, multiverse, restricted and universe repositories of Ubuntu 8.04 enabled (24780 packages). We will work on the of the codding to improve those results. We consider that this work could foster discussion about the following topics:</p><p>• Can open source models be considered as SPL models?</p><p>• Can the OS community benefit from the knowledge acquired by the SPL analysis community in the last 20 years [3]? • How advanced are Open Source configuration languages to abstract end-users from technical details?</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 .</head><label>1</label><figDesc>Figure 1. Sample Package Definition</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 2 .</head><label>2</label><figDesc>Figure 2. DebianVML graphical view</figDesc><graphic coords="2,321.84,461.22,231.34,167.22" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Figure 3 .</head><label>3</label><figDesc>Figure 3. DebianVML example</figDesc><graphic coords="3,58.82,155.29,231.34,101.99" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Figure 4 .</head><label>4</label><figDesc>Figure 4. Not Valid Product</figDesc><graphic coords="3,58.82,520.72,231.34,101.99" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Figure 5 .</head><label>5</label><figDesc>Figure 5. Valid Product</figDesc><graphic coords="3,321.84,54.00,231.34,101.99" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>Figure 6 .</head><label>6</label><figDesc>Figure 6. DebianVML with dead package</figDesc><graphic coords="3,321.84,308.96,231.33,173.50" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head>Figure 7 .</head><label>7</label><figDesc>Figure 7. Real demo of a dead package in Ubuntu 8.04</figDesc><graphic coords="4,100.37,54.00,411.26,307.40" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_7"><head></head><label></label><figDesc>Debian Variability Model Propositional formula A Depends B A ⇒ (B) A Depends B A ⇒ (B∨ (being B replaced by C,D,...) C ∨ D ∨ ...) A Conflicts B A ⇒ (¬B) A Replaces B Used to generate the tuples</figDesc></figure>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>ACKNOWLEDMENTS</head><p>We would like to thank the friends and co-worker's that encouraged us in this research and the anonymous reviewers for their helpful comments.</p><p>This work has been partially supported by the European Commission (FEDER) and Spanish Government under CICYT projects SETI (TIN2009-07366) and by the Andalusian Government under ISABEL project (TIC-2533).</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Automated analysis of feature models: Challenges ahead</title>
		<author>
			<persName><forename type="first">D</forename><surname>Batory</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Benavides</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Ruiz-Cortés</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Communications of the ACM</title>
		<imprint>
			<biblScope unit="page" from="45" to="47" />
			<date type="published" when="2006-12">December. 2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Feature-oriented programming and the ahead tool suite</title>
		<author>
			<persName><forename type="first">Don</forename><surname>Batory</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ICSE &apos;04: Proceedings of the 26th International Conference on Software Engineering</title>
				<meeting><address><addrLine>Washington, DC, USA</addrLine></address></meeting>
		<imprint>
			<publisher>IEEE Computer Society</publisher>
			<date type="published" when="2004">2004</date>
			<biblScope unit="page" from="702" to="703" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Automated analysis of feature models 20 years later: A literature review</title>
		<author>
			<persName><forename type="first">D</forename><surname>Benavides</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Segura</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Ruiz-Cortés</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Information Systems</title>
		<imprint>
			<biblScope unit="volume">35</biblScope>
			<biblScope unit="issue">6</biblScope>
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
	<note>In press)</note>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<author>
			<persName><forename type="first">D</forename><surname>Benavides</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Trinidad</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Segura</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Ruiz-Cortés</surname></persName>
		</author>
		<ptr target="http://www.isa.us.es/fama/" />
		<title level="m">Fama framework</title>
				<imprint>
			<date type="published" when="2010-05">May 2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<author>
			<persName><forename type="first">D</forename></persName>
		</author>
		<author>
			<persName><forename type="first">Le</forename><surname>Berre</surname></persName>
		</author>
		<ptr target="http://www.sat4j.org/" />
		<title level="m">Sat4j</title>
				<imprint>
			<date type="published" when="2010-05">May 2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<ptr target="http://choco.emn.fr/" />
		<title level="m">CHOCO solver</title>
				<imprint>
			<date type="published" when="2010-01">January 2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Feature diagrams as package dependencies</title>
		<author>
			<persName><forename type="first">Roberto</forename><surname>Di</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Cosmo</forename></persName>
		</author>
		<author>
			<persName><forename type="first">Stefano</forename><surname>Zacchiroli</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">14th International Software Product Line Conference (SPLC&apos;10)</title>
				<imprint>
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Decisionking: A flexible and extensible tool for integrated variability modeling</title>
		<author>
			<persName><forename type="first">Deepak</forename><surname>Dhungana</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Paul</forename><surname>Grünbacher</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Rick</forename><surname>Rabiser</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">1st International Workshop on Variability Modelling of Software-intensive Systems</title>
				<imprint>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page" from="119" to="128" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Decisionoriented modeling of product line architectures</title>
		<author>
			<persName><forename type="first">Deepak</forename><surname>Dhungana</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Rick</forename><surname>Rabiser</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Paul</forename><surname>Grunbacher</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Working IEEE/IFIP Conference on</title>
				<imprint>
			<date type="published" when="2007">2007</date>
			<biblScope unit="volume">0</biblScope>
			<biblScope unit="page">22</biblScope>
		</imprint>
	</monogr>
	<note>Software Architecture</note>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<ptr target="http://en.opensuse.org/Packagemanagement/Satsolver" />
		<title level="m">FOSDEM&apos;08</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">A preliminary review on the application of feature diagrams in practice</title>
		<author>
			<persName><forename type="first">Arnaud</forename><surname>Hubaux</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Andreas</forename><surname>Classen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Marcílio</forename><surname>Mendonc</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Patrick</forename><surname>Heymans</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">VaMoS</title>
				<imprint>
			<date type="published" when="2010">2010</date>
			<biblScope unit="page" from="53" to="59" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<author>
			<persName><forename type="first">K</forename><surname>Kuchcinski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Szymanek</surname></persName>
		</author>
		<ptr target="http://jacop.osolpro.com/" />
		<title level="m">Jacop</title>
				<imprint>
			<date type="published" when="2010-05">May 2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Evolution of the linux kernel variability model</title>
		<author>
			<persName><forename type="first">Rafael</forename><surname>Lotufo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Steven</forename><surname>She</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Thorsten</forename><surname>Berger</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Krzysztof</forename><surname>Czarnecki</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Andrzej</forename><surname>Wasowski</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">14th International Software Product Line Conference (SPLC&apos;10)</title>
				<imprint>
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<ptr target="http://www.rpm.org" />
		<title level="m">RPM Package Manager</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Managing the complexity of large free and open source package-based software distributions</title>
		<author>
			<persName><forename type="first">Fabio</forename><surname>Mancinelli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Jaap</forename><surname>Boender</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Roberto</forename><surname>Di Cosmo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Jerome</forename><surname>Vouillon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Berke</forename><surname>Durak</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Xavier</forename><surname>Leroy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ralf</forename><surname>Treinen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering</title>
				<meeting>the 21st IEEE/ACM International Conference on Automated Software Engineering<address><addrLine>Washington, DC, USA</addrLine></address></meeting>
		<imprint>
			<publisher>IEEE Computer Society</publisher>
			<date type="published" when="2006">2006</date>
			<biblScope unit="page" from="199" to="208" />
		</imprint>
	</monogr>
	<note>ASE &apos;06</note>
</biblStruct>

<biblStruct xml:id="b15">
	<monogr>
		<ptr target="http://www.debian.org/doc/debian-policy/ch-relationships.html" />
		<title level="m">Debian Policy Manual</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">software product lines online tools</title>
		<author>
			<persName><forename type="first">Marcilio</forename><surname>Mendonca</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Moises</forename><surname>Branco</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Donald</forename><forename type="middle">S</forename><surname>Cowan</surname></persName>
		</author>
		<author>
			<persName><surname>P.L.O.T</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">OOPSLA &apos;09: Proceeding of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications</title>
				<imprint>
			<date type="published" when="2009">2009</date>
			<biblScope unit="page" from="761" to="762" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">The physics of notations: Toward a scientific basis for constructing visual notations in software engineering</title>
		<author>
			<persName><forename type="first">D</forename><surname>Moody</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Software Engineering</title>
		<imprint>
			<biblScope unit="volume">35</biblScope>
			<biblScope unit="issue">6</biblScope>
			<biblScope unit="page" from="756" to="779" />
			<date type="published" when="2009-12">nov.-dec. 2009</date>
		</imprint>
	</monogr>
	<note>IEEE Transactions on</note>
</biblStruct>

<biblStruct xml:id="b18">
	<monogr>
		<ptr target="http://www.edos-project.org" />
		<title level="m">EDOS project</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<monogr>
		<ptr target="http://www.pure-systems.com/" />
		<title level="m">Pure-systems</title>
				<imprint>
			<date type="published" when="2010-05">May 2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">A preliminary comparison of formal properties on orthogonal variability model and feature models</title>
		<author>
			<persName><forename type="first">Fabricia</forename><surname>Roos-Frantz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">VaMoS</title>
				<imprint>
			<date type="published" when="2009">2009</date>
			<biblScope unit="page" from="121" to="126" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Automated analysis of orthogonal variability models. a first step</title>
		<author>
			<persName><forename type="first">Fabricia</forename><surname>Roos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">-</forename><surname>Frantz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Sergio</forename><surname>Segura</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">First Workshop on Analyses of Software Product Lines (ASPL 2008)</title>
				<editor>
			<persName><forename type="first">Steffen</forename><surname>Thiel</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Klaus</forename><surname>Pohl</surname></persName>
		</editor>
		<meeting><address><addrLine>Limerick, Ireland</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2008-09">September 2008</date>
			<biblScope unit="page" from="243" to="248" />
		</imprint>
	</monogr>
	<note>SPLC&apos;08</note>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">Benchmarking on the automated analyses of feature models: A preliminary roadmap</title>
		<author>
			<persName><forename type="first">S</forename><surname>Segura</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Ruiz-Cortés</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Third International Workshop on Variability Modelling of Software-intensive Systems</title>
				<meeting><address><addrLine>Seville, Spain</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2009">2009</date>
			<biblScope unit="page" from="137" to="143" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<analytic>
		<title level="a" type="main">The variability model of the linux kernel</title>
		<author>
			<persName><forename type="first">Steven</forename><surname>She</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Rafael</forename><surname>Lotufo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Thorsten</forename><surname>Berger</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Andrzej</forename><surname>Wasowski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Krzysztof</forename><surname>Czarnecki</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Fourth International Workshop on Variability Modelling of Softwareintensive Systems (VAMOS&apos;10)</title>
				<meeting><address><addrLine>Linz, Austria</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2010-01">January 2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b24">
	<monogr>
		<ptr target="http://www.sse.uni-essen.de/wms/en/index.php" />
		<title level="m">VarMod-PRIME Tool-Environment</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b25">
	<analytic>
		<title level="a" type="main">Fama framework</title>
		<author>
			<persName><forename type="first">P</forename><surname>Trinidad</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Benavides</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Ruiz-Cortés</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Segura</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Jimenez</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">12th Software Product Lines Conference (SPLC)</title>
				<imprint>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b26">
	<analytic>
		<title level="a" type="main">Automated reasoning for multi-step software product-line configuration problems</title>
		<author>
			<persName><forename type="first">J</forename><surname>White</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Doughtery</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Schmidt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Benavides</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Sofware Product Line Conference</title>
				<meeting>the Sofware Product Line Conference</meeting>
		<imprint>
			<date type="published" when="2009">2009</date>
			<biblScope unit="page" from="11" to="20" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
