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

skip to main content
10.1145/2039239.2039242acmconferencesArticle/Chapter ViewAbstractPublication PagessospConference Proceedingsconference-collections
research-article

Configuration coverage in the analysis of large-scale system software

Published: 23 October 2011 Publication History

Abstract

System software, especially operating systems, tends to be highly configurable. Like every complex piece of software, a considerable amount of bugs in the implementation has to be expected. In order to improve the general code quality, tools for static analysis provide means to check for source code defects without having to run actual test cases on real hardware. Still, for proper type checking a specific configuration is required so that all header include paths are available and all types are properly resolved.
In order to find as many bugs as possible, usually a "full configuration" is used for the check. However, mainly because of alternative blocks in form of #else-blocks, a single configuration is insufficient to achieve full coverage. In this paper, we present a metric for configuration coverage (CC) and explain the challenges for (properly) calculating it. Furthermore, we present an efficient approach for determining a sufficiently small set of configurations that achieve (nearly) full coverage and evaluate it on a recent Linux kernel version.

References

[1]
Bessey, A., Block, K., Chelf, B., Chou, A., Fulton, B., Hallem, S., Henri-Gros, C., Kamsky, A., McPeak, S., and Engler, D. A few billion lines of code later: using static analysis to find bugs in the real world. CACM 53 (February 2010), pp. 66--75.
[2]
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), ACM, pp. 57--72.
[3]
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), ACM.
[4]
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), USENIX, pp. 161--176.
[5]
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), ACM.
[6]
Oster, S., Markert, F., and Ritter, P. Automated incremental pairwise testing of software product lines. In 14th Software Product Line Conf. (SPLC '10) (2010), vol. 6287 of LNCS, Springer, pp. 196--210.
[7]
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.
[8]
Spencer, H., and Collyer, G. #ifdef considered harmful, or portability experience with C News. In 1992 USENIX ATC, USENIX.
[9]
Spinellis, D. A tale of four kernels. In 30th Int. Conf. on Software Engineering (ICSE '08), W. Schäfer, M. B. Dwyer, and V. Gruhn, Eds., ACM, pp. 381--390.
[10]
Tan, L., Yuan, D., Krishna, G., and Zhou, Y./*icomment: Bugs or bad comments?*/. In 21st ACM Symp. on OS Principles (SOSP '07), ACM, pp. 145--158.
[11]
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.
[12]
Urban, M., Lohmann, D., and Spinczyk, O. The aspect-oriented design of the puma c/c++ parser framework. In 9th Int. Conf. on Aspect-Oriented Software Development (AOSD '10), ACM, pp. 217--221.
[13]
Zengler, C., and Küchlin, W. Encoding the Linux kernel configuration in propositional logic. In Proceedings of the 19th European Conference on Artificial Intelligence (ECAI 2010) Workshop on Configuration 2010 (2010), L. Hotz and A. Haselböck, Eds., pp. 51--56.

Cited By

View all
  • (2024)MulTi-Wise Sampling: Trading Uniform T-Wise Feature Interaction Coverage for Smaller SamplesProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672589(47-53)Online publication date: 2-Sep-2024
  • (2024)A Scalable $t$t-Wise Coverage Estimator: Algorithms and ApplicationsIEEE Transactions on Software Engineering10.1109/TSE.2024.341991950:8(2021-2039)Online publication date: 1-Aug-2024
  • (2024)On the Applicability of Static Analysis for System Software using CodeChecker2024 7th International Conference on Software and System Engineering (ICoSSE)10.1109/ICoSSE62619.2024.00011(15-22)Online publication date: 19-Apr-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
PLOS '11: Proceedings of the 6th Workshop on Programming Languages and Operating Systems
October 2011
45 pages
ISBN:9781450309790
DOI:10.1145/2039239
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: 23 October 2011

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Funding Sources

Conference

SOSP '11
Sponsor:

Acceptance Rates

Overall Acceptance Rate 17 of 32 submissions, 53%

Upcoming Conference

SOSP '24

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)22
  • Downloads (Last 6 weeks)1
Reflects downloads up to 28 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)MulTi-Wise Sampling: Trading Uniform T-Wise Feature Interaction Coverage for Smaller SamplesProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672589(47-53)Online publication date: 2-Sep-2024
  • (2024)A Scalable $t$t-Wise Coverage Estimator: Algorithms and ApplicationsIEEE Transactions on Software Engineering10.1109/TSE.2024.341991950:8(2021-2039)Online publication date: 1-Aug-2024
  • (2024)On the Applicability of Static Analysis for System Software using CodeChecker2024 7th International Conference on Software and System Engineering (ICoSSE)10.1109/ICoSSE62619.2024.00011(15-22)Online publication date: 19-Apr-2024
  • (2023)True Variability Shining Through Taxonomy MiningProceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A10.1145/3579027.3608989(182-193)Online publication date: 28-Aug-2023
  • (2023)Detecting false-passing products and mitigating their impact on variability fault localization in software product linesInformation and Software Technology10.1016/j.infsof.2022.107080153(107080)Online publication date: Jan-2023
  • (2022)Reducing Redundant Test Executions in Software Product Line Testing—A Case StudyElectronics10.3390/electronics1107116511:7(1165)Online publication date: 6-Apr-2022
  • (2022)C2CProceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security10.1145/3548606.3559366(1243-1257)Online publication date: 7-Nov-2022
  • (2022)A scalable t-wise coverage estimatorProceedings of the 44th International Conference on Software Engineering10.1145/3510003.3510218(36-47)Online publication date: 21-May-2022
  • (2022)Control parameters considered harmfulProceedings of the 44th International Conference on Software Engineering10.1145/3510003.3510084(462-473)Online publication date: 21-May-2022
  • (2020)A BDD for Linux?Proceedings of the 24th ACM Conference on Systems and Software Product Line: Volume A - Volume A10.1145/3382025.3414943(1-6)Online publication date: 19-Oct-2020
  • Show More Cited By

View Options

Get Access

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