Abstract
System software can typically be configured at compile time via a comfortable feature-based interface to tailor its functionality towards a specific use case. However, with the growing number of features, this tailoring process becomes increasingly difficult: As a prominent example, the Linux kernel in v3.14 provides nearly 14 000 configuration options to choose from. Even developers of embedded systems refrain from trying to build a minimized distinctive kernel configuration for their device – and thereby waste memory and money for unneeded functionality. In this paper, we present an approach for the automatic use-case specific tailoring of system software for special-purpose embedded systems. We evaluate the effectiveness of our approach on the example of Linux by generating tailored kernels for well-known applications of the Rasperry Pi and a Google Nexus 4 smartphone. Compared to the original configurations, our approach leads to memory savings of 15–70 percent and requires only very little manual intervention.
- T. Berger, S. She, R. Lotufo, A. Wasowski, and K. Czarnecki. “A Study of Variability Models and Languages in the Systems Software Domain”. In: IEEE Transactions on Software Engineering 39.12 (2013), pages 1611–1640. ISSN : 0098-5589. DOI : 10. 1109 / TSE. 2013.34. Google Scholar
Digital Library
- Ramon Bertran, Marisa Gil, Javier Cabezas, Victor Jimenez, Lluis Vilanova, Enric Morancho, and Nacho Navarro. “Building a Global System View for Optimization Purposes”. In: Proceedings of Workshop on the Interaction between Operating Systems and Computer Architecture (SCA-WIOSCA ’06). 2006.Google Scholar
- Anton Borisov. “Coreboot at your service!” In: Linux Journal 1 (186 2009). Google Scholar
Digital Library
- Manfred Broy. “Challenges in Automotive Software Engineering”. In: Proceedings of the 28th International Conference on Software Engineering (ICSE ’06). (Shanghai, China). 2006, pages 33–42. ISBN : 1-59593-375-1. DOI : 10.1145/1134285.1134292. Google Scholar
Digital Library
- BusyBox Project Homepage. URL : http : / / www. busybox. net/ (visited on 05/11/2012).Google Scholar
- Dominique Chanet, Bjorn De Sutter, Bruno De Bus, Ludo Van Put, and Koen De Bosschere. “System-wide Compaction and Specialization of the Linux Kernel”. In: Proceedings of the 2005 ACM SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems (LCTES ’05). 2005, pages 95–104. ISBN : 1- 59593-018-3. DOI : 10.1145/1065910.1065925. Google Scholar
Digital Library
- Christian Dietrich, Reinhard Tartler, Wolfgang Schröder-Preikschat, and Daniel Lohmann. “A Robust Approach for Variability Extraction from the Linux Build System”. In: Proceedings of the 16th Software Product Line Conference (SPLC ’12). (Salvador, Brazil, Sept. 2– 7, 2012). 2012, pages 21–30. ISBN : 978-1-4503-1094-9. DOI : 10. 1145/2362536.2362544. Google Scholar
Digital Library
- Embedded Linux – Lineo Solutions. 2014. URL : http : / / www. lineo. co. jp / modules / products / ulinux. html (visited on 05/30/2014).Google Scholar
- Fiasco Project Homepage. URL : http://os.inf.tudresden. de/fiasco/ (visited on 05/11/2012).Google Scholar
- Jianmei Guo, Jules White, Guangxin Wang, Jian Li, and Yinglin Wang. “A genetic algorithm for optimized feature selection with resource constraints in software product lines”. In: Journal of Systems and Software 84.12 (2011), pages 2208 –2221. ISSN : 0164- 1212. DOI : 10. 1016 / j. jss. 2011. 06. 026. URL : http : / / www. sciencedirect. com / science / article / pii / S0164121211001518. Google Scholar
Digital Library
- Anil Kurmus, Reinhard Tartler, Daniela Dorneanu, Bernhard Heinloth, Valentin Rothberg, Andreas Ruprecht, Wolfgang Schröder-Preikschat, Daniel Lohmann, and Rüdiger Kapitza. “Attack Surface Metrics and Automated Compile-Time OS Kernel Tailoring”. In: Proceedings of the 20th Network and Distributed Systems Security Symposium. (San Diego, CA, USA, Feb. 24–27, 2013). 2013. URL : http://www.internetsociety.org/sites/default/files/ 03_2_0.pdf.Google Scholar
- C.T. Lee, J.M. Lin, Z.W. Hong, and W.T. Lee. “An Application-Oriented Linux Kernel Customization for Embedded Systems”. In: Journal of information science and engineering 20.6 (2004), pages 1093–1108. ISSN : 1016-2364.Google Scholar
- Jörg Liebig, Christian Kästner, and Sven Apel. “Analyzing the discipline of preprocessor annotations in 30 million lines of C code”. In: Proceedings of the 10th International Conference on Aspect-Oriented Software Development (AOSD ’11). (Porto de Galinhas, Brazil). 2011, pages 191–202. ISBN : 978-1-4503-0605-8. DOI : 10. 1145/1960275.1960299. Google Scholar
Digital Library
- Linux Tiny – eLinux.org. 2014. URL : http://elinux.org/Linux_ Tiny (visited on 05/30/2014).Google Scholar
- Anthony Massa. Embedded Software Development with eCos. 2002. ISBN : 978-0130354730. Google Scholar
Digital Library
- Horst Schirmeier and Olaf Spinczyk. “Tailoring Infrastructure Software Product Lines by Static Application Analysis”. In: Proceedings of the 11th Software Product Line Conference (SPLC ’07). 2007, pages 255–260. ISBN : 0-7695-2888-0. DOI : 10. 1109 / SPLINE. 2007.33. Google Scholar
Digital Library
- N. Siegmund, S.S. Kolesnikov, C. Kastner, S. Apel, D. Batory, M. Rosenmuller, and G. Saake. “Predicting performance via automated feature-interaction detection”. In: Proceedings of the 34nd International Conference on Software Engineering (ICSE ’12). (Zurich, Switzerland). 2012, pages 167–177. ISBN : 978-1-4673-1067-3. DOI : 10.1109/ICSE.2012.6227196. Google Scholar
Digital Library
- Norbert Siegmund, Marko Rosenmüller, Martin Kuhlemann, Christian Kästner, Sven Apel, and Gunter Saake. “SPL Conqueror: Toward optimization of non-functional properties in software product lines”. English. In: Software Quality Journal 20.3-4 (2012), pages 487–517. ISSN : 0963-9314. DOI : 10. 1007 / s11219 - 011 - 9152 - 9. URL : http://dx.doi.org/10.1007/s11219-011-9152-9. Google Scholar
Digital Library
- Julio Sincero, Reinhard Tartler, Daniel Lohmann, and Wolfgang Schröder-Preikschat. “Efficient Extraction and Analysis of Preprocessor-Based Variability”. In: Proceedings of the 9th International Conference on Generative Programming and Component Engineering (GPCE ’10). (Eindhoven, The Netherlands). 2010, pages 33–42. ISBN : 978-1-4503-0154-1. DOI : 10.1145/1868294.1868300. Google Scholar
Digital Library
- Samaneh Soltani, Mohsen Asadi, Dragan Gaˇsevi´c, Marek Hatala, and Ebrahim Bagheri. “Automated Planning for Feature Model Configuration Based on Functional and Non-functional Requirements”. In: Proceedings of the 16th International Software Product Line Conference - Volume 1. SPLC ’12. 2012, pages 56–65. ISBN : 978-1-4503- 1094-9. DOI : 10.1145/2362536.2362548. URL : http://doi. acm.org/10.1145/2362536.2362548. Google Scholar
Digital Library
- Reinhard Tartler, Anil Kurmus, Bernard Heinloth, Valentin Rothberg, Andreas Ruprecht, Daniela Doreanu, Rüdiger Kapitza, Wolfgang Schröder-Preikschat, and Daniel Lohmann. “Automatic OS Kernel TCB Reduction by Leveraging Compile-Time Configurability”. In: Proceedings of the 8th International Workshop on Hot Topics in System Dependability (HotDep ’12). (Los Angeles, CA, USA). 2012, pages 1–6. Google Scholar
Digital Library
Index Terms
Automatic feature selection in large-scale system-software product lines
Recommendations
Automatic feature selection in large-scale system-software product lines
GPCE 2014: Proceedings of the 2014 International Conference on Generative Programming: Concepts and ExperiencesSystem software can typically be configured at compile time via a comfortable feature-based interface to tailor its functionality towards a specific use case. However, with the growing number of features, this tailoring process becomes increasingly ...
Approaching Non-functional Properties of Software Product Lines: Learning from Products
APSEC '10: Proceedings of the 2010 Asia Pacific Software Engineering ConferenceApproaching the configuration of non-functional properties (NFPs) in traditional software systems is not an easy task, addressing the configuration of these properties in software product lines (SPLs) imposes even further challenges. Therefore, we have ...
Tailoring dynamic software product lines
GPCE '11: Proceedings of the 10th ACM international conference on Generative programming and component engineeringSoftware product lines (SPLs) and adaptive systems aim at variability to cope with changing requirements. Variability can be described in terms of features, which are central for development and configuration of SPLs. In traditional SPLs, features are ...






Comments