{"id":"https://openalex.org/W4377021915","doi":"https://doi.org/10.1145/3594729","title":"Formal Specification and Verification of JDK\u2019s\u00a0Identity Hash Map Implementation","display_name":"Formal Specification and Verification of JDK\u2019s\u00a0Identity Hash Map Implementation","publication_year":2023,"publication_date":"2023-05-18","ids":{"openalex":"https://openalex.org/W4377021915","doi":"https://doi.org/10.1145/3594729"},"language":"en","primary_location":{"id":"doi:10.1145/3594729","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3594729","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3594729","source":{"id":"https://openalex.org/S128250343","display_name":"Formal Aspects of Computing","issn_l":"0934-5043","issn":["0934-5043","1433-299X"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Formal Aspects of Computing","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3594729","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5103144850","display_name":"Martin de Boer","orcid":"https://orcid.org/0000-0002-4794-6333"},"institutions":[{"id":"https://openalex.org/I7876267","display_name":"Open University of the Netherlands","ror":"https://ror.org/018dfmf50","country_code":"NL","type":"education","lineage":["https://openalex.org/I7876267"]}],"countries":["NL"],"is_corresponding":true,"raw_author_name":"Martin De Boer","raw_affiliation_strings":["Open University, Netherlands"],"raw_orcid":"https://orcid.org/0000-0002-4794-6333","affiliations":[{"raw_affiliation_string":"Open University, Netherlands","institution_ids":["https://openalex.org/I7876267"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5058794403","display_name":"Stijn de Gouw","orcid":"https://orcid.org/0000-0003-2964-6844"},"institutions":[{"id":"https://openalex.org/I7876267","display_name":"Open University of the Netherlands","ror":"https://ror.org/018dfmf50","country_code":"NL","type":"education","lineage":["https://openalex.org/I7876267"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Stijn De Gouw","raw_affiliation_strings":["Open University, Netherlands"],"raw_orcid":"https://orcid.org/0000-0003-2964-6844","affiliations":[{"raw_affiliation_string":"Open University, Netherlands","institution_ids":["https://openalex.org/I7876267"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5065109064","display_name":"Jonas Klamroth","orcid":"https://orcid.org/0000-0002-8013-9453"},"institutions":[{"id":"https://openalex.org/I143379178","display_name":"FZI Research Center for Information Technology","ror":"https://ror.org/04kdh6x72","country_code":"DE","type":"nonprofit","lineage":["https://openalex.org/I143379178"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Jonas Klamroth","raw_affiliation_strings":["FZI Research Center for Information Technology, Germany"],"raw_orcid":"https://orcid.org/0000-0002-8013-9453","affiliations":[{"raw_affiliation_string":"FZI Research Center for Information Technology, Germany","institution_ids":["https://openalex.org/I143379178"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5102837278","display_name":"Christian Jung","orcid":"https://orcid.org/0009-0000-6281-5297"},"institutions":[{"id":"https://openalex.org/I102335020","display_name":"Karlsruhe Institute of Technology","ror":"https://ror.org/04t3en479","country_code":"DE","type":"education","lineage":["https://openalex.org/I102335020","https://openalex.org/I1305996414"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Christian Jung","raw_affiliation_strings":["Karlsruhe Institute of Technology, Germany"],"raw_orcid":"https://orcid.org/0009-0000-6281-5297","affiliations":[{"raw_affiliation_string":"Karlsruhe Institute of Technology, Germany","institution_ids":["https://openalex.org/I102335020"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5039009530","display_name":"Mattias Ulbrich","orcid":"https://orcid.org/0000-0002-2350-1831"},"institutions":[{"id":"https://openalex.org/I102335020","display_name":"Karlsruhe Institute of Technology","ror":"https://ror.org/04t3en479","country_code":"DE","type":"education","lineage":["https://openalex.org/I102335020","https://openalex.org/I1305996414"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Mattias Ulbrich","raw_affiliation_strings":["Karlsruhe Institute of Technology, Germany"],"raw_orcid":"https://orcid.org/0000-0002-2350-1831","affiliations":[{"raw_affiliation_string":"Karlsruhe Institute of Technology, Germany","institution_ids":["https://openalex.org/I102335020"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5067871787","display_name":"Alexander Weigl","orcid":"https://orcid.org/0000-0001-8446-4598"},"institutions":[{"id":"https://openalex.org/I102335020","display_name":"Karlsruhe Institute of Technology","ror":"https://ror.org/04t3en479","country_code":"DE","type":"education","lineage":["https://openalex.org/I102335020","https://openalex.org/I1305996414"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Alexander Weigl","raw_affiliation_strings":["Karlsruhe Institute of Technology, Germany"],"raw_orcid":"https://orcid.org/0000-0001-8446-4598","affiliations":[{"raw_affiliation_string":"Karlsruhe Institute of Technology, Germany","institution_ids":["https://openalex.org/I102335020"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":6,"corresponding_author_ids":["https://openalex.org/A5103144850"],"corresponding_institution_ids":["https://openalex.org/I7876267"],"apc_list":null,"apc_paid":null,"fwci":1.1597,"has_fulltext":true,"cited_by_count":8,"citation_normalized_percentile":{"value":0.82257582,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":"35","issue":"3","first_page":"1","last_page":"26"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9998999834060669,"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/T11424","display_name":"Security and Verification in Computing","score":0.9998999834060669,"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/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"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.9990000128746033,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.846450924873352},{"id":"https://openalex.org/keywords/hash-function","display_name":"Hash function","score":0.683151364326477},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.6795538663864136},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.6303356885910034},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6198576092720032},{"id":"https://openalex.org/keywords/gas-meter-prover","display_name":"Gas meter prover","score":0.609654426574707},{"id":"https://openalex.org/keywords/hash-table","display_name":"Hash table","score":0.6095002889633179},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.6024120450019836},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.47126078605651855},{"id":"https://openalex.org/keywords/java-modeling-language","display_name":"Java Modeling Language","score":0.42283695936203003},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.21731352806091309},{"id":"https://openalex.org/keywords/java-annotation","display_name":"Java annotation","score":0.17810511589050293},{"id":"https://openalex.org/keywords/java-applet","display_name":"Java applet","score":0.13929888606071472},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.09801581501960754}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.846450924873352},{"id":"https://openalex.org/C99138194","wikidata":"https://www.wikidata.org/wiki/Q183427","display_name":"Hash function","level":2,"score":0.683151364326477},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.6795538663864136},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.6303356885910034},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6198576092720032},{"id":"https://openalex.org/C159718280","wikidata":"https://www.wikidata.org/wiki/Q5526353","display_name":"Gas meter prover","level":3,"score":0.609654426574707},{"id":"https://openalex.org/C67388219","wikidata":"https://www.wikidata.org/wiki/Q207440","display_name":"Hash table","level":3,"score":0.6095002889633179},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6024120450019836},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.47126078605651855},{"id":"https://openalex.org/C60945770","wikidata":"https://www.wikidata.org/wiki/Q2517517","display_name":"Java Modeling Language","level":5,"score":0.42283695936203003},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.21731352806091309},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.17810511589050293},{"id":"https://openalex.org/C15524039","wikidata":"https://www.wikidata.org/wiki/Q865817","display_name":"Java applet","level":3,"score":0.13929888606071472},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.09801581501960754},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3594729","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3594729","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3594729","source":{"id":"https://openalex.org/S128250343","display_name":"Formal Aspects of Computing","issn_l":"0934-5043","issn":["0934-5043","1433-299X"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Formal Aspects of Computing","raw_type":"journal-article"},{"id":"pmh:oai:research.ou.nl:publications/88c8e313-b8b4-435d-a5d8-edc48296e5dd","is_oa":true,"landing_page_url":"https://research.ou.nl/en/publications/88c8e313-b8b4-435d-a5d8-edc48296e5dd","pdf_url":null,"source":{"id":"https://openalex.org/S4406922485","display_name":"Open University of the Netherlands Research Portal","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":"cc-by-nc","license_id":"https://openalex.org/licenses/cc-by-nc","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Boer, M D, Gouw, S D, Klamroth, J, Jung, C, Ulbrich, M & Weigl, A 2023, 'Formal Specification and Verification of JDK's Identity Hash Map Implementation', Formal Aspects of Computing, vol. 35, no. 3, 18. https://doi.org/10.1145/3594729","raw_type":"info:eu-repo/semantics/publishedVersion"}],"best_oa_location":{"id":"doi:10.1145/3594729","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3594729","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3594729","source":{"id":"https://openalex.org/S128250343","display_name":"Formal Aspects of Computing","issn_l":"0934-5043","issn":["0934-5043","1433-299X"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Formal Aspects of Computing","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4377021915.pdf","grobid_xml":"https://content.openalex.org/works/W4377021915.grobid-xml"},"referenced_works_count":24,"referenced_works":["https://openalex.org/W1616208858","https://openalex.org/W2029495398","https://openalex.org/W2052363833","https://openalex.org/W2088855835","https://openalex.org/W2095907349","https://openalex.org/W2136310957","https://openalex.org/W2531338196","https://openalex.org/W2531616995","https://openalex.org/W2565255124","https://openalex.org/W2566370321","https://openalex.org/W2773627046","https://openalex.org/W2803369237","https://openalex.org/W2883971886","https://openalex.org/W2950533071","https://openalex.org/W3020947624","https://openalex.org/W3022311845","https://openalex.org/W3046055767","https://openalex.org/W3100495532","https://openalex.org/W3100554104","https://openalex.org/W3101735739","https://openalex.org/W3143465091","https://openalex.org/W4285124781","https://openalex.org/W4285199770","https://openalex.org/W6894013501"],"related_works":["https://openalex.org/W2899793048","https://openalex.org/W2950202488","https://openalex.org/W1594411369","https://openalex.org/W4385887367","https://openalex.org/W2027534055","https://openalex.org/W1835589799","https://openalex.org/W2144265691","https://openalex.org/W1605991620","https://openalex.org/W4387251676","https://openalex.org/W4385261619"],"abstract_inverted_index":{"Hash":[0],"maps":[1,101],"are":[2,19],"a":[3,62,85],"common":[4],"and":[5,50,57,76,116],"important":[6],"data":[7],"structure":[8],"in":[9,36,96],"efficient":[10],"algorithm":[11],"implementations.":[12],"Despite":[13],"their":[14,127],"wide-spread":[15],"use,":[16],"real-world":[17],"implementations":[18,115,125],"not":[20],"regularly":[21],"verified.":[22],"In":[23],"this":[24],"article,":[25],"we":[26,71],"present":[27],"the":[28,33,37,45,54,94,97,120],"first":[29],"case":[30],"study":[31],"of":[32,99,122],"IdentityHashMap":[34],"class":[35],"Java":[38,46,68],"JDK.":[39],"We":[40,90],"specified":[41],"its":[42],"behavior":[43],"using":[44],"Modeling":[47],"Language":[48],"(JML)":[49],"proved":[51],"correctness":[52],"for":[53,66,103,111,119],"main":[55],"insertion":[56],"lookup":[58],"methods":[59],"with":[60],"KeY,":[61],"semi-interactive":[63],"theorem":[64],"prover":[65],"JML-annotated":[67],"programs.":[69],"Furthermore,":[70],"report":[72],"how":[73],"unit":[74],"testing":[75],"bounded":[77],"model":[78],"checking":[79],"can":[80],"be":[81],"leveraged":[82],"to":[83],"find":[84],"suitable":[86],"specification":[87],"more":[88],"quickly.":[89],"also":[91],"investigated":[92],"where":[93],"bottlenecks":[95],"verification":[98],"hash":[100,113,123],"lie":[102],"KeY":[104],"by":[105],"comparing":[106],"required":[107],"automatic":[108],"proof":[109],"effort":[110],"different":[112],"map":[114,124],"draw":[117],"conclusions":[118],"choice":[121],"regarding":[126],"verifiability.":[128]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":4},{"year":2022,"cited_by_count":1}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2023-05-19T00:00:00"}
