# Secure Partitioning of Cloud Applications, with Cost Look-Ahead
## 7 Experimental Assessment  
In this section, we report the experimental assessment of ProbSKnife concerning the performance and the future cost impact of the parameters \(K\) and \(DLimit\), used to reduce the complexity of the solution search space. As aforementioned in Section 2, to the best of our knowledge, there are no proposals that employ information-flow security to determine eligible partitionings onto SKs. Thus, we focused our assessment on the performance of ProbSKnife and the determination of costs and probabilities.  
In particular, our goal is to answer the following questions:  
**Q1**: _How much does \(K\) impact the creation time of the probabilistic model?_
**Q2**: _How much do \(K\) and \(DLimit\) impact the execution time of ProbSKnife?_
**Q3**: _How much do \(K\) and \(DLimit\) impact the safe partitioning costs?_
**Q4**: _How much do \(K\) and \(DLimit\) impact the probability of not having a safe partitioning?_  
To answer these questions, we ran experiments for every possible value of \(K\) (1-13) and \(DLimit\) (4-6) on the Cloud application of the motivating example. The experiments were executed on a machine with the processor Intel(R) Xeon(R) Gold 5120 CPU @ 2.20 GHz, counting 12 vCPUs, 32 GB of RAM and 50 GB of storage with Ubuntu 20.04.5 LTS as the operating system. Knowing that the minimal safe partitioning has four domains, running the experiments with a smaller \(DLimit\) is useless because there is no safe partitioning that satisfies the initial labelling. The Cloud application has six software components, which is the upper bound for the number of domains of a safe partitioning. Thus, running experiments with \(DLimit\) greater than six is also useless. Concerning the \(K\) parameter, we have to consider that two of the application's data types, Crypted Data and Network Data, have probability 1 to stay low, so we have similar results for \(K\) equal to 11, 12 and 13 given that the probability that those two data types change label is 0. Here we emphasise that our motivating example is relatively small for the sake of presentation. An application with a larger number of components, data and characteristics has larger values for \(DLimit\) and \(K\) to explore.  
ProbSKnife can annotate the output with the execution time of labelling and future cost calculations, and we used such annotation for answering the questions above.  
All the experiments were executed sequentially and we collected all the data for this section from the annotated output of ProbSKnife.  
The metrics used to evaluate ProbSKnife's performance and to show the quantitative results about future costs, for each value of \(K\) and \(DLimit\), are:  
* the average execution time to calculate the labelling probabilities, in seconds, calculated over the execution times of the three \(DLimit\) values at varying \(K\),
* the execution time to calculate the partitionings and the future costs, in seconds, from the moment to determine the starting partitionings to the end of ProbSKnife execution,
* the future cost, in work hours, given directly by the ProbSKnife output, and
* the probability of having a non-safely partitionable application, also given directly by the ProbSKnife output.