{"id":"https://openalex.org/W4316927168","doi":"https://doi.org/10.1145/3571788.3571795","title":"Designing a Test Model for a Configurable System: An Exploratory Study of Preprocessor Directives and Feature Toggles","display_name":"Designing a Test Model for a Configurable System: An Exploratory Study of Preprocessor Directives and Feature Toggles","publication_year":2023,"publication_date":"2023-01-17","ids":{"openalex":"https://openalex.org/W4316927168","doi":"https://doi.org/10.1145/3571788.3571795"},"language":"en","primary_location":{"id":"doi:10.1145/3571788.3571795","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3571788.3571795","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3571788.3571795","source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 17th International Working Conference on Variability Modelling of Software-Intensive Systems","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3571788.3571795","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5040837907","display_name":"Stefan Fischer","orcid":"https://orcid.org/0000-0002-4715-3384"},"institutions":[{"id":"https://openalex.org/I4210126338","display_name":"Software Competence Center Hagenberg (Austria)","ror":"https://ror.org/02ks3nr96","country_code":"AT","type":"company","lineage":["https://openalex.org/I4210126338"]}],"countries":["AT"],"is_corresponding":false,"raw_author_name":"Stefan Fischer","raw_affiliation_strings":["Software Competence Center Hagenberg GmbH (SCCH), Austria"],"raw_orcid":"https://orcid.org/0000-0002-4715-3384","affiliations":[{"raw_affiliation_string":"Software Competence Center Hagenberg GmbH (SCCH), Austria","institution_ids":["https://openalex.org/I4210126338"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5040369497","display_name":"Gabriela Karoline Michelon","orcid":"https://orcid.org/0000-0002-9638-8569"},"institutions":[{"id":"https://openalex.org/I121883995","display_name":"Johannes Kepler University of Linz","ror":"https://ror.org/052r2xn60","country_code":"AT","type":"education","lineage":["https://openalex.org/I121883995"]}],"countries":["AT"],"is_corresponding":false,"raw_author_name":"Gabriela Karoline Michelon","raw_affiliation_strings":["Johannes Kepler University Linz, Austria"],"raw_orcid":"https://orcid.org/0000-0002-9638-8569","affiliations":[{"raw_affiliation_string":"Johannes Kepler University Linz, Austria","institution_ids":["https://openalex.org/I121883995"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5039130090","display_name":"Wesley K. G. Assun\u00e7\u00e3o","orcid":"https://orcid.org/0000-0002-7557-9091"},"institutions":[{"id":"https://openalex.org/I121883995","display_name":"Johannes Kepler University of Linz","ror":"https://ror.org/052r2xn60","country_code":"AT","type":"education","lineage":["https://openalex.org/I121883995"]}],"countries":["AT"],"is_corresponding":false,"raw_author_name":"Wesley K. G. Assun\u00e7\u00e3o","raw_affiliation_strings":["Johannes Kepler University Linz, Austria"],"raw_orcid":"https://orcid.org/0000-0002-7557-9091","affiliations":[{"raw_affiliation_string":"Johannes Kepler University Linz, Austria","institution_ids":["https://openalex.org/I121883995"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5004548330","display_name":"Rudolf Ramler","orcid":"https://orcid.org/0000-0001-9903-6107"},"institutions":[{"id":"https://openalex.org/I4210126338","display_name":"Software Competence Center Hagenberg (Austria)","ror":"https://ror.org/02ks3nr96","country_code":"AT","type":"company","lineage":["https://openalex.org/I4210126338"]}],"countries":["AT"],"is_corresponding":false,"raw_author_name":"Rudolf Ramler","raw_affiliation_strings":["Software Competence Center Hagenberg GmbH (SCCH), Austria"],"raw_orcid":"https://orcid.org/0000-0001-9903-6107","affiliations":[{"raw_affiliation_string":"Software Competence Center Hagenberg GmbH (SCCH), Austria","institution_ids":["https://openalex.org/I4210126338"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5057561309","display_name":"Alexander Egyed","orcid":"https://orcid.org/0000-0003-3128-5427"},"institutions":[{"id":"https://openalex.org/I121883995","display_name":"Johannes Kepler University of Linz","ror":"https://ror.org/052r2xn60","country_code":"AT","type":"education","lineage":["https://openalex.org/I121883995"]}],"countries":["AT"],"is_corresponding":false,"raw_author_name":"Alexander Egyed","raw_affiliation_strings":["Johannes Kepler University Linz, Austria"],"raw_orcid":"https://orcid.org/0000-0003-3128-5427","affiliations":[{"raw_affiliation_string":"Johannes Kepler University Linz, Austria","institution_ids":["https://openalex.org/I121883995"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":true,"cited_by_count":4,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"31","last_page":"39"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12127","display_name":"Software System Performance and Reliability","score":0.9990000128746033,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7358294725418091},{"id":"https://openalex.org/keywords/encode","display_name":"ENCODE","score":0.6972875595092773},{"id":"https://openalex.org/keywords/preprocessor","display_name":"Preprocessor","score":0.5473917722702026},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.5331152081489563},{"id":"https://openalex.org/keywords/model-based-testing","display_name":"Model-based testing","score":0.5258510708808899},{"id":"https://openalex.org/keywords/maintainability","display_name":"Maintainability","score":0.4988088607788086},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.4660768508911133},{"id":"https://openalex.org/keywords/machine-learning","display_name":"Machine learning","score":0.4601595401763916},{"id":"https://openalex.org/keywords/feature","display_name":"Feature (linguistics)","score":0.4402981698513031},{"id":"https://openalex.org/keywords/software-system","display_name":"Software system","score":0.421842098236084},{"id":"https://openalex.org/keywords/integration-testing","display_name":"Integration testing","score":0.41306716203689575},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4054434597492218},{"id":"https://openalex.org/keywords/data-mining","display_name":"Data mining","score":0.3972145915031433},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.3822299540042877},{"id":"https://openalex.org/keywords/test-case","display_name":"Test case","score":0.36967170238494873},{"id":"https://openalex.org/keywords/reliability-engineering","display_name":"Reliability engineering","score":0.3432086706161499},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.16498178243637085},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.15009692311286926}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7358294725418091},{"id":"https://openalex.org/C66746571","wikidata":"https://www.wikidata.org/wiki/Q1134833","display_name":"ENCODE","level":3,"score":0.6972875595092773},{"id":"https://openalex.org/C34736171","wikidata":"https://www.wikidata.org/wiki/Q918333","display_name":"Preprocessor","level":2,"score":0.5473917722702026},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.5331152081489563},{"id":"https://openalex.org/C165825675","wikidata":"https://www.wikidata.org/wiki/Q1399743","display_name":"Model-based testing","level":4,"score":0.5258510708808899},{"id":"https://openalex.org/C160713754","wikidata":"https://www.wikidata.org/wiki/Q1389965","display_name":"Maintainability","level":2,"score":0.4988088607788086},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.4660768508911133},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.4601595401763916},{"id":"https://openalex.org/C2776401178","wikidata":"https://www.wikidata.org/wiki/Q12050496","display_name":"Feature (linguistics)","level":2,"score":0.4402981698513031},{"id":"https://openalex.org/C149091818","wikidata":"https://www.wikidata.org/wiki/Q2429814","display_name":"Software system","level":3,"score":0.421842098236084},{"id":"https://openalex.org/C107683887","wikidata":"https://www.wikidata.org/wiki/Q782466","display_name":"Integration testing","level":3,"score":0.41306716203689575},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4054434597492218},{"id":"https://openalex.org/C124101348","wikidata":"https://www.wikidata.org/wiki/Q172491","display_name":"Data mining","level":1,"score":0.3972145915031433},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3822299540042877},{"id":"https://openalex.org/C128942645","wikidata":"https://www.wikidata.org/wiki/Q1568346","display_name":"Test case","level":3,"score":0.36967170238494873},{"id":"https://openalex.org/C200601418","wikidata":"https://www.wikidata.org/wiki/Q2193887","display_name":"Reliability engineering","level":1,"score":0.3432086706161499},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.16498178243637085},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.15009692311286926},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C152877465","wikidata":"https://www.wikidata.org/wiki/Q208042","display_name":"Regression analysis","level":2,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3571788.3571795","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3571788.3571795","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3571788.3571795","source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 17th International Working Conference on Variability Modelling of Software-Intensive Systems","raw_type":"proceedings-article"},{"id":"pmh:oai:epub.jku.at/:8845540","is_oa":true,"landing_page_url":"https://epub.jku.at/doi/10.1145/3571788.3571795","pdf_url":"https://epub.jku.at/obvulioa/content/titleinfo/8845540/full.pdf","source":{"id":"https://openalex.org/S4306401788","display_name":"University Library Linz repository (Johannes Kepler Universitat Linz)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I121883995","host_organization_name":"Johannes Kepler University of Linz","host_organization_lineage":["https://openalex.org/I121883995"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Text"}],"best_oa_location":{"id":"doi:10.1145/3571788.3571795","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3571788.3571795","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3571788.3571795","source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 17th International Working Conference on Variability Modelling of Software-Intensive Systems","raw_type":"proceedings-article"},"sustainable_development_goals":[{"display_name":"Industry, innovation and infrastructure","id":"https://metadata.un.org/sdg/9","score":0.4000000059604645}],"awards":[{"id":"https://openalex.org/G4291399705","display_name":"Multi-View Consistency Checking","funder_award_id":"P31989","funder_id":"https://openalex.org/F4320321181","funder_display_name":"Austrian Science Fund"}],"funders":[{"id":"https://openalex.org/F4320321181","display_name":"Austrian Science Fund","ror":"https://ror.org/013tf3c58"},{"id":"https://openalex.org/F4320327593","display_name":"Bundesministerium f\u00fcr Digitalisierung und Wirtschaftsstandort","ror":null}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4316927168.pdf","grobid_xml":"https://content.openalex.org/works/W4316927168.grobid-xml"},"referenced_works_count":33,"referenced_works":["https://openalex.org/W1586593724","https://openalex.org/W1608087281","https://openalex.org/W1977497804","https://openalex.org/W2092198121","https://openalex.org/W2100162598","https://openalex.org/W2110025251","https://openalex.org/W2130195901","https://openalex.org/W2138643187","https://openalex.org/W2146146776","https://openalex.org/W2154362664","https://openalex.org/W2171002355","https://openalex.org/W2263269202","https://openalex.org/W2402157058","https://openalex.org/W2404120807","https://openalex.org/W2488482879","https://openalex.org/W2501740718","https://openalex.org/W2759114566","https://openalex.org/W2808072655","https://openalex.org/W2963623343","https://openalex.org/W3011335320","https://openalex.org/W3016422846","https://openalex.org/W3087055053","https://openalex.org/W3121100434","https://openalex.org/W3157942549","https://openalex.org/W3215241433","https://openalex.org/W4205816147","https://openalex.org/W4213227729","https://openalex.org/W4225857455","https://openalex.org/W4226377756","https://openalex.org/W4255555015","https://openalex.org/W4281617421","https://openalex.org/W4293280568","https://openalex.org/W6680757287"],"related_works":["https://openalex.org/W2098804367","https://openalex.org/W2145505903","https://openalex.org/W2225555312","https://openalex.org/W2022894844","https://openalex.org/W2952740084","https://openalex.org/W1239259246","https://openalex.org/W2737364229","https://openalex.org/W1581733465","https://openalex.org/W2949104238","https://openalex.org/W2162720410"],"abstract_inverted_index":{"Testing":[0],"is":[1,91],"important":[2],"in":[3,67,104,136],"software":[4,18],"development,":[5],"but":[6],"it":[7],"has":[8,63],"high":[9],"cost.":[10],"Thus,":[11],"techniques":[12],"to":[13,71,101,138,155,186],"reduce":[14],"the":[15,32,38,48,54,59,83,95,120,156],"cost":[16],"of":[17,26,34,40,97,115,122,159,167],"testing":[19,45,70,157],"have":[20],"been":[21],"proposed.":[22],"Model-based":[23],"testing,":[24],"one":[25],"such":[27],"techniques,":[28],"focuses":[29],"on":[30],"automatizing":[31],"generation":[33],"test":[35,105,116],"cases.":[36],"In":[37,107],"context":[39],"highly":[41,160],"configurable":[42,72,161],"systems,":[43],"model-based":[44,69,189],"must":[46],"capture":[47],"system":[49],"behavior":[50],"and":[51,113,129,141,148,171],"also":[52],"encode":[53,77,102],"variability":[55,78,99,103,124,174],"that":[56,76],"exists":[57],"among":[58],"variants.":[60],"Previous":[61],"research":[62],"shown":[64],"promising":[65],"results":[66,133],"applying":[68],"systems.":[73],"Test":[74],"models":[75],"into":[79],"them":[80],"directly":[81],"improve":[82],"reasoning":[84,140],"for":[85,183,188],"faults":[86],"from":[87],"interactions.":[88],"However,":[89],"there":[90],"no":[92],"study":[93],"about":[94,146],"use":[96,121,187],"different":[98],"mechanisms":[100,185],"models.":[106],"this":[108,151],"paper,":[109],"we":[110,153],"investigate":[111],"advantages":[112],"drawbacks":[114],"model":[117],"designs":[118],"exploring":[119],"two":[123,169],"mechanisms,":[125,175],"namely":[126],"preprocessor":[127],"directives":[128],"feature":[130],"toggles.":[131],"The":[132],"are":[134],"discussed":[135],"regard":[137],"run-time":[139],"re-configuration,":[142],"alongside":[143],"with":[144],"metrics":[145],"complexity":[147],"maintainability.":[149],"With":[150],"work,":[152],"contribute":[154],"activity":[158],"systems":[162],"by":[163],"providing":[164],"engineers":[165],"insights":[166],"comparing":[168],"well-known":[170],"widely":[172],"used":[173],"which":[176,184],"can":[177],"support":[178],"informed":[179],"decisions":[180],"when":[181],"choosing":[182],"testing.":[190]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
