skip to main content
10.1145/2814189.2815365acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
abstract

Safely evolving configurable systems

Published:25 October 2015Publication History

ABSTRACT

Developers use configuration options to tailor systems to different platforms. This configurability leads to exponential configuration spaces and traditional tools (e.g., gcc) check only one configuration at a time. As a result, developers introduce configuration-related issues (i.e., bad smells and faults) that appear only when we select certain configuration options. By interviewing 40 developers and performing a survey with 202 developers, we found that configuration- related issues are harder to detect and more critical than is- sues that appear in all configurations. We propose a strategy to detect configuration-related issues and a catalogue of refactorings to remove bad smells in preprocessor directives. We found 131 faults and 500 bad smells in 40 real-world configurable systems, including Apache and Libssh.

References

  1. M. Ernst, G. Badros, and D. Notkin. An empirical analysis of C preprocessor use. IEEE Trans. on Software Engineering, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. C. Kästner, P. Giarrusso, T. Rendel, S. Erdweg, K. Ostermann, and T. Berger. Variability-aware parsing in the presence of lexical macros and conditional compilation. In Proceedings of OOPSLA. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. F. Medeiros, M. Ribeiro, and R. Gheyi. Investigating preprocessor-based syntax errors. In Proceedings of GPCE. ACM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. F. Medeiros, M. Ribeiro, R. Gheyi, and B. Fonseca. A catalogue of refactorings to remove incomplete annotations. Journal of Universal Computer Science, 2014.Google ScholarGoogle Scholar
  5. F. Medeiros, C. Kästner, M. Ribeiro, R. Gheyi, and S. Apel. Reasoning about sampling algorithms for configurable systems. Technical Report TR-15-001, Federal University of Campina Grande, 2015.Google ScholarGoogle Scholar
  6. F. Medeiros, C. Kästner, M. Ribeiro, S. Nadi, and R. Gheyi. The love/hate relationship with the C preprocessor: An interview study. In Proceedings of ECOOP, 2015.Google ScholarGoogle Scholar
  7. F. Medeiros, I. Rodrigues, M. Ribeiro, L. Teixeira, and R. Gheyi. An empirical study on configuration-related issues: Investigating undeclared and unused identifiers. In Proceedings of GPCE. ACM, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Research Problem and Motivation Background Approach Results and ContributionsGoogle ScholarGoogle Scholar

Index Terms

  1. Safely evolving configurable systems

    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
    • Published in

      cover image ACM Conferences
      SPLASH Companion 2015: Companion Proceedings of the 2015 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity
      October 2015
      112 pages
      ISBN:9781450337229
      DOI:10.1145/2814189

      Copyright © 2015 Owner/Author

      Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the Owner/Author.

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 25 October 2015

      Check for updates

      Qualifiers

      • abstract

      Upcoming Conference

    • Article Metrics

      • Downloads (Last 12 months)1
      • Downloads (Last 6 weeks)0

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader