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.
- 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 ScholarDigital Library
- Sven Apel, Don Batory, Christian Kästner, and Gunter Saake. 2013. Feature-Oriented Software Product Lines. Springer. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Paul Gazzillo. 2017. Kmax: Finding All Configurations of Kbuild Makefiles Statically. In Joint Meeting on Foundations of Software Engineering. ACM, 279--290. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Charles Prud'homme, Jean-Guillaume Fages, and Xavier Lorca. 2017. Choco Documentation. TASC - LS2N CNRS UMR 6241, COSLING S.A.S.Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
Index Terms
- PClocator: a tool suite to automatically identify configurations for code locations
Recommendations
Handling complex configurations in software product lines: a tooled approach
SPLC '14: Proceedings of the 18th International Software Product Line Conference - Volume 1As Software Product Lines (SPLs) are now more widely applied in new application fields such as IT or Web systems, complex and large-scale configurations have to be handled. In these fields, the strong domain orientation leads to the need to manage ...
GuyDance: Guiding Configuration Updates for Product-Line Evolution
SPLC '20: Proceedings of the 24th ACM International Systems and Software Product Line Conference - Volume BA product line is an approach for systematically managing configuration options of customizable systems, usually by means of features. Products are generated by utilizing configurations consisting of selected features. Product-line evolution can lead to ...
SCRUB: a tool for code reviews
This paper describes a tool called Source Code Review User Browser (SCRUB) that was developed to support a more effective and tool-based code review process. The tool was designed to support a large team-based software development effort of mission ...
Comments