{"id":"https://openalex.org/W2265444728","doi":"https://doi.org/10.1145/2811681.2811694","title":"Using \"must\" and \"may\" summaries to detect data races in Java bytecode that does not rely on the synchronized construct","display_name":"Using \"must\" and \"may\" summaries to detect data races in Java bytecode that does not rely on the synchronized construct","publication_year":2015,"publication_date":"2015-09-28","ids":{"openalex":"https://openalex.org/W2265444728","doi":"https://doi.org/10.1145/2811681.2811694","mag":"2265444728"},"language":"en","primary_location":{"id":"doi:10.1145/2811681.2811694","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2811681.2811694","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ASWEC 2015 24th Australasian Software Engineering Conference","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/A5070571746","display_name":"D. Clarke","orcid":"https://orcid.org/0000-0002-5570-0894"},"institutions":[{"id":"https://openalex.org/I165779595","display_name":"University of Melbourne","ror":"https://ror.org/01ej9dk98","country_code":"AU","type":"education","lineage":["https://openalex.org/I165779595"]}],"countries":["AU"],"is_corresponding":true,"raw_author_name":"David A. W. Clarke","raw_affiliation_strings":["Dept. of Computing and Inf. Systems, University of Melbourne, Melbourne, Australia, +61 408 793 793"],"affiliations":[{"raw_affiliation_string":"Dept. of Computing and Inf. Systems, University of Melbourne, Melbourne, Australia, +61 408 793 793","institution_ids":["https://openalex.org/I165779595"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5028824146","display_name":"Tim Miller","orcid":"https://orcid.org/0000-0003-4908-6063"},"institutions":[{"id":"https://openalex.org/I165779595","display_name":"University of Melbourne","ror":"https://ror.org/01ej9dk98","country_code":"AU","type":"education","lineage":["https://openalex.org/I165779595"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Tim Miller","raw_affiliation_strings":["Dept. of Computing and Inf. Systems, University of Melbourne, Melbourne, Australia"],"affiliations":[{"raw_affiliation_string":"Dept. of Computing and Inf. Systems, University of Melbourne, Melbourne, Australia","institution_ids":["https://openalex.org/I165779595"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5052253938","display_name":"Antonette Mendoza","orcid":"https://orcid.org/0000-0002-6903-1169"},"institutions":[{"id":"https://openalex.org/I165779595","display_name":"University of Melbourne","ror":"https://ror.org/01ej9dk98","country_code":"AU","type":"education","lineage":["https://openalex.org/I165779595"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Antonette Mendoza","raw_affiliation_strings":["Dept. of Computing and Inf. Systems, University of Melbourne, Melbourne, Australia"],"affiliations":[{"raw_affiliation_string":"Dept. of Computing and Inf. Systems, University of Melbourne, Melbourne, Australia","institution_ids":["https://openalex.org/I165779595"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5070571746"],"corresponding_institution_ids":["https://openalex.org/I165779595"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.14976057,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"64","last_page":"68"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9990000128746033,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T12127","display_name":"Software System Performance and Reliability","score":0.9987000226974487,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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.8838050365447998},{"id":"https://openalex.org/keywords/bytecode","display_name":"Bytecode","score":0.8081213235855103},{"id":"https://openalex.org/keywords/java-bytecode","display_name":"Java bytecode","score":0.7727410793304443},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.7432880997657776},{"id":"https://openalex.org/keywords/construct","display_name":"Construct (python library)","score":0.738224446773529},{"id":"https://openalex.org/keywords/synchronization","display_name":"Synchronization (alternating current)","score":0.6223748326301575},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.614444375038147},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.544601559638977},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.5354583263397217},{"id":"https://openalex.org/keywords/generics-in-java","display_name":"Generics in Java","score":0.5081689357757568},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.46873506903648376},{"id":"https://openalex.org/keywords/java-annotation","display_name":"Java annotation","score":0.3942358195781708},{"id":"https://openalex.org/keywords/real-time-java","display_name":"Real time Java","score":0.3590043783187866}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8838050365447998},{"id":"https://openalex.org/C2779818221","wikidata":"https://www.wikidata.org/wiki/Q837330","display_name":"Bytecode","level":3,"score":0.8081213235855103},{"id":"https://openalex.org/C2777472213","wikidata":"https://www.wikidata.org/wiki/Q137496","display_name":"Java bytecode","level":5,"score":0.7727410793304443},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.7432880997657776},{"id":"https://openalex.org/C2780801425","wikidata":"https://www.wikidata.org/wiki/Q5164392","display_name":"Construct (python library)","level":2,"score":0.738224446773529},{"id":"https://openalex.org/C2778562939","wikidata":"https://www.wikidata.org/wiki/Q1298791","display_name":"Synchronization (alternating current)","level":3,"score":0.6223748326301575},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.614444375038147},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.544601559638977},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.5354583263397217},{"id":"https://openalex.org/C172482141","wikidata":"https://www.wikidata.org/wiki/Q379273","display_name":"Generics in Java","level":5,"score":0.5081689357757568},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.46873506903648376},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.3942358195781708},{"id":"https://openalex.org/C132106392","wikidata":"https://www.wikidata.org/wiki/Q1373903","display_name":"Real time Java","level":3,"score":0.3590043783187866},{"id":"https://openalex.org/C127162648","wikidata":"https://www.wikidata.org/wiki/Q16858953","display_name":"Channel (broadcasting)","level":2,"score":0.0},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2811681.2811694","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2811681.2811694","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ASWEC 2015 24th Australasian Software Engineering Conference","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":10,"referenced_works":["https://openalex.org/W110954094","https://openalex.org/W178326370","https://openalex.org/W580110482","https://openalex.org/W1989657183","https://openalex.org/W2014530617","https://openalex.org/W2128870271","https://openalex.org/W2133662847","https://openalex.org/W4230015257","https://openalex.org/W4300810260","https://openalex.org/W6607244175"],"related_works":["https://openalex.org/W412736943","https://openalex.org/W1970806266","https://openalex.org/W3115511422","https://openalex.org/W2066444215","https://openalex.org/W2483494257","https://openalex.org/W2186011611","https://openalex.org/W2197133764","https://openalex.org/W1606351121","https://openalex.org/W1532887546","https://openalex.org/W2016474211"],"abstract_inverted_index":{"The":[0],"Java":[1,24,56],"Memory":[2],"Model":[3],"(JMM)":[4],"offers":[5],"significant":[6],"guarantees":[7],"of":[8,63,97,107,126],"sequentially":[9],"consistent":[10],"behaviour":[11],"where":[12],"concurrent":[13],"access":[14],"to":[15,42,50,83,119],"shared":[16,64],"data":[17,87,121],"is":[18,36,117],"regulated":[19],"by":[20],"synchronisation.":[21],"Using":[22,30],"the":[23,61],"synchronized":[25],"construct":[26],"incurs":[27],"high":[28],"overheads.":[29],"other":[31],"light-weight":[32],"protocols":[33],"for":[34],"synchronization":[35],"much":[37],"cheaper,":[38],"though":[39],"more":[40],"prone":[41],"error.":[43],"We":[44,100],"propose":[45],"a":[46,86,105,111,124],"static":[47],"analysis":[48],"approach":[49,59,103],"detecting":[51],"race":[52,88],"conditions":[53],"in":[54,123],"such":[55],"programs.":[57],"Our":[58],"analyses":[60],"use":[62],"variables":[65],"within":[66],"programs,":[67],"and":[68,73],"summarises":[69],"these":[70,78],"using":[71,110],"must":[72],"may":[74],"summaries.":[75],"It":[76],"compares":[77],"summaries":[79],"across":[80],"control-flow":[81],"paths":[82],"determine":[84],"whether":[85],"\"must\"":[89],"exist":[90],"or":[91],"\"may\"":[92],"exist,":[93],"given":[94],"some":[95],"assumptions":[96],"program":[98],"semantics.":[99],"evaluate":[101],"our":[102],"on":[104],"set":[106],"small":[108],"programs":[109],"prototype":[112],"implementation,":[113],"demonstrating":[114],"that":[115],"it":[116],"able":[118],"locate":[120],"races":[122],"variety":[125],"different":[127],"circumstances.":[128]},"counts_by_year":[],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
