{"id":"https://openalex.org/W2071797673","doi":"https://doi.org/10.1145/1595696.1595733","title":"Fitting the pieces together","display_name":"Fitting the pieces together","publication_year":2009,"publication_date":"2009-08-24","ids":{"openalex":"https://openalex.org/W2071797673","doi":"https://doi.org/10.1145/1595696.1595733","mag":"2071797673"},"language":"en","primary_location":{"id":"doi:10.1145/1595696.1595733","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1595696.1595733","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering","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/A5073767542","display_name":"Benjamin Delaware","orcid":"https://orcid.org/0000-0002-1016-6261"},"institutions":[{"id":"https://openalex.org/I86519309","display_name":"The University of Texas at Austin","ror":"https://ror.org/00hj54h04","country_code":"US","type":"education","lineage":["https://openalex.org/I86519309"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Benjamin Delaware","raw_affiliation_strings":["University of Texas at Austin, Austin, TX, USA","University of Texas at Austin, Austin, TX USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Texas at Austin, Austin, TX, USA","institution_ids":["https://openalex.org/I86519309"]},{"raw_affiliation_string":"University of Texas at Austin, Austin, TX USA","institution_ids":["https://openalex.org/I86519309"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5029147559","display_name":"William R. Cook","orcid":"https://orcid.org/0000-0003-4918-8975"},"institutions":[{"id":"https://openalex.org/I86519309","display_name":"The University of Texas at Austin","ror":"https://ror.org/00hj54h04","country_code":"US","type":"education","lineage":["https://openalex.org/I86519309"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"William R. Cook","raw_affiliation_strings":["University of Texas at Austin, Austin, TX, USA","University of Texas at Austin, Austin, TX USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Texas at Austin, Austin, TX, USA","institution_ids":["https://openalex.org/I86519309"]},{"raw_affiliation_string":"University of Texas at Austin, Austin, TX USA","institution_ids":["https://openalex.org/I86519309"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5033605569","display_name":"Don Batory","orcid":"https://orcid.org/0000-0002-8739-3841"},"institutions":[{"id":"https://openalex.org/I86519309","display_name":"The University of Texas at Austin","ror":"https://ror.org/00hj54h04","country_code":"US","type":"education","lineage":["https://openalex.org/I86519309"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Don Batory","raw_affiliation_strings":["University of Texas at Austin, Austin, TX, USA","University of Texas at Austin, Austin, TX USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Texas at Austin, Austin, TX, USA","institution_ids":["https://openalex.org/I86519309"]},{"raw_affiliation_string":"University of Texas at Austin, Austin, TX USA","institution_ids":["https://openalex.org/I86519309"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I86519309"],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":68,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"243","last_page":"252"},"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/T10679","display_name":"Service-Oriented Architecture and Web Services","score":0.9858999848365784,"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.9846000075340271,"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/soundness","display_name":"Soundness","score":0.8102084994316101},{"id":"https://openalex.org/keywords/software-product-line","display_name":"Software product line","score":0.741571843624115},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7243478894233704},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.6668415665626526},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5752725601196289},{"id":"https://openalex.org/keywords/feature","display_name":"Feature (linguistics)","score":0.5751240849494934},{"id":"https://openalex.org/keywords/feature-model","display_name":"Feature model","score":0.5723430514335632},{"id":"https://openalex.org/keywords/product-line","display_name":"Product line","score":0.5221703052520752},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.3488197326660156},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.3402749300003052},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.1472209095954895},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.12284612655639648}],"concepts":[{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.8102084994316101},{"id":"https://openalex.org/C2778177629","wikidata":"https://www.wikidata.org/wiki/Q2111823","display_name":"Software product line","level":4,"score":0.741571843624115},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7243478894233704},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6668415665626526},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5752725601196289},{"id":"https://openalex.org/C2776401178","wikidata":"https://www.wikidata.org/wiki/Q12050496","display_name":"Feature (linguistics)","level":2,"score":0.5751240849494934},{"id":"https://openalex.org/C101814296","wikidata":"https://www.wikidata.org/wiki/Q5439685","display_name":"Feature model","level":3,"score":0.5723430514335632},{"id":"https://openalex.org/C2988046880","wikidata":"https://www.wikidata.org/wiki/Q3084961","display_name":"Product line","level":2,"score":0.5221703052520752},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.3488197326660156},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3402749300003052},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.1472209095954895},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.12284612655639648},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"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/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1595696.1595733","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1595696.1595733","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/9","display_name":"Industry, innovation and infrastructure","score":0.44999998807907104}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":19,"referenced_works":["https://openalex.org/W198251016","https://openalex.org/W394657359","https://openalex.org/W1553511155","https://openalex.org/W1557561422","https://openalex.org/W1614620876","https://openalex.org/W1972612110","https://openalex.org/W1994736245","https://openalex.org/W2016945749","https://openalex.org/W2060742374","https://openalex.org/W2096529083","https://openalex.org/W2112000202","https://openalex.org/W2113201637","https://openalex.org/W2117699092","https://openalex.org/W2125089485","https://openalex.org/W2156451927","https://openalex.org/W2157920816","https://openalex.org/W2165534348","https://openalex.org/W3011496026","https://openalex.org/W6775121444"],"related_works":["https://openalex.org/W2903450681","https://openalex.org/W2005449645","https://openalex.org/W2612841534","https://openalex.org/W2145728065","https://openalex.org/W2158471572","https://openalex.org/W2414525409","https://openalex.org/W2399803796","https://openalex.org/W1972612110","https://openalex.org/W2260634139","https://openalex.org/W4253469356"],"abstract_inverted_index":{"Programs":[0],"of":[1,16,26,48,70,81,104,115,131],"a":[2,14,57,90,101,124,132],"software":[3],"product":[4,21,54],"line":[5,42],"can":[6],"be":[7],"synthesized":[8],"by":[9,56,143],"composing":[10],"features":[11,27,116],"which":[12],"implement":[13],"unit":[15],"program":[17],"functionality.":[18],"In":[19,108],"most":[20],"lines,":[22],"only":[23],"some":[24],"combination":[25],"are":[28,147],"meaningful;":[29],"feature":[30,39,58,133,145],"models":[31],"express":[32],"the":[33,46,68,119,129,144],"high-level":[34],"domain":[35],"constraints":[36,121,130,138],"that":[37,112,117],"govern":[38],"compatibility.":[40],"Product":[41],"developers":[43],"also":[44],"face":[45],"problem":[47,69],"safe":[49,71],"composition":[50,114],"-":[51],"whether":[52],"every":[53],"allowed":[55,142],"model":[59,134,146],"is":[60],"type-safe":[61],"when":[62],"compiled":[63],"and":[64,96],"run.":[65],"To":[66],"study":[67],"composition,":[72],"we":[73],"present":[74],"Lightweight":[75,82],"Feature":[76],"Java":[77,83],"(LFJ),":[78],"an":[79],"extension":[80],"with":[84],"support":[85],"for":[86,94],"features.":[87],"We":[88],"define":[89],"constraint-based":[91],"type":[92],"system":[93],"LFJ":[95,105],"prove":[97],"its":[98],"soundness":[99,110],"using":[100],"full":[102],"formalization":[103],"in":[106],"Coq.":[107],"LFJ,":[109],"means":[111],"any":[113],"satisfies":[118],"typing":[120,137],"will":[122],"generate":[123],"well-formed":[125],"LJ":[126],"program.":[127],"If":[128],"imply":[135],"these":[136],"then":[139],"all":[140],"programs":[141],"type-safe.":[148]},"counts_by_year":[{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":3},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":6},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":3},{"year":2015,"cited_by_count":6},{"year":2014,"cited_by_count":6},{"year":2013,"cited_by_count":8},{"year":2012,"cited_by_count":10}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
