Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2658761.2658767acmconferencesArticle/Chapter ViewAbstractPublication PagesgpceConference Proceedingsconference-collections
Article

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

Published: 15 September 2014 Publication History

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

Cited By

View all
  • (2024)Should I Bother? Fast Patch Filtering for Statically-Configured Software VariantsProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672585(12-23)Online publication date: 2-Sep-2024
  • (2023)reUpNix: Reconfigurable and Updateable Embedded SystemsProceedings of the 24th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems10.1145/3589610.3596273(40-51)Online publication date: 13-Jun-2023
  • (2016)Towards scalable configuration testing in variable softwareACM SIGPLAN Notices10.1145/3093335.299325252:3(156-167)Online publication date: 20-Oct-2016
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

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
  • 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
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 September 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Feature Selection
  2. Linux
  3. Software Product Lines
  4. Software Tailoring

Qualifiers

  • Article

Conference

GPCE'14
Sponsor:
GPCE'14: Generative Programming: Concepts and Experiences
September 15 - 16, 2014
Västerås, Sweden

Acceptance Rates

Overall Acceptance Rate 56 of 180 submissions, 31%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)13
  • Downloads (Last 6 weeks)2
Reflects downloads up to 14 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Should I Bother? Fast Patch Filtering for Statically-Configured Software VariantsProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672585(12-23)Online publication date: 2-Sep-2024
  • (2023)reUpNix: Reconfigurable and Updateable Embedded SystemsProceedings of the 24th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems10.1145/3589610.3596273(40-51)Online publication date: 13-Jun-2023
  • (2016)Towards scalable configuration testing in variable softwareACM SIGPLAN Notices10.1145/3093335.299325252:3(156-167)Online publication date: 20-Oct-2016
  • (2016)Towards scalable configuration testing in variable softwareProceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/2993236.2993252(156-167)Online publication date: 20-Oct-2016
  • (2015)The dataref versuchungACM SIGOPS Operating Systems Review10.1145/2723872.272388049:1(51-60)Online publication date: 20-Jan-2015

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media