{"id":"https://openalex.org/W2153559293","doi":"https://doi.org/10.1145/1667048.1667049","title":"JavaCOP: Declarative pluggable types for java","display_name":"JavaCOP: Declarative pluggable types for java","publication_year":2010,"publication_date":"2010-01-01","ids":{"openalex":"https://openalex.org/W2153559293","doi":"https://doi.org/10.1145/1667048.1667049","mag":"2153559293"},"language":"en","primary_location":{"id":"doi:10.1145/1667048.1667049","doi":"https://doi.org/10.1145/1667048.1667049","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1667048.1667049","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1667048.1667049","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["ccf-a","cwts-core","dongbi-a","jufo-3","norway-2","poland-140","russia-white-list-2"],"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"volume":null,"type":"article","is_traditional":true,"indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/1667048.1667049","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5077906052","display_name":"Shane A. Markstrum","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I131221577","display_name":"Bucknell University","ror":"https://ror.org/00fc1qt65","country_code":"US","type":"education","lineage":["https://openalex.org/I131221577"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Shane Markstrum","raw_affiliation_strings":["Bucknell University, Lewisburg, PA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Bucknell University, Lewisburg, PA","institution_ids":["https://openalex.org/I131221577"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5062404663","display_name":"Daniel Marino","orcid":"https://orcid.org/0000-0002-8686-4752","observed_orcids":["https://orcid.org/0000-0002-8686-4752"]},"institutions":[{"id":"https://openalex.org/I161318765","display_name":"University of California, Los Angeles","ror":"https://ror.org/046rm7j60","country_code":"US","type":"education","lineage":["https://openalex.org/I161318765"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Daniel Marino","raw_affiliation_strings":["University of California, Los Angeles, Los Angeles, CA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of California, Los Angeles, Los Angeles, CA","institution_ids":["https://openalex.org/I161318765"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5062584878","display_name":"Matthew Esquivel","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I161318765","display_name":"University of California, Los Angeles","ror":"https://ror.org/046rm7j60","country_code":"US","type":"education","lineage":["https://openalex.org/I161318765"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Matthew Esquivel","raw_affiliation_strings":["University of California, Los Angeles, Los Angeles, CA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of California, Los Angeles, Los Angeles, CA","institution_ids":["https://openalex.org/I161318765"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5014067492","display_name":"Todd D. Millstein","orcid":"https://orcid.org/0000-0002-2031-1514","observed_orcids":["https://orcid.org/0000-0002-2031-1514"]},"institutions":[{"id":"https://openalex.org/I161318765","display_name":"University of California, Los Angeles","ror":"https://ror.org/046rm7j60","country_code":"US","type":"education","lineage":["https://openalex.org/I161318765"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Todd Millstein","raw_affiliation_strings":["University of California, Los Angeles, Los Angeles, CA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of California, Los Angeles, Los Angeles, CA","institution_ids":["https://openalex.org/I161318765"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5064966949","display_name":"Chris Andreae","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I41156924","display_name":"Victoria University of Wellington","ror":"https://ror.org/0040r6f76","country_code":"NZ","type":"education","lineage":["https://openalex.org/I41156924"]}],"countries":["NZ"],"is_corresponding":false,"raw_author_name":"Chris Andreae","raw_affiliation_strings":["Victoria University of Wellington, Wellington, New Zealand"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Victoria University of Wellington, Wellington, New Zealand","institution_ids":["https://openalex.org/I41156924"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5078368556","display_name":"James Noble","orcid":"https://orcid.org/0000-0001-9036-5692","observed_orcids":["https://orcid.org/0000-0001-9036-5692"]},"institutions":[{"id":"https://openalex.org/I41156924","display_name":"Victoria University of Wellington","ror":"https://ror.org/0040r6f76","country_code":"NZ","type":"education","lineage":["https://openalex.org/I41156924"]}],"countries":["NZ"],"is_corresponding":false,"raw_author_name":"James Noble","raw_affiliation_strings":["Victoria University of Wellington, Wellington, New Zealand"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Victoria University of Wellington, Wellington, New Zealand","institution_ids":["https://openalex.org/I41156924"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":7.8364,"has_fulltext":true,"cited_by_count":47,"citation_normalized_percentile":{"value":0.96899724,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":87,"max":99},"biblio":{"volume":"32","issue":"2","first_page":"1","last_page":"37"},"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.9994999766349792,"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"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9994999766349792,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":9.999999747378752e-05,"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/T10142","display_name":"Formal Methods in Verification","score":0.0,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.7179999947547913},{"id":"https://openalex.org/keywords/declarative-constraints","display_name":"declarative constraints","score":0.5450000166893005},{"id":"https://openalex.org/keywords/abstract-syntax-tree","display_name":"abstract syntax tree","score":0.8820000290870667},{"id":"https://openalex.org/keywords/data-flow-analysis","display_name":"data flow analysis","score":0.9789999723434448},{"id":"https://openalex.org/keywords/flow-sensitive-analysis","display_name":"flow-sensitive analysis","score":0.6930000185966492},{"id":"https://openalex.org/keywords/program-invariants","display_name":"program invariants","score":0.47699999809265137}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9142841696739197},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8095914125442505},{"id":"https://openalex.org/C96324660","wikidata":"https://www.wikidata.org/wiki/Q205446","display_name":"Dataflow","level":2,"score":0.6385971307754517},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.5949201583862305},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.569009006023407},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.5689406991004944},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.4976527988910675},{"id":"https://openalex.org/C2779818221","wikidata":"https://www.wikidata.org/wiki/Q837330","display_name":"Bytecode","level":3,"score":0.44779539108276367},{"id":"https://openalex.org/C151552104","wikidata":"https://www.wikidata.org/wiki/Q7705809","display_name":"Test suite","level":4,"score":0.4248094856739044},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.4172063171863556},{"id":"https://openalex.org/C128942645","wikidata":"https://www.wikidata.org/wiki/Q1568346","display_name":"Test case","level":3,"score":0.2332037389278412},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.1265648901462555},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.09446421265602112},{"id":"https://openalex.org/C152877465","wikidata":"https://www.wikidata.org/wiki/Q208042","display_name":"Regression analysis","level":2,"score":0.0},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/1667048.1667049","doi":"https://doi.org/10.1145/1667048.1667049","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1667048.1667049","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1667048.1667049","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["ccf-a","cwts-core","dongbi-a","jufo-3","norway-2","poland-140","russia-white-list-2"],"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.380.8298","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.380.8298","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.ucla.edu/~todd/research/toplas10.pdf","raw_type":"text"}],"best_oa_location":{"id":"doi:10.1145/1667048.1667049","doi":"https://doi.org/10.1145/1667048.1667049","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1667048.1667049","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1667048.1667049","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["ccf-a","cwts-core","dongbi-a","jufo-3","norway-2","poland-140","russia-white-list-2"],"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"sustainable_development_goals":[],"study_designs":[],"awards":[{"id":"https://openalex.org/G1188973420","display_name":null,"funder_award_id":"CCF-0427202 CCF-0545850O ISE-0813362","funder_id":"https://openalex.org/F4320337387","funder_display_name":"Division of Computing and Communication Foundations"},{"id":"https://openalex.org/G4083463237","display_name":null,"funder_award_id":"CCF-0427202 CCF-0545850O ISE-0813362","funder_id":"https://openalex.org/F4320337370","funder_display_name":"Office of International Science and Engineering"},{"id":"https://openalex.org/G4112289094","display_name":"EAPSI:Ownership Types as Pluggable Type Systems","funder_award_id":"0813362","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G4219158840","display_name":"\"CAREER:\" Enforcing and Validating User-Defined Programming Disciplines","funder_award_id":"0545850","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G7281460800","display_name":"ITR - ASE - int:    Event Driven Software Quality","funder_award_id":"0427202","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320308943","display_name":"Microsoft Research","ror":"https://ror.org/00d0nc645"},{"id":"https://openalex.org/F4320320006","display_name":"Royal Society","ror":"https://ror.org/03wnrjx87"},{"id":"https://openalex.org/F4320320774","display_name":"Royal Society Te Ap\u0101rangi","ror":"https://ror.org/04tajb587"},{"id":"https://openalex.org/F4320335369","display_name":"Marsden Fund","ror":null},{"id":"https://openalex.org/F4320337370","display_name":"Office of International Science and Engineering","ror":"https://ror.org/01k638r21"},{"id":"https://openalex.org/F4320337387","display_name":"Division of Computing and Communication Foundations","ror":"https://ror.org/01mng8331"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2153559293.pdf","grobid_xml":"https://content.openalex.org/works/W2153559293.grobid-xml"},"referenced_works_count":45,"referenced_works":["https://openalex.org/W84258820","https://openalex.org/W150412037","https://openalex.org/W168248273","https://openalex.org/W1509698104","https://openalex.org/W1533109738","https://openalex.org/W1553884617","https://openalex.org/W1555105863","https://openalex.org/W1557561422","https://openalex.org/W1589143006","https://openalex.org/W1649645444","https://openalex.org/W1660714679","https://openalex.org/W1782169904","https://openalex.org/W1812582761","https://openalex.org/W1963569294","https://openalex.org/W1986453394","https://openalex.org/W1997104165","https://openalex.org/W2030639337","https://openalex.org/W2033348393","https://openalex.org/W2052593720","https://openalex.org/W2077288840","https://openalex.org/W2095850105","https://openalex.org/W2099963114","https://openalex.org/W2106355420","https://openalex.org/W2109065830","https://openalex.org/W2109875364","https://openalex.org/W2110726411","https://openalex.org/W2112094847","https://openalex.org/W2125044336","https://openalex.org/W2132613704","https://openalex.org/W2139672538","https://openalex.org/W2146079248","https://openalex.org/W2146934772","https://openalex.org/W2151298976","https://openalex.org/W2153006094","https://openalex.org/W2155266165","https://openalex.org/W2158126684","https://openalex.org/W2159377125","https://openalex.org/W2159933174","https://openalex.org/W2162120832","https://openalex.org/W2295471304","https://openalex.org/W4230004677","https://openalex.org/W4234348025","https://openalex.org/W4241904514","https://openalex.org/W4253606798","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W7100931934","https://openalex.org/W2153006094","https://openalex.org/W7100360758","https://openalex.org/W7096882978","https://openalex.org/W2106355420","https://openalex.org/W2611205958","https://openalex.org/W4252586676","https://openalex.org/W2081821914","https://openalex.org/W7048208039","https://openalex.org/W1608589480"],"abstract_inverted_index":{"Pluggable":[0],"types":[1],"enable":[2],"users":[3,92],"to":[4,27,74,123,147,156],"enforce":[5,127],"multiple":[6],"type":[7,30,76,101,113,133,142],"systems":[8,31,77,114,134],"in":[9,40,72,95,119,121,130],"one":[10],"programming":[11],"language.":[12],"We":[13,103],"have":[14,116],"developed":[15],"a":[16,36,47,68,86,109,141,152,157],"suite":[17],"of":[18,98,111],"tools,":[19],"called":[20],"the":[21,96,105],"JavaCOP":[22,34,53,64,84,120],"framework,":[23],"that":[24],"allows":[25],"developers":[26],"create":[28],"pluggable":[29,100,112],"for":[32,144,154],"Java.":[33],"provides":[35],"simple":[37],"declarative":[38],"language":[39],"which":[41,78,90,115],"program":[42],"constraints":[43,58],"are":[44],"defined":[45],"over":[46],"program's":[48],"abstract":[49],"syntax":[50],"tree.":[51],"The":[52,63],"compiler":[54],"automatically":[55],"enforces":[56],"these":[57],"on":[59,80],"programs":[60],"during":[61],"compilation.":[62],"framework":[65,89,106],"also":[66],"includes":[67,85],"dataflow":[69],"analysis":[70],"API":[71],"order":[73,122],"support":[75],"depend":[79],"flow-sensitive":[81],"information.":[82],"Finally,":[83],"novel":[87],"test":[88],"helps":[91],"gain":[93],"confidence":[94],"correctness":[97],"their":[99],"systems.":[102],"demonstrate":[104],"by":[107],"discussing":[108],"number":[110],"been":[117],"implemented":[118],"detect":[124],"errors":[125],"and":[126],"strong":[128],"invariants":[129],"programs.":[131],"These":[132],"range":[135],"from":[136],"general-purpose":[137],"checkers,":[138],"such":[139,150],"as":[140,151],"system":[143],"nonnull":[145],"references,":[146],"domain-specific":[148],"ones,":[149],"checker":[153],"conformance":[155],"library's":[158],"usage":[159],"rules.":[160]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":8},{"year":2016,"cited_by_count":7},{"year":2015,"cited_by_count":3},{"year":2014,"cited_by_count":5},{"year":2013,"cited_by_count":4},{"year":2012,"cited_by_count":2}],"updated_date":"2026-11-12T12:28:57.059296","created_date":"2016-06-24T00:00:00"}
