{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,24]],"date-time":"2025-06-24T06:27:59Z","timestamp":1750746479306,"version":"3.41.0"},"publisher-location":"Cham","reference-count":39,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319577340"},{"type":"electronic","value":"9783319577357"}],"license":[{"start":{"date-parts":[[2017,1,1]],"date-time":"2017-01-01T00:00:00Z","timestamp":1483228800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2017,1,1]],"date-time":"2017-01-01T00:00:00Z","timestamp":1483228800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2017]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Developers invest much effort into validating configuration during startup of free\/libre and open source software (FLOSS) applications. Nevertheless, hardly any tools exist to validate configuration files to detect misconfigurations earlier. This paper aims at understanding the challenges to provide better tools for configuration validation. We use mixed methodology: (1) We analyzed 2,683 run-time configuration accesses in the source-code of 16 applications comprising 50 million lines of code. (2) We conducted a questionnaire survey with 162 FLOSS contributors completing the survey. We report our experiences about building up a FLOSS community that tackles the issues by unifying configuration validation with an external configuration access specification.<\/jats:p><jats:p>We discovered that information necessary for validation is often missing in the applications and FLOSS developers dislike dependencies on external packages for such validations.<\/jats:p>","DOI":"10.1007\/978-3-319-57735-7_11","type":"book-chapter","created":{"date-parts":[[2017,4,22]],"date-time":"2017-04-22T05:20:10Z","timestamp":1492838410000},"page":"101-114","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":4,"title":["Challenges in Validating FLOSS Configuration"],"prefix":"10.1007","author":[{"given":"Markus","family":"Raab","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Gerg\u00f6","family":"Barany","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2017,4,23]]},"reference":[{"key":"11_CR1","unstructured":"Attariyan, M., Flinn, J.: Automating configuration troubleshooting with dynamic information flow analysis. In: Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation, OSDI 2010, pp. 1\u201311. USENIX Association, Berkeley (2010)"},{"key":"11_CR2","series-title":"IFIP Advances in Information and Communication Technology","doi-asserted-by":"publisher","first-page":"23","DOI":"10.1007\/978-3-319-17837-0_3","volume-title":"Open Source Systems: Adoption and Impact","author":"A Barcomb","year":"2015","unstructured":"Barcomb, A., Grottke, M., Stauffert, J.-P., Riehle, D., Jahn, S.: How developers acquire FLOSS skills. In: Damiani, E., Frati, F., Riehle, D., Wasserman, A.I. (eds.) OSS 2015. IAICT, vol. 451, pp. 23\u201332. Springer, Cham (2015). doi:10.1007\/978-3-319-17837-0_3"},{"key":"11_CR3","doi-asserted-by":"crossref","unstructured":"Barrett, R., Chen, Y.Y.M., Maglio, P.P.: System administrators are users, too: designing workspaces for managing Internet-scale systems. In: CHI 2003 Extended Abstracts on Human Factors in Computing Systems, pp. 1068\u20131069. ACM (2003)","DOI":"10.1145\/765891.766152"},{"key":"11_CR4","doi-asserted-by":"crossref","unstructured":"Barrett, R., Kandogan, E., Maglio, P.P., Haber, E.M., Takayama, L.A., Prabaker, M.: Field studies of computer system administrators: analysis of system management tools and practices. In: Proceedings of the 2004 ACM Conference on Computer Supported Cooperative Work, pp. 388\u2013395. ACM (2004)","DOI":"10.1145\/1031607.1031672"},{"key":"11_CR5","doi-asserted-by":"crossref","unstructured":"Berger, T., Rublack, R., Nair, D., Atlee, J.M., Becker, M., Czarnecki, K., W\u0105sowski, A.: A survey of variability modeling in industrial practice. In: Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems, VaMoS 2013, pp. 7:1\u20137:8. ACM, New York (2013). http:\/\/doi.acm.org\/10.1145\/2430502.2430513","DOI":"10.1145\/2430502.2430513"},{"issue":"2","key":"11_CR6","first-page":"7:1","volume":"44","author":"K Crowston","year":"2008","unstructured":"Crowston, K., Wei, K., Howison, J., Wiggins, A.: Free\/libre open-source software development: what we know and what we do not know. ACM Comput. Surv. 44(2), 7:1\u20137:35 (2008). http:\/\/dx.doi.org\/10.1145\/2089125.2089127","journal-title":"ACM Comput. Surv."},{"key":"11_CR7","unstructured":"Danial, A.: Cloc-count lines of code (2017). https:\/\/github.com\/AlDanial\/cloc, Feb 2017"},{"key":"11_CR8","first-page":"6","volume":"10","author":"VS Denisov","year":"2015","unstructured":"Denisov, V.S.: Functional requirements for a modern application configuration framework. Int. J. Open Inf. Technol. 10, 6\u201310 (2015)","journal-title":"Int. J. Open Inf. Technol."},{"key":"11_CR9","doi-asserted-by":"crossref","unstructured":"Di Cosmo, R., Zacchiroli, S., Trezentos, P.: Package upgrades in FOSS distributions: details and challenges. In: Proceedings of the 1st International Workshop on Hot Topics in Software Upgrades, HotSWUp 2008, pp. 7:1\u20137:5. ACM, New York (2008). http:\/\/dx.doi.org\/10.1145\/1490283.1490292","DOI":"10.1145\/1490283.1490292"},{"key":"11_CR10","doi-asserted-by":"publisher","first-page":"285","DOI":"10.1007\/978-1-84800-044-5_11","volume-title":"Guide to Advanced Empirical Software Engineering","author":"S Easterbrook","year":"2008","unstructured":"Easterbrook, S., Singer, J., Storey, M.A., Damian, D.: Selecting empirical methods for software engineering research. In: Shull, F., Singer, J., Sj\u00f8berg, D. (eds.) Guide to Advanced Empirical Software Engineering, pp. 285\u2013311. Springer, London (2008)"},{"issue":"1","key":"11_CR11","doi-asserted-by":"publisher","first-page":"25","DOI":"10.5465\/AMJ.2007.24160888","volume":"50","author":"KM Eisenhardt","year":"2007","unstructured":"Eisenhardt, K.M., Graebner, M.E.: Theory building from cases: opportunities and challenges. Acad. Manage. J. 50(1), 25\u201332 (2007)","journal-title":"Acad. Manage. J."},{"key":"11_CR12","unstructured":"Ghosh, R.A., Glott, R., Krieger, B., Robles, G.: Free\/libre and open source software: Survey and study. University of Maastricht, The Netherlands, International Institute of Infonomics (2002)"},{"key":"11_CR13","doi-asserted-by":"crossref","unstructured":"Haber, E.M., Bailey, J.: Design guidelines for system administration tools developed through ethnographic field studies. In: Proceedings of the 2007 Symposium on Computer Human Interaction for the Management of Information Technology, CHIMIT 2007. ACM, New York (2007). http:\/\/dx.doi.org\/10.1145\/1234772.1234774","DOI":"10.1145\/1234772.1234774"},{"key":"11_CR14","doi-asserted-by":"crossref","unstructured":"Hammouda, I., Harsu, M.: Documenting maintenance tasks using maintenance patterns. In: Eighth European Conference on Software Maintenance and Reengineering, CSMR 2004, Proceedings, pp. 37\u201347, March 2004","DOI":"10.1109\/CSMR.2004.1281404"},{"issue":"318","key":"11_CR15","doi-asserted-by":"publisher","first-page":"399","DOI":"10.1080\/01621459.1967.10482916","volume":"62","author":"HW Lilliefors","year":"1967","unstructured":"Lilliefors, H.W.: On the Kolmogorov-Smirnov test for normality with mean and variance unknown. J. Am. Stat. Assoc. 62(318), 399\u2013402 (1967). http:\/\/amstat.tandfonline.com\/doi\/abs\/10.1080\/01621459.1967.10482916","journal-title":"J. Am. Stat. Assoc."},{"key":"11_CR16","unstructured":"Michlmayr, M., Hunt, F., Probert, D.: Quality practices and problems in free software projects. In: Proceedings of the First International Conference on Open Source Systems, pp. 24\u201328 (2005)"},{"issue":"3","key":"11_CR17","doi-asserted-by":"publisher","first-page":"283","DOI":"10.2478\/s13537-012-0015-7","volume":"2","author":"M Nos\u00e1l","year":"2012","unstructured":"Nos\u00e1l, M., Porub\u00e4n, J.: Supporting multiple configuration sources using abstraction. Open Comput. Sci. 2(3), 283\u2013299 (2012)","journal-title":"Open Comput. Sci."},{"issue":"4","key":"11_CR18","doi-asserted-by":"publisher","first-page":"1455","DOI":"10.2298\/CSIS130920049N","volume":"11","author":"M Nos\u00e1l","year":"2014","unstructured":"Nos\u00e1l, M., Porub\u00e4n, J.: XML to annotations mapping definition with patterns. Comput. Sci. Inf. Syst. 11(4), 1455\u20131477 (2014)","journal-title":"Comput. Sci. Inf. Syst."},{"key":"11_CR19","unstructured":"Oppenheimer, D., Ganapathi, A., Patterson, D.A.: Why do Internet services fail, and what can be done about it? In: USENIX Symposium on Internet Technologies and Systems, Seattle, WA, vol. 67 (2003)"},{"key":"11_CR20","unstructured":"Raab, M.: A modular approach to configuration storage. Master\u2019s thesis, Vienna University of Technology (2010)"},{"key":"11_CR21","doi-asserted-by":"crossref","unstructured":"Raab, M.: Global and thread-local activation of contextual program execution environments. In: Proceedings of the IEEE 18th International Symposium on Real-Time Distributed Computing Workshops (ISORCW\/SEUS), pp. 34\u201341, April 2015","DOI":"10.1109\/ISORCW.2015.52"},{"key":"11_CR22","unstructured":"Raab, M.: Sharing software configuration via specified links and transformation rules. In: Technical report from KPS 2015, vol. 18. Vienna University of Technology, Complang Group (2015)"},{"key":"11_CR23","doi-asserted-by":"crossref","unstructured":"Raab, M.: Elektra: universal framework to access configuration parameters. J. Open Source Softw. 1(8), 1\u20132 (2016). http:\/\/dx.doi.org\/10.21105\/joss.00044","DOI":"10.21105\/joss.00044"},{"key":"11_CR24","doi-asserted-by":"crossref","unstructured":"Raab, M.: Improving system integration using a modular configuration specification language. In: Companion Proceedings of the 15th International Conference on Modularity, MODULARITY Companion 2016, pp. 152\u2013157. ACM, New York (2016). http:\/\/dx.doi.org\/10.1145\/2892664.2892691","DOI":"10.1145\/2892664.2892691"},{"key":"11_CR25","doi-asserted-by":"crossref","unstructured":"Raab, M.: Persistent contextual values as inter-process layers. In: Proceedings of the 1st International Workshop on Mobile Development, Mobile! 2016, pp. 9\u201316. ACM, New York (2016). http:\/\/dx.doi.org\/10.1145\/3001854.3001855","DOI":"10.1145\/3001854.3001855"},{"key":"11_CR26","series-title":"Studies in Computational Intelligence","doi-asserted-by":"publisher","first-page":"41","DOI":"10.1007\/978-3-319-40171-3_4","volume-title":"Computer and Information Science","author":"Markus Raab","year":"2016","unstructured":"Raab, Markus: Unanticipated context awareness for software configuration access using the getenv API. In: Lee, Roger (ed.) Computer and Information Science. SCI, vol. 656, pp. 41\u201357. Springer, Cham (2016). doi:10.1007\/978-3-319-40171-3_4"},{"key":"11_CR27","doi-asserted-by":"crossref","unstructured":"Raab, M., Barany, G.: Introducing context awareness in unmodified, context-unaware software. In: 12th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE) (2017, to appear)","DOI":"10.5220\/0006326602180225"},{"key":"11_CR28","doi-asserted-by":"crossref","unstructured":"Raab, M., Puntigam, F.: Program execution environments as contextual values. In: Proceedings of 6th International Workshop on Context-Oriented Programming, pp. 8:1\u20138:6. ACM, New York (2014). http:\/\/dx.doi.org\/10.1145\/2637066.2637074","DOI":"10.1145\/2637066.2637074"},{"key":"11_CR29","unstructured":"Raab, M., Sabin, P.: Implementation of multiple key databases for shared configuration (2008). ftp:\/\/www.markus-raab.org\/elektra.pdf, Accessed Feb 2014"},{"issue":"6","key":"11_CR30","doi-asserted-by":"publisher","first-page":"237","DOI":"10.1145\/1323293.1294284","volume":"41","author":"YY Su","year":"2007","unstructured":"Su, Y.Y., Attariyan, M., Flinn, J.: Autobash: improving configuration management with operating system causality analysis. ACM SIGOPS Operating Syst. Rev. 41(6), 237\u2013250 (2007)","journal-title":"ACM SIGOPS Operating Syst. Rev."},{"key":"11_CR31","unstructured":"Velasquez, N.F., Weisband, S., Durcikova, A.: Designing tools for system administrators: an empirical test of the integrated user satisfaction model. In: Proceedings of the 22nd Conference on Large Installation System Administration Conference, LISA 2008, pp. 1\u20138. USENIX Association, Berkeley (2008). http:\/\/dl.acm.org\/citation.cfm?id=1496684.1496685"},{"key":"11_CR32","doi-asserted-by":"crossref","unstructured":"Villela, K., Silva, A., Vale, T., de Almeida, E.S.: A survey on software variability management approaches. In: Proceedings of the 18th International Software Product Line Conference, SPLC 2014, vol. 1, pp. 147\u2013156. ACM, New York (2014). http:\/\/dx.doi.org\/10.1145\/2648511.2648527","DOI":"10.1145\/2648511.2648527"},{"key":"11_CR33","first-page":"245","volume":"4","author":"HJ Wang","year":"2004","unstructured":"Wang, H.J., Platt, J.C., Chen, Y., Zhang, R., Wang, Y.M.: Automatic misconfiguration troubleshooting with peerpressure. OSDI 4, 245\u2013257 (2004)","journal-title":"OSDI"},{"key":"11_CR34","unstructured":"Xu, T., Jin, X., Huang, P., Zhou, Y., Lu, S., Jin, L., Pasupathy, S.: Early detection of configuration errors to reduce failure damage. In: Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI 2016), Savannah, GA, USA, November 2016"},{"key":"11_CR35","doi-asserted-by":"crossref","unstructured":"Xu, T., Zhang, J., Huang, P., Zheng, J., Sheng, T., Yuan, D., Zhou, Y., Pasupathy, S.: Do not blame users for misconfigurations. In: Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles, pp. 244\u2013259. ACM (2013)","DOI":"10.1145\/2517349.2522727"},{"issue":"4","key":"11_CR36","doi-asserted-by":"publisher","first-page":"70:1","DOI":"10.1145\/2791577","volume":"47","author":"T Xu","year":"2015","unstructured":"Xu, T., Zhou, Y.: Systems approaches to tackling configuration errors: a survey. ACM Comput. Surv. 47(4), 70:1\u201370:41 (2015). http:\/\/dx.doi.org\/10.1145\/2791577","journal-title":"ACM Comput. Surv."},{"key":"11_CR37","doi-asserted-by":"crossref","unstructured":"Yin, Z., Ma, X., Zheng, J., Zhou, Y., Bairavasundaram, L.N., Pasupathy, S.: An empirical study on configuration errors in commercial and open source systems. In: Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles, SOSP 2011, pp. 159\u2013172. ACM, New York (2011)","DOI":"10.1145\/2043556.2043572"},{"key":"11_CR38","doi-asserted-by":"crossref","unstructured":"Zhang, S., Ernst, M.D.: Automated diagnosis of software configuration errors. In: Proceedings of the 2013 International Conference on Software Engineering, ICSE 2013, pp. 312\u2013321. IEEE Press, Piscataway (2013)","DOI":"10.1109\/ICSE.2013.6606577"},{"key":"11_CR39","doi-asserted-by":"crossref","unstructured":"Zhang, S., Ernst, M.D.: Which configuration option should I change?. In: Proceedings of the 36th International Conference on Software Engineering. pp. 152\u2013163. ICSE 2014, NY, USA (2014),. http:\/\/dx.doi.org\/10.1145\/2568225.2568251","DOI":"10.1145\/2568225.2568251"}],"container-title":["IFIP Advances in Information and Communication Technology","Open Source Systems: Towards Robust Practices"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-57735-7_11","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:43:50Z","timestamp":1750203830000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-319-57735-7_11"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017]]},"ISBN":["9783319577340","9783319577357"],"references-count":39,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-57735-7_11","relation":{},"ISSN":["1868-4238","1868-422X"],"issn-type":[{"type":"print","value":"1868-4238"},{"type":"electronic","value":"1868-422X"}],"subject":[],"published":{"date-parts":[[2017]]},"assertion":[{"value":"23 April 2017","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"OSS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"IFIP International Conference on Open Source Systems","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Buenos Aires","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Argentina","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2017","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"22 May 2017","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"23 May 2017","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"13","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"oss2017","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/oss2017.lifia.info.unlp.edu.ar\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}