skip to main content
article

Automatic feature selection in large-scale system-software product lines

Published:15 September 2014Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle Scholar
  3. Anton Borisov. “Coreboot at your service!” In: Linux Journal 1 (186 2009). Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. BusyBox Project Homepage. URL : http : / / www. busybox. net/ (visited on 05/11/2012).Google ScholarGoogle Scholar
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. Embedded Linux – Lineo Solutions. 2014. URL : http : / / www. lineo. co. jp / modules / products / ulinux. html (visited on 05/30/2014).Google ScholarGoogle Scholar
  9. Fiasco Project Homepage. URL : http://os.inf.tudresden. de/fiasco/ (visited on 05/11/2012).Google ScholarGoogle Scholar
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle Scholar
  12. 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 ScholarGoogle Scholar
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. Linux Tiny – eLinux.org. 2014. URL : http://elinux.org/Linux_ Tiny (visited on 05/30/2014).Google ScholarGoogle Scholar
  15. Anthony Massa. Embedded Software Development with eCos. 2002. ISBN : 978-0130354730. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Automatic feature selection in large-scale system-software product lines

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • Published in

              cover image ACM SIGPLAN Notices
              ACM SIGPLAN Notices  Volume 50, Issue 3
              GPCE '14
              March 2015
              141 pages
              ISSN:0362-1340
              EISSN:1558-1160
              DOI:10.1145/2775053
              • Editor:
              • Andy Gill
              Issue’s Table of Contents
              • cover image ACM Conferences
                GPCE 2014: Proceedings of the 2014 International Conference on Generative Programming: Concepts and Experiences
                September 2014
                141 pages
                ISBN:9781450331616
                DOI:10.1145/2658761

              Copyright © 2014 ACM

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 15 September 2014

              Check for updates

              Qualifiers

              • article

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader
            About Cookies On This Site

            We use cookies to ensure that we give you the best experience on our website.

            Learn more

            Got it!