{"id":"https://openalex.org/W2593203968","doi":"https://doi.org/10.1109/icse.2012.6227127","title":"Statically checking API protocol conformance with mined multi-object specifications","display_name":"Statically checking API protocol conformance with mined multi-object specifications","publication_year":2012,"publication_date":"2012-06-01","ids":{"openalex":"https://openalex.org/W2593203968","doi":"https://doi.org/10.1109/icse.2012.6227127","mag":"2593203968"},"language":"en","primary_location":{"id":"doi:10.1109/icse.2012.6227127","is_oa":false,"landing_page_url":"https://doi.org/10.1109/icse.2012.6227127","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2012 34th International Conference on Software Engineering (ICSE)","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref","datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://figshare.com/articles/Statically_Checking_API_Protocol_Conformance_with_Mined_Multi-Object_Specifications/6625889","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5013438083","display_name":"Michael Pradel","orcid":"https://orcid.org/0000-0003-1623-498X"},"institutions":[{"id":"https://openalex.org/I35440088","display_name":"ETH Zurich","ror":"https://ror.org/05a28rw58","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I35440088"]}],"countries":["CH"],"is_corresponding":true,"raw_author_name":"Michael Pradel","raw_affiliation_strings":["Department of Computer Science, ETH Zurich, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science, ETH Zurich, Switzerland","institution_ids":["https://openalex.org/I35440088"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Ciera Jaspan","orcid":null},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ciera Jaspan","raw_affiliation_strings":["Institute for Software Research, Carnegie Mellon University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Institute for Software Research, Carnegie Mellon University, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Jonathan Aldrich","orcid":null},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jonathan Aldrich","raw_affiliation_strings":["Institute for Software Research, Carnegie Mellon University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Institute for Software Research, Carnegie Mellon University, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"last","author":{"id":null,"display_name":"Thomas R. Gross","orcid":null},"institutions":[{"id":"https://openalex.org/I35440088","display_name":"ETH Zurich","ror":"https://ror.org/05a28rw58","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I35440088"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Thomas R. Gross","raw_affiliation_strings":["Department of Computer Science, ETH Zurich, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science, ETH Zurich, Switzerland","institution_ids":["https://openalex.org/I35440088"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5013438083"],"corresponding_institution_ids":["https://openalex.org/I35440088"],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":true,"cited_by_count":1,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"925","last_page":"935"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T13497","display_name":"Hermeneutics and Narrative Identity","score":0.9879000186920166,"subfield":{"id":"https://openalex.org/subfields/1211","display_name":"Philosophy"},"field":{"id":"https://openalex.org/fields/12","display_name":"Arts and Humanities"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}},"topics":[{"id":"https://openalex.org/T13497","display_name":"Hermeneutics and Narrative Identity","score":0.9879000186920166,"subfield":{"id":"https://openalex.org/subfields/1211","display_name":"Philosophy"},"field":{"id":"https://openalex.org/fields/12","display_name":"Arts and Humanities"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}},{"id":"https://openalex.org/T13695","display_name":"Aging, Elder Care, and Social Issues","score":0.9749000072479248,"subfield":{"id":"https://openalex.org/subfields/3600","display_name":"General Health Professions"},"field":{"id":"https://openalex.org/fields/36","display_name":"Health Professions"},"domain":{"id":"https://openalex.org/domains/4","display_name":"Health Sciences"}},{"id":"https://openalex.org/T13099","display_name":"Health, Medicine and Society","score":0.95660001039505,"subfield":{"id":"https://openalex.org/subfields/3600","display_name":"General Health Professions"},"field":{"id":"https://openalex.org/fields/36","display_name":"Health Professions"},"domain":{"id":"https://openalex.org/domains/4","display_name":"Health Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8140419721603394},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7230904698371887},{"id":"https://openalex.org/keywords/conformance-testing","display_name":"Conformance testing","score":0.654573917388916},{"id":"https://openalex.org/keywords/protocol","display_name":"Protocol (science)","score":0.6505962610244751},{"id":"https://openalex.org/keywords/conformance-checking","display_name":"Conformance checking","score":0.5823838710784912},{"id":"https://openalex.org/keywords/object","display_name":"Object (grammar)","score":0.45624983310699463},{"id":"https://openalex.org/keywords/model-checking","display_name":"Model checking","score":0.45116499066352844},{"id":"https://openalex.org/keywords/finite-state-machine","display_name":"Finite-state machine","score":0.44975560903549194},{"id":"https://openalex.org/keywords/state","display_name":"State (computer science)","score":0.43956854939460754},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.4138072431087494},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.38955721259117126},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.3384697139263153},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.3283069133758545},{"id":"https://openalex.org/keywords/compatibility","display_name":"Compatibility (geochemistry)","score":0.16305646300315857},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.09597307443618774}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8140419721603394},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7230904698371887},{"id":"https://openalex.org/C76844732","wikidata":"https://www.wikidata.org/wiki/Q4072285","display_name":"Conformance testing","level":3,"score":0.654573917388916},{"id":"https://openalex.org/C2780385302","wikidata":"https://www.wikidata.org/wiki/Q367158","display_name":"Protocol (science)","level":3,"score":0.6505962610244751},{"id":"https://openalex.org/C2775948798","wikidata":"https://www.wikidata.org/wiki/Q5160261","display_name":"Conformance checking","level":5,"score":0.5823838710784912},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.45624983310699463},{"id":"https://openalex.org/C110251889","wikidata":"https://www.wikidata.org/wiki/Q1569697","display_name":"Model checking","level":2,"score":0.45116499066352844},{"id":"https://openalex.org/C167822520","wikidata":"https://www.wikidata.org/wiki/Q176452","display_name":"Finite-state machine","level":2,"score":0.44975560903549194},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.43956854939460754},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.4138072431087494},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.38955721259117126},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.3384697139263153},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.3283069133758545},{"id":"https://openalex.org/C2778648169","wikidata":"https://www.wikidata.org/wiki/Q967768","display_name":"Compatibility (geochemistry)","level":2,"score":0.16305646300315857},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.09597307443618774},{"id":"https://openalex.org/C204787440","wikidata":"https://www.wikidata.org/wiki/Q188504","display_name":"Alternative medicine","level":2,"score":0.0},{"id":"https://openalex.org/C142724271","wikidata":"https://www.wikidata.org/wiki/Q7208","display_name":"Pathology","level":1,"score":0.0},{"id":"https://openalex.org/C85345410","wikidata":"https://www.wikidata.org/wiki/Q851587","display_name":"Business process","level":3,"score":0.0},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.0},{"id":"https://openalex.org/C188087704","wikidata":"https://www.wikidata.org/wiki/Q369577","display_name":"Standardization","level":2,"score":0.0},{"id":"https://openalex.org/C42360764","wikidata":"https://www.wikidata.org/wiki/Q83588","display_name":"Chemical engineering","level":1,"score":0.0},{"id":"https://openalex.org/C71924100","wikidata":"https://www.wikidata.org/wiki/Q11190","display_name":"Medicine","level":0,"score":0.0},{"id":"https://openalex.org/C207505557","wikidata":"https://www.wikidata.org/wiki/Q4374012","display_name":"Business process modeling","level":4,"score":0.0}],"mesh":[],"locations_count":5,"locations":[{"id":"doi:10.1109/icse.2012.6227127","is_oa":false,"landing_page_url":"https://doi.org/10.1109/icse.2012.6227127","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2012 34th International Conference on Software Engineering (ICSE)","raw_type":"proceedings-article"},{"id":"pmh:oai:figshare.com:article/6625889","is_oa":true,"landing_page_url":null,"pdf_url":"https://figshare.com/articles/Statically_Checking_API_Protocol_Conformance_with_Mined_Multi-Object_Specifications/6625889","source":{"id":"https://openalex.org/S4377196282","display_name":"Figshare","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I4210132348","host_organization_name":"Figshare (United Kingdom)","host_organization_lineage":["https://openalex.org/I4210132348"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Text"},{"id":"pmh:oai:repository.cmu.edu:isr-1973","is_oa":false,"landing_page_url":"http://repository.cmu.edu/cgi/viewcontent.cgi?article=1973&context=isr","pdf_url":null,"source":{"id":"https://openalex.org/S4306400668","display_name":"Research Showcase @ Carnegie Mellon University (Carnegie Mellon University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I74973139","host_organization_name":"Carnegie Mellon University","host_organization_lineage":["https://openalex.org/I74973139"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Institute for Software Research","raw_type":"text"},{"id":"doi:10.1184/r1/6625889","is_oa":true,"landing_page_url":"https://doi.org/10.1184/r1/6625889","pdf_url":null,"source":{"id":"https://openalex.org/S7407050927","display_name":"KiltHub Repository","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"JournalArticle"},{"id":"doi:10.1184/r1/6625889.v1","is_oa":true,"landing_page_url":"https://doi.org/10.1184/r1/6625889.v1","pdf_url":null,"source":{"id":"https://openalex.org/S7407050927","display_name":"KiltHub Repository","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"JournalArticle"}],"best_oa_location":{"id":"pmh:oai:figshare.com:article/6625889","is_oa":true,"landing_page_url":null,"pdf_url":"https://figshare.com/articles/Statically_Checking_API_Protocol_Conformance_with_Mined_Multi-Object_Specifications/6625889","source":{"id":"https://openalex.org/S4377196282","display_name":"Figshare","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I4210132348","host_organization_name":"Figshare (United Kingdom)","host_organization_lineage":["https://openalex.org/I4210132348"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Text"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G1811662502","display_name":"CPA-SEL: Practical Typestate Verification with Assume-Guarantee Reasoning","funder_award_id":"0811592","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G376502370","display_name":"Automatically Finding Bugs in the Usage of Software Components","funder_award_id":"134453","funder_id":"https://openalex.org/F4320320924","funder_display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung"},{"id":"https://openalex.org/G5256785375","display_name":null,"funder_award_id":"200021-","funder_id":"https://openalex.org/F4320320924","funder_display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung"},{"id":"https://openalex.org/G8335630155","display_name":null,"funder_award_id":"200021-134453","funder_id":"https://openalex.org/F4320320924","funder_display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung"},{"id":"https://openalex.org/G993971353","display_name":null,"funder_award_id":"200021","funder_id":"https://openalex.org/F4320320924","funder_display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320306078","display_name":"U.S. Department of Defense","ror":"https://ror.org/0447fe631"},{"id":"https://openalex.org/F4320320924","display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung","ror":"https://ror.org/00yjd3n13"},{"id":"https://openalex.org/F4320338304","display_name":"Los Alamos National Laboratory","ror":"https://ror.org/01e41cf67"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2593203968.pdf","grobid_xml":"https://content.openalex.org/works/W2593203968.grobid-xml"},"referenced_works_count":41,"referenced_works":["https://openalex.org/W1767990287","https://openalex.org/W1971327145","https://openalex.org/W1989657183","https://openalex.org/W2008626182","https://openalex.org/W2030972311","https://openalex.org/W2054520963","https://openalex.org/W2059215200","https://openalex.org/W2074847015","https://openalex.org/W2093938715","https://openalex.org/W2109612250","https://openalex.org/W2111141292","https://openalex.org/W2115725211","https://openalex.org/W2118480031","https://openalex.org/W2123227336","https://openalex.org/W2124081952","https://openalex.org/W2124516932","https://openalex.org/W2126775986","https://openalex.org/W2130730821","https://openalex.org/W2131954495","https://openalex.org/W2136646111","https://openalex.org/W2145020764","https://openalex.org/W2148702066","https://openalex.org/W2150593762","https://openalex.org/W2151674625","https://openalex.org/W2153964911","https://openalex.org/W2156881251","https://openalex.org/W2158391928","https://openalex.org/W2166091242","https://openalex.org/W2295399529","https://openalex.org/W3106729728","https://openalex.org/W3147785239","https://openalex.org/W4235136009","https://openalex.org/W4240735127","https://openalex.org/W4240838459","https://openalex.org/W4244217062","https://openalex.org/W4255079701","https://openalex.org/W6630566465","https://openalex.org/W6633547294","https://openalex.org/W6642147301","https://openalex.org/W6673479544","https://openalex.org/W6683248228"],"related_works":["https://openalex.org/W3141181691","https://openalex.org/W2965271752","https://openalex.org/W2166362993","https://openalex.org/W1979763269","https://openalex.org/W2169742956","https://openalex.org/W27343765","https://openalex.org/W2011990112","https://openalex.org/W2108394166","https://openalex.org/W1824841953","https://openalex.org/W2002135980","https://openalex.org/W2149697999","https://openalex.org/W2741319563","https://openalex.org/W2116839871","https://openalex.org/W2005915746","https://openalex.org/W1498538274","https://openalex.org/W2356777650","https://openalex.org/W2388091737","https://openalex.org/W2374139966","https://openalex.org/W1586853248","https://openalex.org/W2103208897"],"abstract_inverted_index":{"Programmers":[0],"using":[1],"an":[2,102],"API":[3,84,103],"often":[4],"must":[5],"follow":[6],"protocols":[7,28,40,78],"that":[8,75,130],"specify":[9],"when":[10],"it":[11],"is":[12,53],"legal":[13],"to":[14,23,57],"call":[15],"particular":[16,43],"methods.":[17],"Several":[18],"techniques":[19,35],"have":[20],"been":[21],"proposed":[22],"find":[24,58],"violations":[25],"of":[26,45,83,101,125,139],"such":[27,47],"based":[29],"on":[30,38,42],"mined":[31],"specifications.":[32,66,106],"However,":[33],"existing":[34],"either":[36],"focus":[37],"single-object":[39],"or":[41],"kinds":[44],"bugs,":[46],"as":[48],"missing":[49],"method":[50],"calls.":[51],"There":[52],"no":[54],"practical":[55],"technique":[56],"multi-object":[59,77],"protocol":[60,91],"bugs":[61,111,134],"without":[62,104],"a":[63,72,80,88,121],"priori":[64],"known":[65],"In":[67],"this":[68],"paper,":[69],"we":[70,128],"combine":[71],"dynamic":[73],"analysis":[74,132],"infers":[76],"and":[79,112],"static":[81],"checker":[82],"usage":[85],"constraints":[86],"into":[87],"fully":[89],"automatic":[90],"conformance":[92],"checker.":[93],"The":[94],"combined":[95],"system":[96],"statically":[97],"detects":[98],"illegal":[99],"uses":[100],"human-written":[105],"Our":[107],"approach":[108],"finds":[109],"41":[110],"code":[113],"smells":[114],"in":[115],"mature,":[116],"real-world":[117],"Java":[118],"programs":[119],"with":[120],"true":[122],"positive":[123],"rate":[124],"51%.":[126],"Furthermore,":[127],"show":[129],"the":[131,140],"reveals":[133],"not":[135],"found":[136],"by":[137],"state":[138],"art":[141],"approaches.":[142]},"counts_by_year":[],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
