{"id":"https://openalex.org/W1995568418","doi":"https://doi.org/10.1145/1868688.1868693","title":"TypeChef","display_name":"TypeChef","publication_year":2010,"publication_date":"2010-10-10","ids":{"openalex":"https://openalex.org/W1995568418","doi":"https://doi.org/10.1145/1868688.1868693","mag":"1995568418"},"language":"en","primary_location":{"id":"doi:10.1145/1868688.1868693","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1868688.1868693","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2nd International Workshop on Feature-Oriented Software Development","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5009188447","display_name":"Andy Kenner","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Andy Kenner","raw_affiliation_strings":["Metop Research GmbH, Magdeburg, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Metop Research GmbH, Magdeburg, Germany","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5067467896","display_name":"Christian K\u00e4stner","orcid":"https://orcid.org/0000-0002-4450-4572"},"institutions":[{"id":"https://openalex.org/I161103922","display_name":"Philipps University of Marburg","ror":"https://ror.org/01rdrb571","country_code":"DE","type":"education","lineage":["https://openalex.org/I161103922"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Christian K\u00e4stner","raw_affiliation_strings":["Philipps University Marburg, Marburg, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Philipps University Marburg, Marburg, Germany","institution_ids":["https://openalex.org/I161103922"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5055453571","display_name":"Steffen Haase","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Steffen Haase","raw_affiliation_strings":["Metop Research GmbH, Magdeburg, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Metop Research GmbH, Magdeburg, Germany","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5086853013","display_name":"Thomas Leich","orcid":"https://orcid.org/0000-0001-9580-7728"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Thomas Leich","raw_affiliation_strings":["Metop Research GmbH, Magdeburg, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Metop Research GmbH, Magdeburg, Germany","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":101,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"25","last_page":"32"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9997000098228455,"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.9997000098228455,"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/T10260","display_name":"Software Engineering Research","score":0.9973000288009644,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/T10126","display_name":"Logic, programming, and type systems","score":0.9891999959945679,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7944027185440063},{"id":"https://openalex.org/keywords/software-product-line","display_name":"Software product line","score":0.6780457496643066},{"id":"https://openalex.org/keywords/preprocessor","display_name":"Preprocessor","score":0.634851336479187},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5951111316680908},{"id":"https://openalex.org/keywords/macro","display_name":"Macro","score":0.5565831661224365},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.5493311285972595},{"id":"https://openalex.org/keywords/product-type","display_name":"Product type","score":0.5358406901359558},{"id":"https://openalex.org/keywords/product","display_name":"Product (mathematics)","score":0.49913597106933594},{"id":"https://openalex.org/keywords/source-lines-of-code","display_name":"Source lines of code","score":0.48287394642829895},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.47117549180984497},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.4636795222759247},{"id":"https://openalex.org/keywords/process","display_name":"Process (computing)","score":0.45980894565582275},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.43417873978614807},{"id":"https://openalex.org/keywords/product-line","display_name":"Product line","score":0.4253597557544708},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.22303429245948792},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.1454223096370697},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.08798879384994507}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7944027185440063},{"id":"https://openalex.org/C2778177629","wikidata":"https://www.wikidata.org/wiki/Q2111823","display_name":"Software product line","level":4,"score":0.6780457496643066},{"id":"https://openalex.org/C34736171","wikidata":"https://www.wikidata.org/wiki/Q918333","display_name":"Preprocessor","level":2,"score":0.634851336479187},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5951111316680908},{"id":"https://openalex.org/C166955791","wikidata":"https://www.wikidata.org/wiki/Q629579","display_name":"Macro","level":2,"score":0.5565831661224365},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.5493311285972595},{"id":"https://openalex.org/C23219732","wikidata":"https://www.wikidata.org/wiki/Q7247800","display_name":"Product type","level":2,"score":0.5358406901359558},{"id":"https://openalex.org/C90673727","wikidata":"https://www.wikidata.org/wiki/Q901718","display_name":"Product (mathematics)","level":2,"score":0.49913597106933594},{"id":"https://openalex.org/C199519371","wikidata":"https://www.wikidata.org/wiki/Q942695","display_name":"Source lines of code","level":3,"score":0.48287394642829895},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.47117549180984497},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.4636795222759247},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"score":0.45980894565582275},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.43417873978614807},{"id":"https://openalex.org/C2988046880","wikidata":"https://www.wikidata.org/wiki/Q3084961","display_name":"Product line","level":2,"score":0.4253597557544708},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.22303429245948792},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.1454223096370697},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.08798879384994507},{"id":"https://openalex.org/C117671659","wikidata":"https://www.wikidata.org/wiki/Q11049265","display_name":"Manufacturing engineering","level":1,"score":0.0},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1868688.1868693","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1868688.1868693","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2nd International Workshop on Feature-Oriented Software Development","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G8213747841","display_name":null,"funder_award_id":"ScalPL 203099","funder_id":"https://openalex.org/F4320334678","funder_display_name":"European Research Council"}],"funders":[{"id":"https://openalex.org/F4320334678","display_name":"European Research Council","ror":"https://ror.org/0472cxd90"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":39,"referenced_works":["https://openalex.org/W30803841","https://openalex.org/W220935706","https://openalex.org/W1525606436","https://openalex.org/W1541251624","https://openalex.org/W1544884865","https://openalex.org/W1585231177","https://openalex.org/W1585697219","https://openalex.org/W1608654004","https://openalex.org/W1625440377","https://openalex.org/W1710690747","https://openalex.org/W1972612110","https://openalex.org/W1999214372","https://openalex.org/W2006617204","https://openalex.org/W2008626182","https://openalex.org/W2036134187","https://openalex.org/W2055818134","https://openalex.org/W2097355277","https://openalex.org/W2098123460","https://openalex.org/W2099213660","https://openalex.org/W2099587209","https://openalex.org/W2112000202","https://openalex.org/W2117352154","https://openalex.org/W2120119918","https://openalex.org/W2130195901","https://openalex.org/W2131706255","https://openalex.org/W2134826995","https://openalex.org/W2134949927","https://openalex.org/W2142960988","https://openalex.org/W2146146776","https://openalex.org/W2146763372","https://openalex.org/W2151823662","https://openalex.org/W2155062931","https://openalex.org/W2161565163","https://openalex.org/W2165448973","https://openalex.org/W2166182667","https://openalex.org/W2182394655","https://openalex.org/W2896162588","https://openalex.org/W3200788958","https://openalex.org/W4247177090"],"related_works":["https://openalex.org/W2163809353","https://openalex.org/W3141846160","https://openalex.org/W4233789246","https://openalex.org/W4251582706","https://openalex.org/W4248586125","https://openalex.org/W4246810033","https://openalex.org/W2051414193","https://openalex.org/W1972612110","https://openalex.org/W2399803796","https://openalex.org/W1540928018"],"abstract_inverted_index":{"Software":[0],"product":[1,32,64,79],"lines":[2,33,80],"have":[3,53],"gained":[4],"momentum":[5],"as":[6,37],"an":[7],"approach":[8],"to":[9,18,58,107,133],"generate":[10],"many":[11],"variants":[12,42],"of":[13,31,40,90,110,119],"a":[14,19,24,63,74,95,158],"program,":[15],"each":[16],"tailored":[17],"specific":[20],"use":[21,118],"case,":[22],"from":[23],"common":[25],"code":[26],"base.":[27],"However,":[28,94],"the":[29,91,111,127,164],"implementation":[30],"raises":[34],"new":[35],"challenges,":[36],"potentially":[38,170],"millions":[39],"program":[41],"are":[43],"developed":[44,54],"in":[45,62,82,177],"parallel.":[46],"In":[47,122],"prior":[48],"work,":[49],"we":[50,72,125,151,173],"and":[51,116,130,144],"others":[52],"product-line-aware":[55,96],"type":[56,60,76,97,162,175],"systems":[57],"detect":[59],"errors":[61,176],"line,":[65],"without":[66],"generating":[67],"all":[68],"variants.":[69,179],"With":[70],"TypeChef,":[71],"build":[73],"similar":[75],"checker":[77],"for":[78,99],"written":[81],"C":[83,92,100,149],"that":[84],"implements":[85],"variability":[86],"with":[87,136,157,169],"#ifdef":[88,120],"directives":[89],"preprocessor.":[93],"system":[98],"is":[101,140],"more":[102],"difficult":[103],"than":[104],"expected":[105],"due":[106],"several":[108,178],"peculiarities":[109],"preprocessor,":[112],"including":[113],"lexical":[114],"macros":[115],"unrestricted":[117],"directives.":[121],"this":[123],"paper,":[124],"describe":[126],"problems":[128],"faced":[129],"our":[131],"progress":[132],"solve":[134],"them":[135],"TypeChef.":[137],"Although":[138],"TypeChef":[139],"still":[141],"under":[142],"development":[143],"cannot":[145],"yet":[146],"process":[147],"arbitrary":[148],"code,":[150],"demonstrate":[152],"its":[153],"capabilities":[154],"so":[155],"far":[156],"case":[159],"study:":[160],"By":[161],"checking":[163],"open-source":[165],"web":[166],"server":[167],"Boa":[168],"2110":[171],"variants,":[172],"found":[174]},"counts_by_year":[{"year":2026,"cited_by_count":31},{"year":2025,"cited_by_count":4},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":6},{"year":2021,"cited_by_count":5},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":5},{"year":2018,"cited_by_count":5},{"year":2017,"cited_by_count":8},{"year":2016,"cited_by_count":5},{"year":2015,"cited_by_count":6},{"year":2014,"cited_by_count":7},{"year":2013,"cited_by_count":6},{"year":2012,"cited_by_count":3}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2016-06-24T00:00:00"}
