{"id":"https://openalex.org/W3193229157","doi":"https://doi.org/10.1145/3479394.3479414","title":"Papaya: Global Typestate Analysis of Aliased Objects","display_name":"Papaya: Global Typestate Analysis of Aliased Objects","publication_year":2021,"publication_date":"2021-09-06","ids":{"openalex":"https://openalex.org/W3193229157","doi":"https://doi.org/10.1145/3479394.3479414","mag":"3193229157"},"language":"en","primary_location":{"id":"doi:10.1145/3479394.3479414","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3479394.3479414","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"23rd International Symposium on Principles and Practice of Declarative Programming","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://eprints.gla.ac.uk/248967/2/248967.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5103003715","display_name":"Mathias Jakobsen","orcid":"https://orcid.org/0000-0002-6128-7004"},"institutions":[{"id":"https://openalex.org/I7882870","display_name":"University of Glasgow","ror":"https://ror.org/00vtgdb53","country_code":"GB","type":"education","lineage":["https://openalex.org/I7882870"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Mathias Jakobsen","raw_affiliation_strings":["School of Computing Science, University of Glasgow, United Kingdom"],"affiliations":[{"raw_affiliation_string":"School of Computing Science, University of Glasgow, United Kingdom","institution_ids":["https://openalex.org/I7882870"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5045098114","display_name":"Alice Ravier","orcid":null},"institutions":[{"id":"https://openalex.org/I7882870","display_name":"University of Glasgow","ror":"https://ror.org/00vtgdb53","country_code":"GB","type":"education","lineage":["https://openalex.org/I7882870"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Alice Ravier","raw_affiliation_strings":["School of Computing Science, University of Glasgow, United Kingdom"],"affiliations":[{"raw_affiliation_string":"School of Computing Science, University of Glasgow, United Kingdom","institution_ids":["https://openalex.org/I7882870"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5050784078","display_name":"Ornela Dardha","orcid":"https://orcid.org/0000-0001-9927-7875"},"institutions":[{"id":"https://openalex.org/I7882870","display_name":"University of Glasgow","ror":"https://ror.org/00vtgdb53","country_code":"GB","type":"education","lineage":["https://openalex.org/I7882870"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Ornela Dardha","raw_affiliation_strings":["School of Computing Science, University of Glasgow, United Kingdom"],"affiliations":[{"raw_affiliation_string":"School of Computing Science, University of Glasgow, United Kingdom","institution_ids":["https://openalex.org/I7882870"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5103003715"],"corresponding_institution_ids":["https://openalex.org/I7882870"],"apc_list":null,"apc_paid":null,"fwci":0.9799,"has_fulltext":true,"cited_by_count":7,"citation_normalized_percentile":{"value":0.80760867,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"13"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9998000264167786,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9998000264167786,"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/T10142","display_name":"Formal Methods in Verification","score":0.9993000030517578,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9966999888420105,"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/aliasing","display_name":"Aliasing","score":0.8262600898742676},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7695298194885254},{"id":"https://openalex.org/keywords/object","display_name":"Object (grammar)","score":0.59734708070755},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.5561394691467285},{"id":"https://openalex.org/keywords/feature","display_name":"Feature (linguistics)","score":0.49624568223953247},{"id":"https://openalex.org/keywords/state","display_name":"State (computer science)","score":0.48990148305892944},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.46169933676719666},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.36186033487319946},{"id":"https://openalex.org/keywords/computer-vision","display_name":"Computer vision","score":0.2871023416519165},{"id":"https://openalex.org/keywords/filter","display_name":"Filter (signal processing)","score":0.09751385450363159}],"concepts":[{"id":"https://openalex.org/C4069607","wikidata":"https://www.wikidata.org/wiki/Q868732","display_name":"Aliasing","level":3,"score":0.8262600898742676},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7695298194885254},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.59734708070755},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.5561394691467285},{"id":"https://openalex.org/C2776401178","wikidata":"https://www.wikidata.org/wiki/Q12050496","display_name":"Feature (linguistics)","level":2,"score":0.49624568223953247},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.48990148305892944},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.46169933676719666},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.36186033487319946},{"id":"https://openalex.org/C31972630","wikidata":"https://www.wikidata.org/wiki/Q844240","display_name":"Computer vision","level":1,"score":0.2871023416519165},{"id":"https://openalex.org/C106131492","wikidata":"https://www.wikidata.org/wiki/Q3072260","display_name":"Filter (signal processing)","level":2,"score":0.09751385450363159},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3479394.3479414","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3479394.3479414","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"23rd International Symposium on Principles and Practice of Declarative Programming","raw_type":"proceedings-article"},{"id":"pmh:oai:eprints.gla.ac.uk:248967","is_oa":true,"landing_page_url":"https://eprints.gla.ac.uk/view/author/56498.html>,","pdf_url":"https://eprints.gla.ac.uk/248967/2/248967.pdf","source":{"id":"https://openalex.org/S4210235606","display_name":"ENLIGHTEN (Jurnal Bimbingan dan Konseling Islam)","issn_l":"2622-8912","issn":["2622-8912","2622-8920"],"is_oa":true,"is_in_doaj":true,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":"cc-by-sa","license_id":"https://openalex.org/licenses/cc-by-sa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"PeerReviewed"}],"best_oa_location":{"id":"pmh:oai:eprints.gla.ac.uk:248967","is_oa":true,"landing_page_url":"https://eprints.gla.ac.uk/view/author/56498.html>,","pdf_url":"https://eprints.gla.ac.uk/248967/2/248967.pdf","source":{"id":"https://openalex.org/S4210235606","display_name":"ENLIGHTEN (Jurnal Bimbingan dan Konseling Islam)","issn_l":"2622-8912","issn":["2622-8912","2622-8920"],"is_oa":true,"is_in_doaj":true,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":"cc-by-sa","license_id":"https://openalex.org/licenses/cc-by-sa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"PeerReviewed"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G1798638720","display_name":"From Data Types to Session Types---A Basis for Concurrency and Distribution","funder_award_id":"EP/K034413/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G5039506214","display_name":null,"funder_award_id":"778233","funder_id":"https://openalex.org/F4320338337","funder_display_name":"H2020 Marie Sk\u0142odowska-Curie Actions"},{"id":"https://openalex.org/G7918631928","display_name":null,"funder_award_id":"EP/K034413/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"}],"funders":[{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"},{"id":"https://openalex.org/F4320338337","display_name":"H2020 Marie Sk\u0142odowska-Curie Actions","ror":null}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3193229157.pdf","grobid_xml":"https://content.openalex.org/works/W3193229157.grobid-xml"},"referenced_works_count":34,"referenced_works":["https://openalex.org/W237093534","https://openalex.org/W1511982475","https://openalex.org/W1784055113","https://openalex.org/W1941373452","https://openalex.org/W1971327145","https://openalex.org/W1998070736","https://openalex.org/W1998344822","https://openalex.org/W2040105559","https://openalex.org/W2041639124","https://openalex.org/W2044306001","https://openalex.org/W2044590882","https://openalex.org/W2109568634","https://openalex.org/W2120978128","https://openalex.org/W2138164654","https://openalex.org/W2142837069","https://openalex.org/W2171043779","https://openalex.org/W2518106139","https://openalex.org/W2618474473","https://openalex.org/W2725986590","https://openalex.org/W2740956688","https://openalex.org/W2766961549","https://openalex.org/W2767833469","https://openalex.org/W3008053328","https://openalex.org/W3008774280","https://openalex.org/W3032926401","https://openalex.org/W3035566551","https://openalex.org/W3099124601","https://openalex.org/W3103456294","https://openalex.org/W3172330082","https://openalex.org/W3178366667","https://openalex.org/W3203464719","https://openalex.org/W4213338968","https://openalex.org/W4238881020","https://openalex.org/W4243803397"],"related_works":["https://openalex.org/W2166247150","https://openalex.org/W4243252198","https://openalex.org/W2135396778","https://openalex.org/W1527862632","https://openalex.org/W2118300983","https://openalex.org/W2112962394","https://openalex.org/W3137189469","https://openalex.org/W2079759540","https://openalex.org/W2187462042","https://openalex.org/W3014793082"],"abstract_inverted_index":{"Typestates":[0],"are":[1],"state":[2],"machines":[3],"used":[4],"in":[5,44,61,125],"object-oriented":[6,75],"programming":[7,128],"to":[8,58,88],"specify":[9],"and":[10,46,85,102,116,130,144],"verify":[11],"correct":[12],"order":[13],"of":[14],"method":[15],"calls":[16],"on":[17,49],"an":[18,41,74],"object.":[19],"To":[20],"avoid":[21],"inconsistent":[22],"object":[23],"states,":[24],"typestates":[25,50,57,143],"enforce":[26],"linear":[27],"typing,":[28],"which":[29,80,110],"eliminates":[30],"-":[31,36],"or":[32],"at":[33],"best":[34],"limits":[35],"aliasing.":[37],"However,":[38],"aliasing":[39],"is":[40,51,100],"important":[42],"feature":[43],"programming,":[45],"the":[47,106,118,126,140],"state-of-the-art":[48],"too":[52],"restrictive":[53],"if":[54],"we":[55,68],"want":[56],"be":[59],"adopted":[60],"real-world":[62],"software":[63],"systems.":[64],"In":[65],"this":[66],"paper,":[67],"present":[69],"a":[70,135],"type":[71],"system":[72],"for":[73,82],"language":[76,129],"with":[77],"typestate":[78,98],"annotations,":[79],"allows":[81],"unrestricted":[83],"aliasing,":[84],"as":[86],"opposed":[87],"previous":[89],"approaches":[90],"it":[91],"does":[92],"not":[93],"require":[94],"linearity":[95],"constraints.":[96],"The":[97],"analysis":[99],"global":[101],"tracks":[103],"objects":[104],"throughout":[105],"entire":[107],"program":[108],"graph,":[109],"ensures":[111],"that":[112,138],"well-typed":[113],"programs":[114],"conform":[115],"complete":[117],"declared":[119],"protocols.":[120],"We":[121],"implement":[122],"our":[123,132],"framework":[124],"Scala":[127],"illustrate":[131],"approach":[133],"using":[134],"running":[136],"example":[137],"shows":[139],"interplay":[141],"between":[142],"aliases.":[145]},"counts_by_year":[{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":2}],"updated_date":"2026-04-21T08:09:41.155169","created_date":"2025-10-10T00:00:00"}
