skip to main content
10.1145/2162024.2162030acmconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

Understanding linux feature distribution

Published: 27 March 2012 Publication History

Abstract

Managing variability is hard. This applies both to feature modeling itself as well as the maintenance of the corresponding feature implementations which poses additional challenges. Especially in embedded systems and system software that are developed using the tools CPP, GCC and MAKE, feature realizations happen on different levels of abstractions, concepts and implementation languages.
This particularly applies to Linux, which exposes over 11000 features on over two dozen different architectures. While features are modeled centrally with the Kconfig tool, feature-code is realized in various source-files and managed by the Kbuild build-system. In this article, we identify and relate levels of variability on which feature-code is implemented. The quantification of variability on the different levels in Linux disproves two common beliefs about the amount of implemented variability.

References

[1]
Adams, B., De Schutter, K., Tromp, H., and Meuter, W. D. Design recovery and maintenance of build systems. In 23st IEEE Int. Conf. on Software Maintainance (ICSM'07) (October 2007), IEEE, pp. 114--123.
[2]
Adams, B., Schutter, K. D., Tromp, H., and Meuter, W. D. The evolution of the Linux build system. Electronic Communications of the EASST (2007).
[3]
Autoconf - GNU project - Free Software Foundation (FSF). http://www.gnu.org/software/autoconf, visited 2011-11-12.
[4]
Berger, T., She, S., Czarnecki, K., and Wasowski, A. Feature-to-code mapping in two large product lines. Tech. rep., University of Leipzig (Germany), University of Waterloo (Canada), IT University of Copenhagen (Denmark), 2010.
[5]
Berger, T., She, S., Lotufo, R., and und Krzysztof Czarnecki, A. W. Variability modeling in the real: A perspective from the operating systems domain. In 25th IEEE Int. Conf. on Automated Software Engineering (ASE '10) (2010), pp. 73--82.
[6]
Chou, A., Yang, J., Chelf, B., Hallem, S., and Engler, D. An empirical study of operating systems errors. In 18th ACM Symp. on OS Principles (SOSP '01) (2001), ACM, pp. 73--88.
[7]
Engler, D., Chen, D. Y., Hallem, S., Chou, A., and Chelf, B. Bugs as deviant behavior: a general approach to inferring errors in systems code. In 18th ACM Symp. on OS Principles (SOSP '01) (2001), ACM, pp. 57--72.
[8]
Kästner, C., Giarrusso, P. G., Rendel, T., Erdweg, S., Ostermann, K., and Berger, T. Variability-aware parsing in the presence of lexical macros and conditional compilation. In 26th ACM Conf. on OOP, Systems, Languages, and Applications (OOPSLA '11) (Oct. 2011), ACM.
[9]
Kremenek, T., Twohey, P., Back, G., Ng, A., and Engler, D. From uncertainty to belief: inferring the specification within. In 7th Symp. on OS Design and Implementation (OSDI '06) (2006), USENIX, pp. 161--176.
[10]
Liebig, J., Apel, S., Lengauer, C., Kästner, C., and Schulze, M. An analysis of the variability in forty preprocessor-based software product lines. In 32nd Int. Conf. on Software Engineering (ICSE '10) (2010), ACM.
[11]
Liebig, J., Kästner, C., and Apel, S. Analyzing the discipline of preprocessor annotations in 30 million lines of C code. In 10th Int. Conf. on Aspect-Oriented Software Development (AOSD '11) (2011), S. Chiba, Ed., ACM, pp. 191--202.
[12]
Massa, A. Embedded Software Development with eCos. New Riders, 2002.
[13]
Nadi, S., and Holt, R. C. Mining Kbuild to detect variability anomalies in Linux. In 16th Eur. Conf. on Software Maintenance and Reengineering (CSMR '12) (2012), T. Mens, Y. Kanellopoulos, and A. Winter, Eds., IEEE. To appear.
[14]
Palix, N., Thomas, G., Saha, S., Calvès, C., Lawall, J. L., and Muller, G. Faults in Linux: Ten years later. In 16th Int. Conf. on Arch. Support for Programming Languages and Operating Systems (ASPLOS '11) (2011), ACM, pp. 305--318.
[15]
Spencer, H., and Collyer, G. #ifdef considered harmful, or portability experience with C News. In 1992 USENIX ATC (June 1992), USENIX.
[16]
Spinellis, D. A tale of four kernels. In 30th Int. Conf. on Software Engineering (ICSE '08) (May 2008), W. Schäfer, M. B. Dwyer, and V. Gruhn, Eds., ACM, pp. 381--390.
[17]
Tartler, R., Lohmann, D., Dietrich, C., Egger, C., and Sincero, J. Configuration Coverage in the Analysis of Large-Scale System Software. In 6th W'shop on Progr. Lang. and OSes (PLOS '11) (2011), A. SIGOPS, Ed., ACM.
[18]
Tartler, R., Lohmann, D., Sincero, J., and Schröder-Preikschat, W. Feature consistency in compile-time-configurable system software: Facing the Linux 10,000 feature problem. In ACM SIGOPS/EuroSys Eur. Conf. on Computer Systems 2011 (EuroSys '11) (Apr. 2011), ACM, pp. 47--60.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
MISS '12: Proceedings of the 2012 workshop on Modularity in Systems Software
March 2012
58 pages
ISBN:9781450312172
DOI:10.1145/2162024
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

In-Cooperation

  • AOSA: Aspect-Oriented Software Association

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 March 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. configurability
  2. linux
  3. maintenance
  4. static analysis
  5. variability

Qualifiers

  • Research-article

Conference

AOSD '12

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)23
  • Downloads (Last 6 weeks)5
Reflects downloads up to 03 Jan 2025

Other Metrics

Citations

Cited By

View all

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