{"id":"https://openalex.org/W2294152467","doi":"https://doi.org/10.1145/1081706.1081713","title":"Permissive interfaces","display_name":"Permissive interfaces","publication_year":2005,"publication_date":"2005-09-01","ids":{"openalex":"https://openalex.org/W2294152467","doi":"https://doi.org/10.1145/1081706.1081713","mag":"2294152467"},"language":"en","primary_location":{"id":"doi:10.1145/1081706.1081713","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1081706.1081713","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering","raw_type":"proceedings-article"},"type":"article","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/A5080555605","display_name":"Thomas A. Henzinger","orcid":"https://orcid.org/0000-0002-2985-7724"},"institutions":[{"id":"https://openalex.org/I95457486","display_name":"University of California, Berkeley","ror":"https://ror.org/01an7q238","country_code":"US","type":"education","lineage":["https://openalex.org/I95457486"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Thomas A. Henzinger","raw_affiliation_strings":["EPFL and UC Berkeley"],"affiliations":[{"raw_affiliation_string":"EPFL and UC Berkeley","institution_ids":["https://openalex.org/I95457486"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5002412544","display_name":"Ranjit Jhala","orcid":"https://orcid.org/0000-0002-1802-9421"},"institutions":[{"id":"https://openalex.org/I2800935791","display_name":"UC San Diego Health System","ror":"https://ror.org/01kbfgm16","country_code":"US","type":"healthcare","lineage":["https://openalex.org/I2800935791"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ranjit Jhala","raw_affiliation_strings":["UC San Diego"],"affiliations":[{"raw_affiliation_string":"UC San Diego","institution_ids":["https://openalex.org/I2800935791"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5081010207","display_name":"Rupak Majumdar","orcid":"https://orcid.org/0000-0003-2136-0542"},"institutions":[{"id":"https://openalex.org/I4210139270","display_name":"UtopiaCompression (United States)","ror":"https://ror.org/051d4q284","country_code":"US","type":"company","lineage":["https://openalex.org/I4210139270"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Rupak Majumdar","raw_affiliation_strings":["UC Los Angeles"],"affiliations":[{"raw_affiliation_string":"UC Los Angeles","institution_ids":["https://openalex.org/I4210139270"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5080555605"],"corresponding_institution_ids":["https://openalex.org/I95457486"],"apc_list":null,"apc_paid":null,"fwci":10.4364,"has_fulltext":false,"cited_by_count":110,"citation_normalized_percentile":{"value":0.9891033,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"31","last_page":"40"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9997000098228455,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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/T10142","display_name":"Formal Methods in Verification","score":0.9997000098228455,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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.9995999932289124,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9990000128746033,"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.8071144819259644},{"id":"https://openalex.org/keywords/interface","display_name":"Interface (matter)","score":0.7402189373970032},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.7386799454689026},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5473447442054749},{"id":"https://openalex.org/keywords/component","display_name":"Component (thermodynamics)","score":0.5123108625411987},{"id":"https://openalex.org/keywords/user-interface","display_name":"User interface","score":0.5094793438911438},{"id":"https://openalex.org/keywords/sequence","display_name":"Sequence (biology)","score":0.49442434310913086},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.48600420355796814},{"id":"https://openalex.org/keywords/permissive","display_name":"Permissive","score":0.4599325954914093},{"id":"https://openalex.org/keywords/state","display_name":"State (computer science)","score":0.41108250617980957},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.3108001947402954}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8071144819259644},{"id":"https://openalex.org/C113843644","wikidata":"https://www.wikidata.org/wiki/Q901882","display_name":"Interface (matter)","level":4,"score":0.7402189373970032},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.7386799454689026},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5473447442054749},{"id":"https://openalex.org/C168167062","wikidata":"https://www.wikidata.org/wiki/Q1117970","display_name":"Component (thermodynamics)","level":2,"score":0.5123108625411987},{"id":"https://openalex.org/C89505385","wikidata":"https://www.wikidata.org/wiki/Q47146","display_name":"User interface","level":2,"score":0.5094793438911438},{"id":"https://openalex.org/C2778112365","wikidata":"https://www.wikidata.org/wiki/Q3511065","display_name":"Sequence (biology)","level":2,"score":0.49442434310913086},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.48600420355796814},{"id":"https://openalex.org/C15224491","wikidata":"https://www.wikidata.org/wiki/Q7169338","display_name":"Permissive","level":2,"score":0.4599325954914093},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.41108250617980957},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.3108001947402954},{"id":"https://openalex.org/C54355233","wikidata":"https://www.wikidata.org/wiki/Q7162","display_name":"Genetics","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C97355855","wikidata":"https://www.wikidata.org/wiki/Q11473","display_name":"Thermodynamics","level":1,"score":0.0},{"id":"https://openalex.org/C129307140","wikidata":"https://www.wikidata.org/wiki/Q6795880","display_name":"Maximum bubble pressure method","level":3,"score":0.0},{"id":"https://openalex.org/C157915830","wikidata":"https://www.wikidata.org/wiki/Q2928001","display_name":"Bubble","level":2,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/1081706.1081713","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1081706.1081713","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.94.8476","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.94.8476","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://pho.ucsd.edu/rjhala/papers/permissive_interfaces.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Peace, Justice and strong institutions","id":"https://metadata.un.org/sdg/16","score":0.7599999904632568}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":17,"referenced_works":["https://openalex.org/W1497571013","https://openalex.org/W1511982475","https://openalex.org/W2044590882","https://openalex.org/W2098039922","https://openalex.org/W2103714221","https://openalex.org/W2103953153","https://openalex.org/W2119467398","https://openalex.org/W2121059325","https://openalex.org/W2151463894","https://openalex.org/W2156268601","https://openalex.org/W2293287097","https://openalex.org/W2295399529","https://openalex.org/W2295903414","https://openalex.org/W4212792638","https://openalex.org/W4231709874","https://openalex.org/W6629660608","https://openalex.org/W6675350323"],"related_works":["https://openalex.org/W2118512822","https://openalex.org/W2152678253","https://openalex.org/W4311090678","https://openalex.org/W3090890720","https://openalex.org/W13526662","https://openalex.org/W4210463230","https://openalex.org/W2996143244","https://openalex.org/W2118298641","https://openalex.org/W1649706580","https://openalex.org/W3195608031"],"abstract_inverted_index":{"A":[0,35],"modular":[1],"program":[2,73],"analysis":[3,74],"considers":[4],"components":[5],"independently":[6],"and":[7,32,82,94,126,144,163,220],"provides":[8],"a":[9,26,30,33,190],"succinct":[10],"summary":[11],"for":[12,135,193,203],"each":[13],"component,":[14],"which":[15,78,121,197,212],"is":[16,51,64,174,181,213],"used":[17],"when":[18],"checking":[19],"the":[20,23,41,58,62,84,91,108,112,159,178,186,194,210,216],"rest":[21],"of":[22,29,40,46,101,111,209],"system.":[24],"Consider":[25],"system":[27,192],"consisting":[28],"library":[31,42,47,92,102,169],"client.":[34],"temporal":[36],"summary,":[37],"or":[38],"interface,":[39],"specifies":[43],"legal":[44],"sequences":[45,100],"calls.":[48,170],"The":[49,146,171],"interface":[50,63,110,172,180],"safe":[52,81,119,143],"if":[53,66,93,96],"no":[54],"call":[55],"sequence":[56],"violates":[57],"library's":[59,160],"internal":[60,161],"invariants;":[61],"permissive":[65],"it":[67,97],"contains":[68],"every":[69],"such":[70],"sequence.":[71],"Modular":[72],"requires":[75],"full":[76,109,179],"interfaces,":[77,120],"are":[79,105,141,154,166],"both":[80,142],"permissive:":[83],"client":[85,199],"does":[86],"not":[87],"cause":[88],"errors":[89],"in":[90],"only":[95,99],"makes":[98],"calls":[103],"that":[104,140],"allowed":[106],"by":[107],"library.Previous":[113],"interface-based":[114],"methods":[115],"have":[116],"focused":[117],"on":[118,215],"may":[122],"be":[123,201],"too":[124],"restrictive":[125],"thus":[127],"reject":[128],"good":[129],"clients.":[130],"We":[131,205],"present":[132,206],"an":[133,207],"algorithm":[134,147,187,211],"automatically":[136,188],"synthesizing":[137],"software":[138],"interfaces":[139,149],"permissive.":[145],"generates":[148],"as":[150],"graphs":[151],"whose":[152,164],"vertices":[153],"labeled":[155,167],"with":[156,168],"predicates":[157],"over":[158],"state,":[162],"edges":[165],"state":[173],"refined":[175],"incrementally":[176],"until":[177],"constructed.":[182],"In":[183],"other":[184],"words,":[185],"synthesizes":[189],"typestate":[191],"library,":[195],"against":[196],"any":[198],"can":[200],"checked":[202],"compatibility.":[204],"implementation":[208],"based":[214],"BLAST":[217],"model":[218],"checker,":[219],"we":[221],"evaluate":[222],"some":[223],"case":[224],"studies.":[225]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":3},{"year":2017,"cited_by_count":3},{"year":2016,"cited_by_count":5},{"year":2015,"cited_by_count":6},{"year":2014,"cited_by_count":5},{"year":2013,"cited_by_count":9},{"year":2012,"cited_by_count":10}],"updated_date":"2026-04-05T17:49:38.594831","created_date":"2025-10-10T00:00:00"}
