<?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">An extensive comparison of preprocessing methods in the context of configuration space learning</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Damian</forename><surname>Garber</surname></persName>
							<email>dgarber@ist.tugraz.at</email>
							<affiliation key="aff0">
								<orgName type="institution">Graz University of Technology</orgName>
								<address>
									<addrLine>Inffeldgasse 16b</addrLine>
									<settlement>Graz</settlement>
									<region>Styria</region>
									<country key="AT">Austria</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Alexander</forename><surname>Felfernig</surname></persName>
							<email>alexander.felfernig@ist.tugraz.at</email>
							<affiliation key="aff0">
								<orgName type="institution">Graz University of Technology</orgName>
								<address>
									<addrLine>Inffeldgasse 16b</addrLine>
									<settlement>Graz</settlement>
									<region>Styria</region>
									<country key="AT">Austria</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Viet-Man</forename><surname>Le</surname></persName>
							<email>vietman.le@ist.tugraz.at</email>
							<affiliation key="aff0">
								<orgName type="institution">Graz University of Technology</orgName>
								<address>
									<addrLine>Inffeldgasse 16b</addrLine>
									<settlement>Graz</settlement>
									<region>Styria</region>
									<country key="AT">Austria</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Tamim</forename><surname>Burgstaller</surname></persName>
							<email>tamim.burgstaller@ist.tugraz.at</email>
							<affiliation key="aff0">
								<orgName type="institution">Graz University of Technology</orgName>
								<address>
									<addrLine>Inffeldgasse 16b</addrLine>
									<settlement>Graz</settlement>
									<region>Styria</region>
									<country key="AT">Austria</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Merfat</forename><surname>El-Mansi</surname></persName>
							<email>merfat.elmansi@un.org</email>
							<affiliation key="aff0">
								<orgName type="institution">Graz University of Technology</orgName>
								<address>
									<addrLine>Inffeldgasse 16b</addrLine>
									<settlement>Graz</settlement>
									<region>Styria</region>
									<country key="AT">Austria</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">An extensive comparison of preprocessing methods in the context of configuration space learning</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">C219C348590B273C9BB61B3F78010DDA</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2025-04-23T18:20+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>
			<textClass>
				<keywords>
					<term>Configuration Space Learning</term>
					<term>Machine Learning</term>
					<term>Preprocessing</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>One of the core goals in the research field of configuration space learning is building precise predictive models that allow for reliably estimating the performance of a configuration without requiring costly tests. The models used for this purpose are usually machine learning-based. However, the models show significant deviations in their performance depending on the investigated Software Product Line (SPL), the applied data preprocessing, and the number of sample configurations collected. Thus, we investigate the impact of different preprocessing methods and their behavior when using different SPLs, machine learning models, and sample sizes. Performance comparisons on this scale are usually not conducted due to their prohibitively expensive execution time requirements, even for smaller SPLs. Thus, we used three fully enumerated spaces as our training data, which allows for more generalized results. Our results show that the average factors between the worst and best-performing preprocessing methods are 2.05 (BerkeleyDBC), 1.17 (7z), and 1.84 (VP9). Further, no single preprocessing method tested was able to outperform all others, nor was this the case within one specific SPL or model type. This underlines the importance of testing new approaches with multiple preprocessing methods.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction</head><p>The discovery of configurations that optimize the performance of any given Software Product Line (SPL) is one of the core goals of configuration space learning. The performance of a model can take many forms and rely heavily on the use case. For instance, one may optimize a SPL to perform a core task very efficiently or optimize for the size of the compiled SPL binary. This optimization usually takes place in steps. The first step is sampling configurations from the configuration space of the SPL and measuring the target property, which often entails compiling and running tests or benchmarks, a very time and resource-intensive undertaking. One can use these samples to train a prediction model, which is then used to find a configuration that optimizes the target property. In this paper, we focus on the creation and training of the prediction model. Many factors can impact the performance of a performance prediction model for SPLs, from the SPL itself to the sampling approach used to collect the training data. However, our focus lies on one of the factors often neglected in SPL performance prediction: Preprocessing. We will define any necessary terms used in this paper in Section 2. Preprocessing has proven itself in many other domains that employ machine learning-based prediction models. However, literature reviews such as Gong and Chen <ref type="bibr" target="#b0">[1]</ref> show that less than half of the investigated studies within the field of configuration performance learning use preprocessing, further discussed in Section 3. Accordingly, we thus conduct an in-depth investigation on the influence of preprocessing on performance prediction models for SPLs. To this end, we measure the performance of 4 preprocessing methods in the context of 3 SPLs, 5 machine learning models, and 20 different sizes of training sets. We discuss the details of the experimental evaluation in Section 4, followed by a discussion of the results in Section 5.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">Definitions</head><p>Software Product Line (SPL). SPLs, as a concept started to gain widespread popularity at the beginning of the 2000s <ref type="bibr" target="#b1">[2]</ref>. Engström and Runeson <ref type="bibr" target="#b2">[3]</ref> describe SPLs as the paradigm of forming derivate products from a set of generic components. A SPL has multiple features, each supporting an individual domain of values, which allows for the generation of diverse products using the same components. Configuration. In the context of a SPL, a configuration defines for each feature the corresponding feature value. However, there may exist additional constraints within the SPL. Thus, we speak of a valid configuration if none of the assigned values is inconsistent with any of the constraints. Configuration Space. The configuration space of a SPL describes the space spanned by all valid configurations of the SPL. The size of configuration spaces commonly grows exponentially with the number of features, and we speak of colossal configuration spaces if its size is ≫ 10 10 [4].</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Related Work</head><p>The three fully enumerated configuration spaces provided by Oh et al. <ref type="bibr" target="#b3">[4]</ref> facilitate the comprehensive performance analysis and comparison we conducted. They use them to show that relatively simple approaches like uniform random sampling can outperform well-established tools like SPL Conquerer <ref type="bibr" target="#b4">[5]</ref> to find near-optimal configurations for SPLs. We build on this idea and conduct a comparison of different preprocessing methods. The reasoning behind conducting this comparison is the alarming result of Gong and Chen <ref type="bibr" target="#b0">[1]</ref>. They performed a literature review on deep configuration performance learning and reported that 44 out of 85 investigated studies used the data as it was without any preprocessing. This limited utilization implies a lack of awareness of the impact of preprocessing methods. This lack of awareness may then aggravate the difficulty of reproducing and validating the results of published works. Dacrema et al. <ref type="bibr" target="#b5">[6]</ref>, for example, investigated 18 new approaches published recently, of which they could only reproduce 7. Of the 7 reproduced approaches, they showed that they can outperform 6 by using relatively simple other approaches. The importance of preprocessing methods in many domains has long since been established. Wu et al. <ref type="bibr" target="#b6">[7]</ref>, for example, shows that preprocessing improves the performance of streamflow forecasts. Rasekhi et al. <ref type="bibr" target="#b7">[8]</ref> report improvements in the prediction of epileptic seizures by using preprocessing. We further include in our tests different sample sizes, which allows us to investigate the reaction of the preprocessing methods to changing sample sizes. Acher et al. <ref type="bibr" target="#b8">[9]</ref> sampled and measured 95854 Linux configurations, a minute fraction of the configuration space of 2 15000 (2.818 * 10 4515 ) configurations spaned by Linux. They reported to have needed 15000 hours of computation time to collect the samples. Guo et al. <ref type="bibr" target="#b9">[10]</ref> uses tree-based models to predict configuration performances. Martin et al. <ref type="bibr" target="#b10">[11]</ref> focus on using transfer learning across different versions of the Linux kernel to predict the performances of the versions. They mention preprocessing only for encoding configurations into formats compatible with their machine-learning approach. The literature reviews of Gong and Chen <ref type="bibr" target="#b0">[1]</ref>  Specifications of the machine used in the experiments et al. <ref type="bibr" target="#b11">[12]</ref> named multiple data sampling approaches used in configuration performance learning. However, both identified random sampling as the most popular approach. Pereira et al. <ref type="bibr" target="#b12">[13]</ref> conducted a dedicated study on sampling approaches for learning configuration spaces. They suggest using uniform random sampling as long as it is computationally feasible. Accordingly, we adapted it for our comparison.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Experimental Setup</head><p>This section will discuss the exact experimental setup for data collection and which machine learning models, preprocessing methods, and datasets we were using. All measurements were collected using the same machine with specifications as they are listed in Table <ref type="table" target="#tab_0">1</ref>. We use Mean Absolute Percentage Error (MAPE) to evaluate the model performances, which is one of the most commonly used metrics in literature <ref type="bibr" target="#b0">[1]</ref> [12] <ref type="bibr" target="#b12">[13]</ref>. The code was implemented in Python using the widely used scikit-learn<ref type="foot" target="#foot_0">1</ref> library <ref type="bibr" target="#b13">[14]</ref>. We used Uniform Random Sampling (URS) to generate the training sets of different sizes for model learning. We can perform URS by selecting configurations randomly from the set of valid configurations. The size of the training sets range from 50 to 1000 in steps of 50. However, the tests for all models and preprocessing methods use, within the same iteration, the same training set of a specific size. After the performance of all models using the preprocessing applied to the training sets is measured, these measurements are repeated 15 times, each time with new training sets selected with URS. The average of the resulting MAPE values in the 15 iterations is the value we use when we discuss the results.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1.">Datasets</head><p>For our comparison, we use a dataset of fully enumerated configuration spaces. Thus, the dataset includes all valid configurations for a given SPL. In addition, a value, like execution times of benchmarks or similar, representing the performance of each configuration was measured.</p><p>We use three such datasets based on three configurable software projects: BerkeleyDBC<ref type="foot" target="#foot_1">2</ref> , 7z <ref type="foot" target="#foot_2">3</ref> , and VP9 <ref type="foot" target="#foot_3">4</ref> . The datasets are used in the work of Oh et al. <ref type="bibr" target="#b3">[4]</ref>, and they were made available in their resources <ref type="foot" target="#foot_4">5</ref> . Oh et al. <ref type="bibr" target="#b3">[4]</ref> provided the following description of the three datasets.</p><p>BerkeleyDBC is an embedded database system with 9</p><formula xml:id="formula_0">Name Domain DIAGNOSTIC 0 | 1 HAVE_STATISTICS 0 | 1 HAVE_REPLICATION 0 | 1 HAVE_CRYPTO 0 | 1 HAVE_SEQUENCE 0 | 1 HAVE_VERIFY 0 | 1 HAVE_HASH 0 | 1 CACHESIZE CS16MB | CS32MB | CS64MB | CS512MB PAGESIZE PS1K | PS4K | PS8K | PS16K | PS32K Table 2</formula><p>BerkeleyDBC variable names and their respective domains variables and 2560 configurations. Benchmark response times were measured. We visualize the variable names and their domains in Table <ref type="table">2</ref>. 7z is a file archiver with 9 variables and 68640 configurations. Compression times were measured. We visualize the variable names and their domains in Table <ref type="table">3</ref>.</p><p>VP9 is a video encoder with 12 variables and 216000 configurations. Video encoding times were measured. We visualize the variable names and their domains in Table <ref type="table" target="#tab_1">4</ref>. Although these three configuration spaces do not approach the sizes of colossal configuration spaces like Linux, which spans a configuration space with 2 15000 configurations <ref type="bibr" target="#b8">[9]</ref>, they still have sizes where an enumeration is no longer an option, and thus fall in the purview of the research field of configuration space learning. Depending on the complexity of the tests and the underlying system, procuring very few samples may already be very costly. Acher et al. <ref type="bibr" target="#b8">[9]</ref>, for example, reported 15000 hours of computation to build and measure 95854 Linux configurations. We selected these datasets due to two main advantages. The first is avoiding the extreme computation times of collecting such data, and the second is that using them allows us to test multiple iterations of training sets of different sizes.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2.">Models</head><p>We selected five different types of machine-learning models, each representing a different general approach to</p><formula xml:id="formula_1">Name Domain root 0 | 1 CompressionMethod LZMA | LZMA2 | PPMd | BZip2 | Deflate x x_0", "x_2 | x_4 | x_6 | x_8 | x_10 BlockSize BlockSize_1", "Block- Size_2 | BlockSize_4 | BlockSize_8 | Block- Size_16 | BlockSize_32 | BlockSize_64 | Block- Size_128 | BlockSize_256 | BlockSize_512 | Block- Size_1024 | Block- Size_2048 | Block- Size_4096 Files Files_0 | Files_10 | Files_20 | Files_30 | Files_40 | Files_50 | Files_60 | Files_70 | Files_80 | Files_90 | Files_100 tmOff 0 | 1 mtOff 0 | 1 HeaderCompressionOff 0 | 1 filterOff 0 | 1</formula><p>Table <ref type="table">3</ref> 7z variable names and their respective domains maximize the usefulness of our results. In our implementations, we used models from the scikit-learn <ref type="foot" target="#foot_5">6</ref> python library <ref type="bibr" target="#b13">[14]</ref>. For the sake of reproducibility, we did not perform any parameter tuning on the models and used their respective default settings if not explicitly stated otherwise.</p><p>The first model is a Multi-Layer Perceptron (MLP) model, a feedforward neural network approach. We set the maximum of iterations to 1000 and activated early stopping for our tests. MLPs are, according to Gong and Chen <ref type="bibr" target="#b0">[1]</ref>, the most popular approach when conducting deep configuration performance learning. However, it is a very data-intensive approach that needs comparatively large training sets to perform well. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.3.">Preprocessing</head><p>We used several preprocessing methods to test their impact on the different models and training sizes. For the sake of this comparison, we do not distinguish between actual preprocessing methods like Standardization and encodings such as the One Hot Encoding.</p><p>The first preprocessing method discussed we call default (DEF). It provides a baseline for mostly unaltered data and leaves numeric values untouched. The boolean values are, however, encoded with 0 and 1 for false and true, respectively. If all values of a domain can be converted into numbers this is done (e.g. CS32MB = 32, Table <ref type="table">2</ref>). If this is not possible, the string values are encoded using label encoding <ref type="bibr" target="#b14">[15,</ref><ref type="bibr" target="#b15">16]</ref>, which assigns an increasing numeric value for each unique string in a domain. This format is the default state of the data. Thus, we apply all preprocessing methods mentioned hereafter to the data in this format.</p><p>The second preprocessing method is Min Max Scaling (MMS) <ref type="bibr" target="#b16">[17,</ref><ref type="bibr" target="#b17">18]</ref>, which reduces the scale of a given feature to be between 0 and 1. We achieve this by applying Equation 1 on every feature of the configuration, where min and max are the minimum and maximum recorded numbers for this feature, respectively. When we apply this to the features encoded using label encoding, the result is a derivative of the former called scaled label encoding <ref type="bibr" target="#b18">[19,</ref><ref type="bibr" target="#b19">20]</ref>.</p><formula xml:id="formula_2">𝑓 𝑖 (𝑥 𝑖 ) = 𝑥 𝑖 − 𝑚𝑖𝑛 𝑖 𝑚𝑎𝑥 𝑖 − 𝑚𝑖𝑛 𝑖<label>(1)</label></formula><p>The third preprocessing method is Standardization (STD) <ref type="bibr" target="#b20">[21,</ref><ref type="bibr" target="#b21">22]</ref>, which is achieved by calculating the mean and standard deviation of each feature and applying Equation <ref type="formula" target="#formula_3">2</ref>𝑓</p><formula xml:id="formula_3">𝑖 (𝑥 𝑖 ) = 𝑥 𝑖 − 𝜇 𝑖 𝜎 𝑖<label>(2)</label></formula><p>This results in the mean of every feature in the training set being now 0 and the standard deviation being 1.</p><p>The final preprocessing method is One Hot Encoding (OHE) <ref type="bibr" target="#b22">[23,</ref><ref type="bibr" target="#b23">24]</ref>, which changes the domain of all features to a boolean domain. We achieve this by increasing the dimensions of the data by an encoding of the domain. Thus, if, for example, feature 𝑓 has the domain 0, 6, 12, it would have been replaced with the features 𝑓 0 , 𝑓 6 , 𝑓 12 each of the three resulting boolean features are mutually exclusive and encode one possible value assigned to feature 𝑓.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">Results</head><p>In this section, we showcase the measurements collected as described in the experimental setup section and discuss them. To this end, we will discuss the results of each dataset separately and what observations we made. Firstly, we start with a discussion of our smallest SPL, BerkeleyDBC. All performance results are visualized in Figure <ref type="figure" target="#fig_0">1</ref>. In the results for MLP, we see that OHE is performing best among all preprocessing methods regardless of sample size. However, we can also see a shift in the performances of the preprocessing approaches. STD started as the worst-performing preprocessing method. Despite that, with increasing sample size, it outperformed MMS and DEF. Accordingly, the results of STD approached the results of the best performer OHE for the larger sample sizes. However, when looking at Figure <ref type="figure" target="#fig_1">2</ref> and Figure   3, we see that this behavior does not occur in the other datasets, but, in contrast to other approaches, the results of STD remain either relatively stable or improve with increasing sample sizes. We see a similar behavior on a smaller scale with MMS and DEF. MMS performed initially worse than DEF, overtaking it as soon as sample sizes became larger than 200 and achieving similar results from sample sizes 500 and larger. The other models, in contrast, showed more pronounced preferences for preprocessing methods. For the KNN model, DEF was the best-performing preprocessing method, followed by STD, MMS, and OHE. RF showed the best performance of all models with almost indistinguishable differences of 0.01% between the preprocessing methods on average. Secondly, we will discuss the next larger SPL, 7z. We provide the results for this dataset in Figure <ref type="figure" target="#fig_1">2</ref>. The first observation we can make is that the overall quality of the predicted results decreased. This matches our expectations, since we are predicting the performance of a larger SPL using an equivalent setup. Another observation we can make is that three of the five tested models showed strong oscillations in their performances or, for some preprocessing methods, a worsening of the performance with increasing sample size. The MLP model, for example, showed for the best and second best performing preprocessing methods, MMS and STD, respectively, no significant changes with increasing sample sizes. DEF and OHE showed meanwhile a decrease in performance with increasing sample sizes. The EN and SVM models showed strong oscillations with increasing sample sizes. However, the performances of the preprocessing methods all follow that same pattern, which suggests that the cause for this may lie in the model or the SPL rather than the preprocessing approaches. In the case of the SVM, the performances remained very similar. Average MAPE value over all tested sample sizes from 50 to 1000 with steps of 50 pattern while being displaced with a relatively constant margin along the y-axis, with STD performing best. The KNN model performed as expected, showing constant improvements with increasing sample sizes for all preprocessing methods. However, it is notable that the best performer on the BerkelyDBC dataset DEF performs the worst now, with the former second-best performing STD taking its place as the best performer. The RF model remains again the best performer with a significant margin. The preprocessing performances are again very similar, but STD performs significantly better for the smallest tested sample size, thus outperforming the others. Thirdly, we will discuss the largest SPL we investigated, VP9. The results collected for VP9 are shown in Figure <ref type="figure" target="#fig_2">3</ref>.</p><p>Our first observation is that the results for VP9 are closer to the results from BerkeleyDBC. There are again some oscillations in the results of MLP, but they are comparatively minor and show a clear trend to improvement with increasing sample sizes. We see again that the performance of the EN model remains unaffected by increasing sample sizes, except for some minor oscillations. The SVM model shows a similar pattern as it did with the BerkeleyDBC dataset. The DEF preprocessing method performs once more the worst and shows as the only method with no significant improvement with increasing sample size. KNN shows to be once more consistent, showing stable improvement with increasing sample size, STD performing best once more. The RF model performs once more best by a significant margin. The preprocessing methods have little impact on its performance, but some improve the prediction performance earlier, the best performing being MMS. Finally, we will discuss the results and our observations in general. To this end, we provide the average performances of all models and preprocessing approaches in Table <ref type="table" target="#tab_2">5</ref>. The first observation must be that preprocessing methods have a significant impact on the prediction performances. BerkeleyDBC has an average factor of 2.05 between the best and worst-performing preprocessing methods. In comparison, 7z and VP9 have an average factor of 1.17 and 1.84 respectively. This observation holds for all tested models, even for the best-performer RF. However, RF shows this impact only with the larger SPLs like 7z and VP9. In general, the differences are maximized at low sample sizes and become then smaller with increasing sample sizes. We observe a similar situation with the SVM model, except DEF, which was largely unsuited. DEF was in two out of three tested SPLs performing the worst, showing insignificant improvement with increasing sample sizes. For MLP, KNN, and EN, on the other hand, we can see significant performance differences on every sample size tested, with, in general, more pronounced differences when applying smaller sample sizes. We also observe multiple occasions where misrepresentation of performances could occur when conducting tests with only one preprocessing method. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.">Threats to validity</head><p>This paper compared multiple machine learning-based models and explicitly did not perform any parameter tuning for any one of the models. We used, if not stated explicitly differently, always the default parameters defined by the scikit-learn 7 library <ref type="bibr" target="#b13">[14]</ref>. Thus, we must acknowledge that fine-tuning the model parameters, especially for the more complex models like MLP, likely will improve the performances of the models employed. However, the measured results are still valid and valuable for comparing the model performances concerning the preprocessing methods and the sizes of the training sets employed.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7.">Conclusion</head><p>We tested 15 scenarios of machine learning-based performance prediction in the context of SPLs by measur-7 https://scikit-learn.org/stable/index.html ing the performance of five different machine learning models on three SPLs with training sets of increasing sizes. Except for two, all scenarios tested showed, in part, radical changes in prediction quality depending on the preprocessing method used. These changes were most pronounced when we measured the model performances with only a few samples to use as training sets and became less distinctive with training sets of increased size. On average, the disparity between the worst and the best performing preprocessing method were factors of 2.05 (BerkeleyDBC), 1.17 (7z), and 1.84 (VP9). While we identified the on average best performing preprocessing methods for each model we tested, we also see, as visualized in Table <ref type="table" target="#tab_2">5</ref>, that no single method outperforms all others for each dataset, which holds as well if we only focus on a single model. Thus, having shown both the significant impact and the inconsistency in the performance of preprocessing methods, we draw the following conclusions. Results that do not state which, if any, preprocessing method was employed become hard to reproduce. Further, the disregard of preprocessing methods may pose a threat to the validity of results. In summary, preprocessing methods are a high-impact, low-effort, and inconsistent part of the field of SPL performance prediction, and all these properties make them essential to be considered and tested.</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: The performances of each preprocessing method applied to each model and a comparison between the top performers of each model aplyed to the BerkeleyDBC dataset.</figDesc><graphic coords="5,89.29,86.07,431.91,258.41" type="bitmap" /></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: The performances of each preprocessing method applied to each model, and a comparison between the top performers of each model applied to the 7z dataset.</figDesc><graphic coords="5,89.29,385.84,432.44,259.64" 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: The performances of each preprocessing method applied to each model, and a comparison between the top performers of each model applied to the VP9 dataset.</figDesc><graphic coords="6,89.29,84.19,432.52,259.20" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head></head><label></label><figDesc>For the SVM model, DEF performed the worst with comparatively little improvement with larger sample sizes. The remaining preprocessing methods, from worst to best, MMS, STD, and OHE show relatively similar results, improving with increasing sample sizes. For the EN model, OHE performs best, and the remaining three, from worst to best, MMS, DEF, and STD show relatively similar results. The sample size has a comparatively small impact on the performances. Results with sample sizes of 200 and larger only show a minor oscillation and remain otherwise stable. The comparison between models shows that RF outperforms the other models. All models except for EN show significantly better performances with larger sample sizes. However, MLP was impacted the most by the sample size. It overtook the performance of SVM at a sample size of 450 and EN at 900.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head>Table 1</head><label>1</label><figDesc>and Pereira    </figDesc><table><row><cell>Name</cell><cell>Value</cell></row><row><cell>Vendor</cell><cell>Lenovo</cell></row><row><cell>Product</cell><cell>20N6001GGE</cell></row><row><cell>CPU</cell><cell>Intel Core i7-8665U (4x 1,90 GHz)</cell></row><row><cell>RAM</cell><cell>32GB (DDR4)</cell></row><row><cell>OS</cell><cell>Manjaro Linux</cell></row><row><cell>Kernel version</cell><cell>6.1.80.-1-MANJARO</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head>Table 4</head><label>4</label><figDesc>The KNN model predicts the performance of the configuration by calculating the average of the performances of the configuration's k nearest neighbors. In our case, the average was weighted by the distance between the neighbor and the configuration. VP9 variable names and their respective domains known data point. We use bagged trees, which means we train all underlying decision trees to solve the problem using all features. The final result is in the context of classification decided based on a majority vote. However, in our context of regression, we calculate the final result by taking the mean of all results produced by the decision trees.</figDesc><table><row><cell>The third model is a Random Forest (RF), an ensemble</cell></row><row><cell>method employing several decision trees generated using</cell></row><row><cell>the training data to predict the performance of an un-</cell></row></table><note>The second model is a K-Nearest Neighbors (KNN) model, a memory-based approach. The model finds the k-nearest neighbors to a configuration from the training set, in our case the default value 5.</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head>Table 5</head><label>5</label><figDesc>The preprocessing performances in the EN model follow the same oscillation</figDesc><table><row><cell>Model</cell><cell>Preprocessing</cell><cell>BerkeleyDBC</cell><cell>7z</cell><cell>VP9</cell></row><row><cell>MLP</cell><cell>DEF</cell><cell>25.68%</cell><cell>114.76%</cell><cell>273.94%</cell></row><row><cell>MLP</cell><cell>MMS</cell><cell>26.29%</cell><cell>99.97%</cell><cell>144.24%</cell></row><row><cell>MLP</cell><cell>STD</cell><cell>31.12%</cell><cell>99.98%</cell><cell>129.80%</cell></row><row><cell>MLP</cell><cell>OHE</cell><cell>10.27%</cell><cell>104.41%</cell><cell>117.11%</cell></row><row><cell>KNN</cell><cell>DEF</cell><cell>1.44%</cell><cell>119.01%</cell><cell>182.27%</cell></row><row><cell>KNN</cell><cell>MMS</cell><cell>4.29%</cell><cell>82.30%</cell><cell>158.79%</cell></row><row><cell>KNN</cell><cell>STD</cell><cell>2.85%</cell><cell>78.42%</cell><cell>124.31%</cell></row><row><cell>KNN</cell><cell>OHE</cell><cell>4.47%</cell><cell>79.99%</cell><cell>241.55%</cell></row><row><cell>RF</cell><cell>DEF</cell><cell>0.54%</cell><cell>9.51%</cell><cell>15.14%</cell></row><row><cell>RF</cell><cell>MMS</cell><cell>0.55%</cell><cell>9.54%</cell><cell>14.97%</cell></row><row><cell>RF</cell><cell>STD</cell><cell>0.55%</cell><cell>9.50%</cell><cell>15.23%</cell></row><row><cell>RF</cell><cell>OHE</cell><cell>0.54%</cell><cell>10.82%</cell><cell>18.32%</cell></row><row><cell>SVM</cell><cell>DEF</cell><cell>6.44%</cell><cell>91.46%</cell><cell>249.59%</cell></row><row><cell>SVM</cell><cell>MMS</cell><cell>6.07%</cell><cell>91.33%</cell><cell>101.45%</cell></row><row><cell>SVM</cell><cell>STD</cell><cell>6.04%</cell><cell>91.29%</cell><cell>100.35%</cell></row><row><cell>SVM</cell><cell>OHE</cell><cell>6.03%</cell><cell>91.36%</cell><cell>116.08%</cell></row><row><cell>EN</cell><cell>DEF</cell><cell>5.19%</cell><cell>176.36%</cell><cell>246.24%</cell></row><row><cell>EN</cell><cell>MMS</cell><cell>5.31%</cell><cell>177.54%</cell><cell>273.19%</cell></row><row><cell>EN</cell><cell>STD</cell><cell>5.09%</cell><cell>169.40%</cell><cell>267.77%</cell></row><row><cell>EN</cell><cell>OHE</cell><cell>2.54%</cell><cell>173.59%</cell><cell>226.60%</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_3"><head></head><label></label><figDesc>For instance, one can conclude that SVMs outperform MLPs on the BerkeleyDBC dataset for sample sizes smaller or equal to 1000 when conducting tests only with DEF or MMS. However, when testing with STD or OHE, we see that MLP outperforms SVMs on the BerkeleyDBC dataset for sample sizes greater than 650 or 400, respectively. From this, we conclude that a sound comparison between two or more predictive models should compare their performances when using their best-performing preprocessing methods. Omitting the preprocessing method used may, by extension, lead to poorly reproducible results. MLP showed to work on average best with OHE. The performance of this model strongly correlated with the sample size, and it usually started with comparatively high MAPE scores that became more competitive with increasing sample sizes. Furthermore, it is prone to oscillation. KNN showed to work on average best with STD. It was one of the most stable and robust models, achieving constant improvement with increasing sample sizes, even in the context of SPLs like 7z that triggered oscillation in most other models. However, its prediction quality places it in the middle field. RF showed to work on average best with MMS. This model outperformed every other model significantly in every aspect we measured. Its worst performance using the smallest tested sample size of 50 outperforms, in all but two cases, the best performances of all other models. This performance is then improved further with increasing sample size. The model usually reaches a plateau relatively early on average at a sample size of 350, after which its improvement slows significantly. SVM showed to work on average best with STD. The model improves like RF on average with a sample size up to 600 steadily, after which the model starts to plateau in its improvement, except for the already mentioned DEF. EN showed to work on average best with OHE. This model showed, on average, comparatively minor improvements with increased sample size.</figDesc><table /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">https://scikit-learn.org/stable/index.html</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">https://www.oracle.com/database/technologies/related/berkeleydb.html</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_2">3 https://www.7-zip.org/download.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_3">html 4 https://www.webmproject.org</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="5" xml:id="foot_4">/vp9/ 5 https://zenodo.org/records/7776627</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="6" xml:id="foot_5">https://scikit-learn.org/stable/index.html</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<author>
			<persName><forename type="first">J</forename><surname>Gong</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Chen</surname></persName>
		</author>
		<idno type="arXiv">arXiv:2403.03322</idno>
		<title level="m">Deep configuration performance learning: A systematic survey and taxonomy</title>
				<imprint>
			<date type="published" when="2024">2024</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title level="m" type="main">Software product lines</title>
		<author>
			<persName><forename type="first">P</forename><surname>Clements</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Northrop</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2002">2002</date>
			<publisher>Addison-Wesley</publisher>
			<pubPlace>Boston</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Software product line testing -a systematic mapping study</title>
		<author>
			<persName><forename type="first">E</forename><surname>Engström</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Runeson</surname></persName>
		</author>
		<idno type="DOI">10.1016/j.infsof.2010.05.011</idno>
		<ptr target="https://doi.org/10.1016/j.infsof.2010.05.011" />
	</analytic>
	<monogr>
		<title level="j">formation and Software Technology</title>
		<imprint>
			<biblScope unit="volume">53</biblScope>
			<biblScope unit="page" from="2" to="13" />
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Finding near-optimal configurations in colossal spaces with statistical guarantees</title>
		<author>
			<persName><forename type="first">J</forename><surname>Oh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Batory</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Heradio</surname></persName>
		</author>
		<idno type="DOI">10.1145/3611663</idno>
		<ptr target="https://doi.org/10.1145/3611663.doi:10.1145/3611663" />
	</analytic>
	<monogr>
		<title level="j">ACM Trans. Softw. Eng. Methodol</title>
		<imprint>
			<biblScope unit="volume">33</biblScope>
			<date type="published" when="2023">2023</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Scalable prediction of non-functional properties in software product lines</title>
		<author>
			<persName><forename type="first">N</forename><surname>Siegmund</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Rosenmuller</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Kastner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">G</forename><surname>Giarrusso</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Apel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">S</forename><surname>Kolesnikov</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">2011 15th International Software Product Line Conference</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2011">2011</date>
			<biblScope unit="page" from="160" to="169" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<title level="m" type="main">Are we really making much progress? A worrying analysis of recent neural recommendation approaches</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">F</forename><surname>Dacrema</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Cremonesi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Jannach</surname></persName>
		</author>
		<idno>CoRR abs/1907.06902</idno>
		<ptr target="http://arxiv.org/abs/1907.06902.arXiv:1907.06902" />
		<imprint>
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Predicting monthly streamflow using data-driven models coupled with data-preprocessing techniques</title>
		<author>
			<persName><forename type="first">C.-L</forename><surname>Wu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K.-W</forename><surname>Chau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y.-S</forename><surname>Li</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Water Resources Research</title>
		<imprint>
			<biblScope unit="volume">45</biblScope>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Preprocessing effects of 22 linear univariate features on the performance of seizure prediction methods</title>
		<author>
			<persName><forename type="first">J</forename><surname>Rasekhi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">R K</forename><surname>Mollaei</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Bandarabadi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">A</forename><surname>Teixeira</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Dourado</surname></persName>
		</author>
		<idno type="DOI">10.1016/j.jneumeth.2013.03.019</idno>
		<ptr target="https://doi.org/10.1016/j.jneumeth.2013.03.019" />
	</analytic>
	<monogr>
		<title level="j">Journal of Neuroscience Methods</title>
		<imprint>
			<biblScope unit="volume">217</biblScope>
			<biblScope unit="page" from="9" to="16" />
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<monogr>
		<author>
			<persName><forename type="first">M</forename><surname>Acher</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Martin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">A</forename><surname>Pereira</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Blouin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J.-M</forename><surname>Jézéquel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">E</forename><surname>Khelladi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Lesoil</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Barais</surname></persName>
		</author>
		<title level="m">Learning very large configuration spaces: What matters for Linux kernel sizes</title>
				<imprint>
			<date type="published" when="2019">2019</date>
		</imprint>
		<respStmt>
			<orgName>Inria Rennes-Bretagne Atlantique</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Ph.D. thesis</note>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Dataefficient performance learning for configurable systems</title>
		<author>
			<persName><forename type="first">J</forename><surname>Guo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Yang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Siegmund</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Apel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Sarkar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Valov</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Czarnecki</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Wasowski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Yu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Empirical Software Engineering</title>
		<imprint>
			<biblScope unit="volume">23</biblScope>
			<biblScope unit="page" from="1826" to="1867" />
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Transfer learning across variants and versions: The case of linux kernel size</title>
		<author>
			<persName><forename type="first">H</forename><surname>Martin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Acher</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">A</forename><surname>Pereira</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Lesoil</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J.-M</forename><surname>Jézéquel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">E</forename><surname>Khelladi</surname></persName>
		</author>
		<idno type="DOI">10.1109/TSE.2021.3116768</idno>
	</analytic>
	<monogr>
		<title level="j">IEEE Transactions on Software Engineering</title>
		<imprint>
			<biblScope unit="volume">48</biblScope>
			<biblScope unit="page" from="4274" to="4290" />
			<date type="published" when="2022">2022</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Learning software configuration spaces: A systematic literature review</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">A</forename><surname>Pereira</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Acher</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Martin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Jézéquel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Botterweck</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Ventresque</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Systems and Software</title>
		<imprint>
			<biblScope unit="volume">182</biblScope>
			<biblScope unit="page">111044</biblScope>
			<date type="published" when="2021">2021</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Sampling effect on performance prediction of configurable systems: A case study</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">Alves</forename><surname>Pereira</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Acher</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Martin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J.-M</forename><surname>Jézéquel</surname></persName>
		</author>
		<idno type="DOI">10.1145/3358960.3379137</idno>
		<idno>doi:10.1145/3358960.3379137</idno>
		<ptr target="https://doi.org/10.1145/3358960.3379137" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the ACM/SPEC International Conference on Performance Engineering, ICPE &apos;20</title>
				<meeting>the ACM/SPEC International Conference on Performance Engineering, ICPE &apos;20<address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>Association for Computing Machinery</publisher>
			<date type="published" when="2020">2020</date>
			<biblScope unit="page" from="277" to="288" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Scikit-learn: Machine learning in Python</title>
		<author>
			<persName><forename type="first">F</forename><surname>Pedregosa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Varoquaux</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Gramfort</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Michel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Thirion</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Grisel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Blondel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Prettenhofer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Weiss</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Dubourg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Vanderplas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Passos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Cournapeau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Brucher</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Perrot</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Duchesnay</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Machine Learning Research</title>
		<imprint>
			<biblScope unit="volume">12</biblScope>
			<biblScope unit="page" from="2825" to="2830" />
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Feature subset selection for learning huge configuration spaces: the case of linux kernel size</title>
		<author>
			<persName><forename type="first">M</forename><surname>Acher</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Martin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Lesoil</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Blouin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J.-M</forename><surname>Jézéquel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">E</forename><surname>Khelladi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Barais</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">A</forename><surname>Pereira</surname></persName>
		</author>
		<idno type="DOI">10.1145/3546932.3546997</idno>
		<idno>doi:10.1145/ 3546932.3546997</idno>
		<ptr target="https://doi.org/10.1145/3546932.3546997" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 26th ACM International Systems and Software Product Line Conference -Volume A, SPLC &apos;22</title>
				<meeting>the 26th ACM International Systems and Software Product Line Conference -Volume A, SPLC &apos;22<address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>Association for Computing Machinery</publisher>
			<date type="published" when="2022">2022</date>
			<biblScope unit="page" from="85" to="96" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Actgan: Automatic configuration tuning for software systems with generative adversarial networks</title>
		<author>
			<persName><forename type="first">L</forename><surname>Bao</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Liu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Wang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Fang</surname></persName>
		</author>
		<idno type="DOI">10.1109/ASE.2019.00051</idno>
	</analytic>
	<monogr>
		<title level="m">34th IEEE/ACM International Conference on Automated Software Engineering (ASE)</title>
				<imprint>
			<date type="published" when="2019">2019. 2019</date>
			<biblScope unit="page" from="465" to="476" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Predicting software performance with divide-and-learn</title>
		<author>
			<persName><forename type="first">J</forename><surname>Gong</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Chen</surname></persName>
		</author>
		<idno type="DOI">10.1145/3611643.3616334</idno>
		<idno>doi:10.1145/3611643.3616334</idno>
		<ptr target="https://doi.org/10.1145/3611643.3616334" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2023</title>
				<meeting>the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2023<address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>Association for Computing Machinery</publisher>
			<date type="published" when="2023">2023</date>
			<biblScope unit="page" from="858" to="870" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">On the use of ML for blackbox system performance prediction</title>
		<author>
			<persName><forename type="first">S</forename><surname>Fu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Gupta</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Mittal</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Ratnasamy</surname></persName>
		</author>
		<ptr target="https://www.usenix.org/conference/nsdi21/presentation/fu" />
	</analytic>
	<monogr>
		<title level="m">18th USENIX Symposium on Networked Systems Design and Implementation (NSDI 21)</title>
				<imprint>
			<publisher>USENIX Association</publisher>
			<date type="published" when="2021">2021</date>
			<biblScope unit="page" from="763" to="784" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Deep learning in network-level performance prediction using crosslayer information</title>
		<author>
			<persName><forename type="first">Q</forename><surname>Cao</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M.-O</forename><surname>Pun</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Chen</surname></persName>
		</author>
		<idno type="DOI">10.1109/TNSE.2022.3163274</idno>
	</analytic>
	<monogr>
		<title level="j">IEEE Transactions on Network Science and Engineering</title>
		<imprint>
			<biblScope unit="volume">9</biblScope>
			<biblScope unit="page" from="2364" to="2377" />
			<date type="published" when="2022">2022</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Hinnperf: Hierarchical interaction neural network for performance prediction of configurable systems</title>
		<author>
			<persName><forename type="first">J</forename><surname>Cheng</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Gao</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Zheng</surname></persName>
		</author>
		<idno type="DOI">10.1145/3528100</idno>
		<ptr target="https://doi.org/10.1145/3528100.doi:10.1145/3528100" />
	</analytic>
	<monogr>
		<title level="j">ACM Trans. Softw. Eng. Methodol</title>
		<imprint>
			<biblScope unit="volume">32</biblScope>
			<date type="published" when="2023">2023</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">Software defect prediction based on enhanced metaheuristic feature selection optimization and a hybrid deep neural network</title>
		<author>
			<persName><forename type="first">K</forename><surname>Zhu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Ying</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Zhu</surname></persName>
		</author>
		<idno type="DOI">10.1016/j.jss.2021.111026</idno>
		<ptr target="https://doi.org/10.1016/j.jss.2021.111026" />
	</analytic>
	<monogr>
		<title level="j">Journal of Systems and Software</title>
		<imprint>
			<biblScope unit="volume">180</biblScope>
			<biblScope unit="page">111026</biblScope>
			<date type="published" when="2021">2021</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">A machine learning approach for performance prediction and scheduling on heterogeneous cpus</title>
		<author>
			<persName><forename type="first">D</forename><surname>Nemirovsky</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Arkose</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Markovic</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Nemirovsky</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Unsal</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Cristal</surname></persName>
		</author>
		<idno type="DOI">10.1109/SBAC-PAD.2017.23</idno>
	</analytic>
	<monogr>
		<title level="m">29th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD)</title>
				<imprint>
			<date type="published" when="2017">2017. 2017</date>
			<biblScope unit="page" from="121" to="128" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">Portable fast platform-aware neural architecture search for edge/mobile computing ai applications</title>
		<author>
			<persName><forename type="first">K.-T</forename><surname>Ding</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H.-S</forename><surname>Chen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y.-L</forename><surname>Pan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H.-H</forename><surname>Chen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y.-C</forename><surname>Lin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S.-H</forename><surname>Hung</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ICSEA</title>
		<imprint>
			<biblScope unit="volume">2021</biblScope>
			<biblScope unit="page">108</biblScope>
			<date type="published" when="2021">2021</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<analytic>
		<title level="a" type="main">Runtime performance prediction for deep learning models with graph neural network</title>
		<author>
			<persName><forename type="first">Y</forename><surname>Gao</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Gu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Lin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Yang</surname></persName>
		</author>
		<idno type="DOI">10.1109/ICSE-SEIP58684.2023.00039</idno>
	</analytic>
	<monogr>
		<title level="m">IEEE/ACM 45th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)</title>
				<imprint>
			<date type="published" when="2023">2023. 2023</date>
			<biblScope unit="page" from="368" to="380" />
		</imprint>
	</monogr>
</biblStruct>

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