Abstract
Detecting feature interactions is imperative for accurately predicting performance of highly-configurable systems. State-of-the-art performance prediction techniques rely on supervised machine learning for detecting feature interactions, which, in turn, relies on time-consuming performance measurements to obtain training data. By providing information about potentially interacting features, we can reduce the number of required performance measurements and make the overall performance prediction process more time efficient. We expect that information about potentially interacting features can be obtained by analyzing the source code of a highly-configurable system, which is computationally cheaper than performing multiple performance measurements. To this end, we conducted an in-depth qualitative case study on two real-world systems (mbedTLS and SQLite), in which we explored the relation between internal (precisely control-flow) feature interactions, detected through static program analysis, and external (precisely performance) feature interactions, detected by performance-prediction techniques using performance measurements. We found that a relation exists that can potentially be exploited to predict performance interactions.



Similar content being viewed by others
Notes
10 combinations with 2 features, 10 with 3, 5 with 4, and 1 with 5.
References
Apel S, Batory D, Kästner C, Saake G (2013a) Feature-Oriented Software Product Lines. Springer, Berlin
Apel S, Kolesnikov S, Siegmund N, Kästner C, Garvin B (2013b) Exploring feature interactions in the wild: The new feature-interaction challenge. In: Proceedings of FOSD Workshop. ACM, pp 1–8
Borgelt C (2012) Frequent item set mining. Wiley Interdiscip Rev: Data Mining Knowl Discov 2(6):437–456
Bruns G (2005) Foundations for features. In: Feature Interactions in Telecommunications and Software Systems VIII. IOS Press, pp 3–11
Duong T, Rizzo J (2011) Here come the ⊕ ninjas. https://web.archive.org/web/20150630133214/http://www.hpcc.ecs.soton.ac.uk/dan/talks/bullrun/Beast.pdf, Accessed: 2019-03-01
Ferreira G, Kästner C, Pfeffer J, Apel S (2015) Characterizing complexity of highly-configurable systems with variational call graphs: Analyzing configuration options interactions complexity in function calls. In: Proceedings Hotsos, ACM, pp 17:1–2
Flyvbjerg B (2006) Five misunderstandings about case-study research. Qual Inq 12(2):219–245
Garvin BJ, Cohen M (2011) Feature interaction faults revisited: An exploratory study. In: Proceedings of ISSRE. IEEE, pp 90–99
Guo J, Czarnecki K, Apel S, Siegmund N, Wasowski A (2013) Variability-aware performance prediction: A statistical learning approach. In: Proceedings of ASE. IEEE, pp 301–311
Guo J, Yang D, Siegmund N, Apel S, Sarkar A, Valov P, Czarnecki K, Wasowski A, Yu H (2018) Data-efficient performance learning for configurable systems. Empir Softw Eng 23(3):1826–1867
Jaccard P (1912) The distribution of the flora in the alpine zone. New phytologist 11(2):37–50
Kaltenecker C, Grebhahn A, Siegmund N, Guo J, Apel S (2019) Distance-based sampling of software configuration spaces. In:. Proceedings of ICSE, ACM, to appear
Kang K, Cohen S, Hess J, Novak W, Peterson A (1990) Feature-Oriented Domain Analysis (FODA) Feasibility Study. Tech. Rep. CMU/SEI-90-TR-21, Carnegie Mellon University
Kästner C, Apel S, ur Rahman SS, Rosenmüller M, Batory D, Saake G (2009) On the impact of the optional feature problem: Analysis and case studies. In: Proceedings of SPLC, pp 181–190
Kim C, Batory D, Khurshid S (2011) Reducing combinatorics in testing product lines. In: Proceedings of AOSD. ACM, pp 57–68
Kolesnikov S, Siegmund N, Kästner C, Grebhahn A, Apel S (2018) Tradeoffs in modeling performance of highly configurable software systems. Software and Systems Modeling (SoSyM) pp 1–19, online first
Lillack M, Kästner C, Bodden E (2018) Tracking load-time configuration options. IEEE Trans Softw Eng (TSE) 44(12):1269–1291
Maqbool O, Babri H (2007) Hierarchical clustering for software architecture recovery. IEEE Trans Softw Eng 33(11):759–780
Medeiros F, Kästner C, Ribeiro M, Gheyi R, Apel S (2016) A comparison of 10 sampling algorithms for configurable systems. In: Proceedings of ICSE. ACM, pp 643–654
Meinicke J, Wong C, Kästner C, Thüm T, Saake G (2016) On essential configuration complexity: measuring interactions in highly-configurable systems. In: Proceedings of ASE. ACM Press, pp 483–494
Nair V, Menzies T, Siegmund N, Apel S (2017) Using bad learners to find good configurations. In: Proceedings of ESEC/FSE, pp 257–267
Nair V, Menzies T, Siegmund N, Apel S (2018a) Faster discovery of faster system configurations with spectral learning. Autom Softw Eng 25(2):247–277
Nair V, Yu Z, Menzies T, Siegmund N, Apel S (2018b) Finding faster configurations using FLASH. IEEE Transactions on Software Engineering (TSE), pp 1–1, https://doi.org/10.1109/TSE.2018.2870895, online first
Nguyen T, Koc U, Cheng J, Foster JS, Porter A (2016) iGen: Dynamic interaction inference for configurable software. In: Proceedings of FSE. ACM, pp 655-665
Passos L, Queiroz R, Mukelabai M, Berger T, Apel S, Czarnecki K, Padilla J (2018) A study of feature scattering in the Linux kernel. IEEE Transactions on Software Engineering (TSE) Online first
Qiao Y, He J, Yang Y, Ji L (2013) Analyzing malware by abstracting the frequent itemsets in API call sequences. In: Proceedings of TrustCom. IEEE, pp 265–270
Reisner E, Song C, Ma K, Foster JS, Porter A (2010) Using symbolic evaluation to understand behavior in configurable software systems. In: Proceedings of ICSE. ACM, pp 445–454
Sarkar A, Guo J, Siegmund N, Apel S, Czarnecki K (2015) Cost-efficient sampling for performance prediction of configurable systems. In: Proceedings of ASE. IEEE, pp 342–352
Shull F, Singer J, Sjøberg D (2007) Guide to Advanced Empirical Software Engineering. Springer, Berlin
Siegmund N, Kolesnikov S, Kästner C, Apel S, Batory D, Rosenmüller M, Saake G (2012) Predicting performance via automated feature-interaction detection. In: Proceedings of ICSE. IEEE, pp 167–177
Siegmund N, von Rhein A, Apel S (2013a) Family-based performance measurement. In: Proceedings of GPCE. ACM, pp 95–104
Siegmund N, Rosenmu̇ller M, Kȧstner C, Giarrusso P, Apel S, Kolesnikov S (2013b) Scalable prediction of non-functional properties in software product lines: Footprint and memory consumption. Inf Softw Technol 55(3):491–507
Siegmund N, Grebhahn A, Apel S, Kästner C (2015) Performance-influence models for highly configurable systems. In: Proceedings of ESEC/FSE. ACM, pp 284–294
Soares LR, Meinicke J, Nadi S, Kästner C, de Almeida ES (2018) Exploring Feature interactions without specifications: A controlled experiment. In: Proceedings of GPCE. ACM Press, pp 41–52
Tartler R, Lohmann D, Dietrich C, Egger C, Sincero J (2012) Configuration coverage in the analysis of large-scale system software. SIGOPS Oper Syst Rev (ACM OSR) 45(3):10–14
Thereska E, Doebel B, Zheng A, Nobel P (2010) Practical performance models for complex, popular applications. SIGMETRICS Perform Eval Rev 38(1):1–12
von Rhein A, Grebhahn A, Apel S, Siegmund N, Beyer D, Berger T (2015) Presence-condition simplification in highly configurable systems. In: Proceedings of ICSE. IEEE, vol 1, pp 178–188
von Rhein A, Liebig J, Janker A, Kästner C, Apel S (2018) Variability-aware static analysis at scale: An empirical study. ACM Trans Softw Eng Methodol (TOSEM) 27(4):18:1–18:33
Westermann D, Happe J, Krebs R, Farahbod R (2012) Automated inference of goal-oriented performance prediction functions. In: Proceedings of ASE. ACM, pp 190–199
Yin R (2003) Case Study Research–Design and Methods. Sage, Newbury Park
Zave P (2009) Modularity in distributed feature composition. Software Requirements and Design: The Work of Michael Jackson, pp 267–290
Zhang Y, Guo J, Blais E, Czarnecki K (2015) Performance prediction of configurable software systems by Fourier learning. In: Proceedings of ASE. IEEE, pp 365–373
Acknowledgements
Kolesnikov’s, and Apel’s work has been supported by the German Research Foundation (AP 206/5, AP 206/6, AP 206/7, AP 206/11) and by the Austrian Federal Ministry of Transport, Innovation and Technology (BMVIT) project No. 849928. Siegmund’s work has been supported by the German Research Foundation under the contracts SI 2171/2 and SI 2171/3. Kästner’s work has been supported in part by the National Science Foundation (awards 1318808, 1552944, and 1717022), the Science of Security Lablet (H9823014C0140), and AFRL and DARPA (FA8750-16-2-0042).
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by: Tao Yue
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Kolesnikov, S., Siegmund, N., Kästner, C. et al. On the relation of control-flow and performance feature interactions: a case study. Empir Software Eng 24, 2410–2437 (2019). https://doi.org/10.1007/s10664-019-09705-w
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10664-019-09705-w