skip to main content
10.1145/3233027.3236399acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
research-article

PClocator: a tool suite to automatically identify configurations for code locations

Published:10 September 2018Publication History

ABSTRACT

The source code of highly-configurable software is challenging to comprehend, analyze, and test. In particular, it is hard to identify all configurations that comprise a certain code location. We contribute PCLocator, a tool suite that solves this problem by utilizing static analysis tools for compile-time variability. Using BusyBox and the Variability Bugs Database (VBDb), we evaluate the correctness and performance of PCLocator. The results show that we are able to analyze files in a matter of seconds and derive correct configurations in 95% of all cases.

References

  1. Iago Abal, Claus Brabrand, and Andrzej Wasowski. 2014. 42 Variability Bugs in the Linux Kernel: A Qualitative Analysis. In International Conference on Automated Software Engineering. ACM, 421--432. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Sven Apel, Don Batory, Christian Kästner, and Gunter Saake. 2013. Feature-Oriented Software Product Lines. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Lianping Chen and Muhammad Ali Babar. 2011. A Systematic Review of Evaluation of Variability Management Approaches in Software Product Lines. Information and Software Technology 53, 4 (2011), 344--362. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Christian Dietrich, Reinhard Tartler, Wolfgang Schröder-Preikschat, and Daniel Lohmann. 2012. A Robust Approach for Variability Extraction from the Linux Build System. In International Software Product Line Conference. ACM, 21--30. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Sascha El-Sharkawy, Adam Krafczyk, and Klaus Schmid. 2015. Analysing the Kconfig Semantics and Its Analysis Tools. In International Conference on Generative Programming: Concepts and Experiences. ACM, 45--54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Paul Gazzillo. 2017. Kmax: Finding All Configurations of Kbuild Makefiles Statically. In Joint Meeting on Foundations of Software Engineering. ACM, 279--290. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Paul Gazzillo and Robert Grimm. 2012. SuperC: Parsing All of C by Taming the Preprocessor. In ACM SIGPLAN Conference on Programming Language Design and Implementation. ACM, 323--334. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Paul Gazzillo, Ugur Koc, ThanhVu Nguyen, and Shiyi Wei. 2018. Localizing Configurations in Highly-Configurable Systems. In International Systems and Software Product Line Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Christian Kästner, Paolo G. Giarrusso, Tillmann Rendel, Sebastian Erdweg, Klaus Ostermann, and Thorsten Berger. 2011. Variability-Aware Parsing in the Presence of Lexical Macros and Conditional Compilation. ACM SIGPLAN Notices 46, 10 (2011), 805--824. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Andy Kenner, Christian Kästner, Steffen Haase, and Thomas Leich. 2010. Type-Chef: Toward Type Checking #Ifdef Variability in C. In International Workshop on Feature-Oriented Software Development. ACM, 25--32. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Jacob Krüger, Ivonne Schröter, Andy Kenner, Christopher Kruczek, and Thomas Leich. 2016. FeatureCoPP: Compositional Annotations. In International Workshop on Feature-Oriented Software Development. ACM, 74--84. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Daniel Le Berre and Anne Parrain. 2010. The Sat4j Library, Release 2.2. Journal on Satisfiability, Boolean Modeling and Computation 7 (2010), 59--64.Google ScholarGoogle Scholar
  13. Jörg Liebig, Christian Kästner, and Sven Apel. 2011. Analyzing the Discipline of Preprocessor Annotations in 30 Million Lines of C Code. In International Conference on Aspect-Oriented Software Development. ACM, 191--202. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Jörg Liebig, Alexander von Rhein, Christian Kästner, Sven Apel, Jens Dörre, and Christian Lengauer. 2013. Scalable Analysis of Variable Software. In Joint Meeting on Foundations of Software Engineering. ACM, 81--91. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Charles Prud'homme, Jean-Guillaume Fages, and Xavier Lorca. 2017. Choco Documentation. TASC - LS2N CNRS UMR 6241, COSLING S.A.S.Google ScholarGoogle Scholar
  16. Steven She, Rafael Lotufo, Thorsten Berger, Andrzej Wasowski, and Krzysztof Czarnecki. 2010. The Variability Model of The Linux Kernel. In International Workshop on Variability Modelling of Software-Intensive Systems. Universität Duisburg-Essen, 45--51.Google ScholarGoogle Scholar
  17. Reinhard Tartler, Daniel Lohmann, Julio Sincero, and Wolfgang Schröder-Preikschat. 2011. Feature Consistency in Compile-time-configurable System Software: Facing the Linux 10,000 Feature Problem. In Conference on Computer Systems. ACM, 47--60. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. PClocator: a tool suite to automatically identify configurations for code locations

        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 Other conferences
          SPLC '18: Proceedings of the 22nd International Systems and Software Product Line Conference - Volume 1
          September 2018
          324 pages
          ISBN:9781450364645
          DOI:10.1145/3233027

          Copyright © 2018 ACM

          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 the author(s) 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].

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 10 September 2018

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate167of463submissions,36%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader