{"id":"https://openalex.org/W2119467398","doi":"https://doi.org/10.1145/1040305.1040314","title":"Synthesis of interface specifications for Java classes","display_name":"Synthesis of interface specifications for Java classes","publication_year":2005,"publication_date":"2005-01-12","ids":{"openalex":"https://openalex.org/W2119467398","doi":"https://doi.org/10.1145/1040305.1040314","mag":"2119467398"},"language":"en","primary_location":{"id":"doi:10.1145/1040305.1040314","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1040305.1040314","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages","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/A5065059795","display_name":"Rajeev Alur","orcid":"https://orcid.org/0000-0003-1733-7083"},"institutions":[{"id":"https://openalex.org/I79576946","display_name":"University of Pennsylvania","ror":"https://ror.org/00b30xv10","country_code":"US","type":"education","lineage":["https://openalex.org/I79576946"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Rajeev Alur","raw_affiliation_strings":["University of Pennsylvania, Philadelphia, PA"],"affiliations":[{"raw_affiliation_string":"University of Pennsylvania, Philadelphia, PA","institution_ids":["https://openalex.org/I79576946"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5072396662","display_name":"Pavol \u010cern\u00fd","orcid":null},"institutions":[{"id":"https://openalex.org/I79576946","display_name":"University of Pennsylvania","ror":"https://ror.org/00b30xv10","country_code":"US","type":"education","lineage":["https://openalex.org/I79576946"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Pavol \u010cern\u00fd","raw_affiliation_strings":["University of Pennsylvania, Philadelphia, PA"],"affiliations":[{"raw_affiliation_string":"University of Pennsylvania, Philadelphia, PA","institution_ids":["https://openalex.org/I79576946"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5112870293","display_name":"P. Madhusudan","orcid":null},"institutions":[{"id":"https://openalex.org/I79576946","display_name":"University of Pennsylvania","ror":"https://ror.org/00b30xv10","country_code":"US","type":"education","lineage":["https://openalex.org/I79576946"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"P. Madhusudan","raw_affiliation_strings":["University of Pennsylvania, Philadelphia, PA"],"affiliations":[{"raw_affiliation_string":"University of Pennsylvania, Philadelphia, PA","institution_ids":["https://openalex.org/I79576946"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5032801269","display_name":"Wonhong Nam","orcid":"https://orcid.org/0000-0003-1450-347X"},"institutions":[{"id":"https://openalex.org/I79576946","display_name":"University of Pennsylvania","ror":"https://ror.org/00b30xv10","country_code":"US","type":"education","lineage":["https://openalex.org/I79576946"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Wonhong Nam","raw_affiliation_strings":["University of Pennsylvania, Philadelphia, PA"],"affiliations":[{"raw_affiliation_string":"University of Pennsylvania, Philadelphia, PA","institution_ids":["https://openalex.org/I79576946"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5065059795"],"corresponding_institution_ids":["https://openalex.org/I79576946"],"apc_list":null,"apc_paid":null,"fwci":30.9724,"has_fulltext":false,"cited_by_count":316,"citation_normalized_percentile":{"value":0.99894393,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"98","last_page":"109"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9998000264167786,"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.9998000264167786,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9994999766349792,"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.9990000128746033,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8475886583328247},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6520006060600281},{"id":"https://openalex.org/keywords/model-checking","display_name":"Model checking","score":0.5897306799888611},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.5816925168037415},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.5813536643981934},{"id":"https://openalex.org/keywords/interface","display_name":"Interface (matter)","score":0.5666174292564392},{"id":"https://openalex.org/keywords/symbolic-execution","display_name":"Symbolic execution","score":0.5387910604476929},{"id":"https://openalex.org/keywords/finite-state-machine","display_name":"Finite-state machine","score":0.521930456161499},{"id":"https://openalex.org/keywords/automaton","display_name":"Automaton","score":0.5187652111053467},{"id":"https://openalex.org/keywords/call-graph","display_name":"Call graph","score":0.48015445470809937},{"id":"https://openalex.org/keywords/predicate-abstraction","display_name":"Predicate abstraction","score":0.4753555953502655},{"id":"https://openalex.org/keywords/java-modeling-language","display_name":"Java Modeling Language","score":0.4540872573852539},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.42891746759414673},{"id":"https://openalex.org/keywords/abstraction-model-checking","display_name":"Abstraction model checking","score":0.4202519655227661},{"id":"https://openalex.org/keywords/java-annotation","display_name":"Java annotation","score":0.3461535573005676},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.3376638889312744},{"id":"https://openalex.org/keywords/real-time-java","display_name":"Real time Java","score":0.2093389630317688},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.1677432358264923},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.11498820781707764}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8475886583328247},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6520006060600281},{"id":"https://openalex.org/C110251889","wikidata":"https://www.wikidata.org/wiki/Q1569697","display_name":"Model checking","level":2,"score":0.5897306799888611},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.5816925168037415},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.5813536643981934},{"id":"https://openalex.org/C113843644","wikidata":"https://www.wikidata.org/wiki/Q901882","display_name":"Interface (matter)","level":4,"score":0.5666174292564392},{"id":"https://openalex.org/C2779639559","wikidata":"https://www.wikidata.org/wiki/Q7661178","display_name":"Symbolic execution","level":3,"score":0.5387910604476929},{"id":"https://openalex.org/C167822520","wikidata":"https://www.wikidata.org/wiki/Q176452","display_name":"Finite-state machine","level":2,"score":0.521930456161499},{"id":"https://openalex.org/C112505250","wikidata":"https://www.wikidata.org/wiki/Q787116","display_name":"Automaton","level":2,"score":0.5187652111053467},{"id":"https://openalex.org/C102379954","wikidata":"https://www.wikidata.org/wiki/Q2589940","display_name":"Call graph","level":2,"score":0.48015445470809937},{"id":"https://openalex.org/C2779907942","wikidata":"https://www.wikidata.org/wiki/Q7239630","display_name":"Predicate abstraction","level":3,"score":0.4753555953502655},{"id":"https://openalex.org/C60945770","wikidata":"https://www.wikidata.org/wiki/Q2517517","display_name":"Java Modeling Language","level":5,"score":0.4540872573852539},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.42891746759414673},{"id":"https://openalex.org/C30888246","wikidata":"https://www.wikidata.org/wiki/Q4669969","display_name":"Abstraction model checking","level":3,"score":0.4202519655227661},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.3461535573005676},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.3376638889312744},{"id":"https://openalex.org/C132106392","wikidata":"https://www.wikidata.org/wiki/Q1373903","display_name":"Real time Java","level":3,"score":0.2093389630317688},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.1677432358264923},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.11498820781707764},{"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}],"mesh":[],"locations_count":8,"locations":[{"id":"doi:10.1145/1040305.1040314","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1040305.1040314","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages","raw_type":"proceedings-article"},{"id":"pmh:oai:repository.upenn.edu:20.500.14332/6216","is_oa":false,"landing_page_url":"https://repository.upenn.edu/handle/20.500.14332/6216","pdf_url":null,"source":{"id":"https://openalex.org/S4306402083","display_name":"ScholarlyCommons (University of Pennsylvania)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I79576946","host_organization_name":"University of Pennsylvania","host_organization_lineage":["https://openalex.org/I79576946"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"40","raw_type":"Presentation"},{"id":"pmh:oai:repository.upenn.edu:cis_papers-1167","is_oa":false,"landing_page_url":"https://repository.upenn.edu/cgi/viewcontent.cgi?article=1167&amp;amp;context=cis_papers","pdf_url":null,"source":{"id":"https://openalex.org/S4306402083","display_name":"ScholarlyCommons (University of Pennsylvania)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I79576946","host_organization_name":"University of Pennsylvania","host_organization_lineage":["https://openalex.org/I79576946"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Departmental Papers (CIS)","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.100.7966","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.100.7966","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cis.upenn.edu/~cernyp/publications/popl05/popl05.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.120.6174","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.120.6174","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://dblpseer.psu.edu/~wnam/pubs/POPL05.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.188.7826","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.188.7826","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://pag.csail.mit.edu/reading-group/alur05interface.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.217.6347","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.217.6347","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://dblpseer.psu.edu/~wnam/pubs/POPL05.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.545.6542","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.545.6542","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":37,"referenced_works":["https://openalex.org/W113173227","https://openalex.org/W1489391022","https://openalex.org/W1497571013","https://openalex.org/W1501731334","https://openalex.org/W1534335973","https://openalex.org/W1556462035","https://openalex.org/W1588784669","https://openalex.org/W1595810432","https://openalex.org/W1600469512","https://openalex.org/W1799055964","https://openalex.org/W1974940962","https://openalex.org/W1989445634","https://openalex.org/W1998070736","https://openalex.org/W2043100293","https://openalex.org/W2048905609","https://openalex.org/W2049930808","https://openalex.org/W2066219736","https://openalex.org/W2082000355","https://openalex.org/W2098039922","https://openalex.org/W2098495346","https://openalex.org/W2116973066","https://openalex.org/W2121059325","https://openalex.org/W2132661148","https://openalex.org/W2135274583","https://openalex.org/W2135642703","https://openalex.org/W2140606869","https://openalex.org/W2151463894","https://openalex.org/W2160829153","https://openalex.org/W2162284942","https://openalex.org/W2169134334","https://openalex.org/W2293287097","https://openalex.org/W2295399529","https://openalex.org/W4212792638","https://openalex.org/W4231709874","https://openalex.org/W4241223029","https://openalex.org/W4250359162","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W2149977550","https://openalex.org/W92012290","https://openalex.org/W2097257018","https://openalex.org/W2374084031","https://openalex.org/W2522207775","https://openalex.org/W40054448","https://openalex.org/W1968331212","https://openalex.org/W1554532808","https://openalex.org/W4256174789","https://openalex.org/W2348940122"],"abstract_inverted_index":{"While":[0],"a":[1,6,42,55,59,100,121,131],"typical":[2],"software":[3],"component":[4],"has":[5],"clearly":[7],"specified":[8],"(static)":[9],"interface":[10,74,116],"in":[11,84,161],"terms":[12],"of":[13,27,80,103,157],"the":[14,17,24,30,71,76,82,85,89,104,110,158,162,172],"methods":[15,83],"and":[16,58,146,178,186],"input/output":[18],"types":[19],"they":[20],"support,":[21],"information":[22],"about":[23],"correct":[25],"sequencing":[26],"method":[28,97],"calls":[29],"client":[31],"must":[32],"invoke":[33],"is":[34,75,92],"usually":[35],"undocumented.":[36],"In":[37],"this":[38,126,136],"paper,":[39],"we":[40],"propose":[41],"novel":[43],"solution":[44],"for":[45,51,142,150,180],"automatically":[46],"extracting":[47],"such":[48,62],"temporal":[49],"specifications":[50],"Java":[52,56,166],"classes.":[53,184],"Given":[54],"class,":[57],"safety":[60,90],"property":[61,91],"as":[63],"\u201cthe":[64],"exception":[65],"E":[66],"should":[67],"not":[68,93],"be":[69],"raised\u201d,":[70],"corresponding":[72],"(dynamic)":[73],"most":[77],"general":[78],"way":[79],"invoking":[81],"class":[86,111],"so":[87],"that":[88,171],"violated.":[94],"Our":[95],"synthesis":[96],"first":[98],"constructs":[99],"symbolic":[101,127,147],"representation":[102],"finite":[105,144],"state-transition":[106],"system":[107],"obtained":[108],"from":[109],"using":[112,140],"predicate":[113],"abstraction.":[114],"Constructingthe":[115],"then":[117],"corresponds":[118],"to":[119,134],"solving":[120],"partial-information":[122],"two-player":[123],"game":[124],"on":[125],"graph.":[128],"We":[129,153],"present":[130],"sound":[132],"approach":[133],"solve":[135],"computationally-hard":[137],"problem":[138],"approximately":[139],"algorithms":[141],"learning":[143],"automata":[145],"model":[148,195],"checking":[149],"branching-time":[151],"logics.":[152],"describe":[154],"an":[155],"implementation":[156],"proposed":[159],"techniques":[160],"tool":[163,173],"JIST":[164],"\u2014":[165],"Interface":[167],"Synthesis":[168],"Tool\u2014and":[169],"demonstrate":[170],"can":[174],"construct":[175],"interfaces":[176],"accurately":[177],"efficiently":[179],"sample":[181],"Java2SDK":[182],"library":[183],"Categories":[185],"Subject":[187],"Descriptors:":[188],"D.2.4":[189],"[Software":[190,198,203],"Engineering]":[191,199],"Software/Program":[192],"Verification-formal":[193],"methods,":[194],"checking;":[196],"D.2.1":[197],"Requirements/Specification-methodologies,":[200],"tools;":[201],"D.2.2":[202]},"counts_by_year":[{"year":2025,"cited_by_count":4},{"year":2023,"cited_by_count":1},{"year":2021,"cited_by_count":5},{"year":2020,"cited_by_count":6},{"year":2019,"cited_by_count":8},{"year":2018,"cited_by_count":16},{"year":2017,"cited_by_count":17},{"year":2016,"cited_by_count":15},{"year":2015,"cited_by_count":18},{"year":2014,"cited_by_count":18},{"year":2013,"cited_by_count":24},{"year":2012,"cited_by_count":23}],"updated_date":"2026-04-05T17:49:38.594831","created_date":"2025-10-10T00:00:00"}
