{"id":"https://openalex.org/W2140200969","doi":"https://doi.org/10.1145/514188.514189","title":"The apprentice challenge","display_name":"The apprentice challenge","publication_year":2002,"publication_date":"2002-05-01","ids":{"openalex":"https://openalex.org/W2140200969","doi":"https://doi.org/10.1145/514188.514189","mag":"2140200969"},"language":"en","primary_location":{"id":"doi:10.1145/514188.514189","doi":"https://doi.org/10.1145/514188.514189","is_oa":true,"landing_page_url":"https://doi.org/10.1145/514188.514189","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/514188.514189","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/514188.514189","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5046673609","display_name":"J Strother Moore","orcid":"https://orcid.org/0000-0002-9628-1702","observed_orcids":["https://orcid.org/0000-0002-9628-1702"]},"institutions":[{"id":"https://openalex.org/I86519309","display_name":"The University of Texas at Austin","ror":"https://ror.org/00hj54h04","country_code":"US","type":"education","lineage":["https://openalex.org/I86519309"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"J. Strother Moore","raw_affiliation_strings":["University of Texas at Austin, Austin, TX"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Texas at Austin, Austin, TX","institution_ids":["https://openalex.org/I86519309"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5053471164","display_name":"George Porter","orcid":"https://orcid.org/0000-0001-9753-5471","observed_orcids":["https://orcid.org/0000-0001-9753-5471"]},"institutions":[{"id":"https://openalex.org/I86519309","display_name":"The University of Texas at Austin","ror":"https://ror.org/00hj54h04","country_code":"US","type":"education","lineage":["https://openalex.org/I86519309"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"George Porter","raw_affiliation_strings":["University of Texas at Austin, Austin, TX"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Texas at Austin, Austin, TX","institution_ids":["https://openalex.org/I86519309"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I86519309"],"apc_list":null,"apc_paid":null,"fwci":6.2352,"has_fulltext":true,"cited_by_count":28,"citation_normalized_percentile":{"value":0.96599386,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":88,"max":95},"biblio":{"volume":"24","issue":"3","first_page":"193","last_page":"216"},"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.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"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","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"}},{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.0010000000474974513,"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/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"}}],"keywords":[{"id":"https://openalex.org/keywords/monitors","display_name":"monitors","score":0.7990000247955322},{"id":"https://openalex.org/keywords/synchronization","display_name":"synchronization","score":0.6850000023841858},{"id":"https://openalex.org/keywords/acl2-theorem-prover","display_name":"ACL2 theorem prover","score":0.8299999833106995},{"id":"https://openalex.org/keywords/interleaving","display_name":"interleaving","score":0.6159999966621399},{"id":"https://openalex.org/keywords/pointer-chasing","display_name":"pointer chasing","score":0.5490000247955322},{"id":"https://openalex.org/keywords/sequential-consistency","display_name":"sequential consistency","score":0.5099999904632568}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8934605121612549},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7472679615020752},{"id":"https://openalex.org/C134757568","wikidata":"https://www.wikidata.org/wiki/Q274089","display_name":"Heap (data structure)","level":2,"score":0.5719988942146301},{"id":"https://openalex.org/C2777472213","wikidata":"https://www.wikidata.org/wiki/Q137496","display_name":"Java bytecode","level":5,"score":0.5632719397544861},{"id":"https://openalex.org/C2779818221","wikidata":"https://www.wikidata.org/wiki/Q837330","display_name":"Bytecode","level":3,"score":0.547111988067627},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.5430369973182678},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.4748654365539551},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.45074301958084106},{"id":"https://openalex.org/C188045909","wikidata":"https://www.wikidata.org/wiki/Q3306359","display_name":"Atomicity","level":3,"score":0.44779089093208313},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4446735680103302},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.38101351261138916},{"id":"https://openalex.org/C15524039","wikidata":"https://www.wikidata.org/wiki/Q865817","display_name":"Java applet","level":3,"score":0.17028918862342834},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.1673508584499359},{"id":"https://openalex.org/C75949130","wikidata":"https://www.wikidata.org/wiki/Q848010","display_name":"Database transaction","level":2,"score":0.1310998797416687},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.09737357497215271},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/514188.514189","doi":"https://doi.org/10.1145/514188.514189","is_oa":true,"landing_page_url":"https://doi.org/10.1145/514188.514189","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/514188.514189","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.10.3358","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.10.3358","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.utexas.edu/users/moore/publications/m5/apprentice.ps","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.11.181","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.11.181","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.utexas.edu/users/moore/publications/m5/paper-acm.ps","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.20.5846","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.20.5846","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.berkeley.edu/~gporter/p193-moore.pdf","raw_type":"text"}],"best_oa_location":{"id":"doi:10.1145/514188.514189","doi":"https://doi.org/10.1145/514188.514189","is_oa":true,"landing_page_url":"https://doi.org/10.1145/514188.514189","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/514188.514189","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":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2140200969.pdf","grobid_xml":"https://content.openalex.org/works/W2140200969.grobid-xml"},"referenced_works_count":29,"referenced_works":["https://openalex.org/W25798763","https://openalex.org/W179766456","https://openalex.org/W201689136","https://openalex.org/W1525726734","https://openalex.org/W1534850143","https://openalex.org/W1543172077","https://openalex.org/W1558797637","https://openalex.org/W1597068544","https://openalex.org/W1600735021","https://openalex.org/W1840291739","https://openalex.org/W1965348053","https://openalex.org/W1972544179","https://openalex.org/W2099078002","https://openalex.org/W2099571283","https://openalex.org/W2107995193","https://openalex.org/W2111692334","https://openalex.org/W2113547509","https://openalex.org/W2124141583","https://openalex.org/W2126182862","https://openalex.org/W2161886662","https://openalex.org/W2164810907","https://openalex.org/W2171187554","https://openalex.org/W2171480813","https://openalex.org/W2264491443","https://openalex.org/W2561675875","https://openalex.org/W4231257726","https://openalex.org/W4285719527","https://openalex.org/W4300934094","https://openalex.org/W4302840625"],"related_works":["https://openalex.org/W108986471","https://openalex.org/W3021104105","https://openalex.org/W1979487767","https://openalex.org/W2140426285","https://openalex.org/W7097977860","https://openalex.org/W7100397567","https://openalex.org/W1516985231","https://openalex.org/W7098722008","https://openalex.org/W7099249612","https://openalex.org/W1739770529"],"abstract_inverted_index":{"We":[0,26,52,237],"describe":[1],"a":[2,7,10,54,72,250],"mechanically":[3],"checked":[4,81],"proof":[5,88,172,228],"of":[6,9,13,20,30,75,99,109,119,129,138,147,159,166,184,210,218,234,262],"property":[8],"small":[11],"system":[12,40],"Java":[14,196,264],"programs":[15],"involving":[16],"an":[17,46,156],"unbounded":[18,157,208],"number":[19,158,209],"threads":[21,221],"and":[22,37,59,97,115,145,200,222,225],"synchronization,":[23],"via":[24],"monitors.":[25],"adopt":[27],"the":[28,31,35,39,42,50,62,83,95,103,107,117,123,130,136,152,182,185,189,193,203,207,213,216,227],"output":[29],"javac":[32],"compiler":[33],"as":[34,173,249],"semantics":[36,48,67],"verify":[38],"at":[41,61],"bytecode":[43,63,153],"level":[44],"under":[45],"operational":[47,66],"for":[49],"JVM.":[51],"assume":[53],"sequentially":[55],"consistent":[56],"memory":[57],"model":[58],"atomicity":[60],"level.":[64],"Our":[65,78],"is":[68,245],"expressed":[69],"in":[70,102,215],"ACL2,":[71],"Lisp-based":[73],"logic":[74],"recursive":[76],"functions.":[77],"proofs":[79,165],"are":[80],"with":[82,163],"ACL2":[84],"theorem":[85],"prover.":[86],"The":[87,176,241],"involves":[89],"reasoning":[90],"about":[91],"arithmetic;":[92],"infinite":[93],"loops;":[94],"creation":[96],"modification":[98],"instance":[100,120],"objects":[101],"heap,":[104],"including":[105],"threads;":[106,144,211],"inheritance":[108],"fields":[110],"from":[111,180],"superclasses;":[112],"pointer":[113],"chasing":[114],"smashing;":[116],"invocation":[118],"methods":[121],"(and":[122],"concomitant":[124],"dynamic":[125],"method":[126,132],"resolution);":[127],"use":[128,137],"start":[131],"on":[133,188],"thread":[134],"objects;":[135,224],"monitors":[139],"to":[140,254,258],"attain":[141],"synchronization":[142],"between":[143,195],"consideration":[146],"all":[148],"possible":[149],"interleavings":[150],"(at":[151],"level)":[154],"over":[155],"threads.":[160],"Readers":[161],"familiar":[162],"monitor-based":[164],"mutual":[167],"exclusion":[168],"will":[169],"recognize":[170],"our":[171],"fairly":[174],"classical.":[175],"novelty":[177],"here":[178,244],"comes":[179],"(i)":[181],"complexity":[183],"individual":[186],"operations":[187],"abstract":[190],"machine;":[191],"(ii)":[192],"dependencies":[194],"threads,":[197],"heap":[198,217],"objects,":[199],"synchronization;":[201],"(iii)":[202],"bytecode-level":[204],"interleaving;":[205],"(iv)":[206],"(v)":[212],"presence":[214],"incompletely":[219],"initialized":[220],"other":[223,256],"(vi)":[226],"engineering":[229],"permitting":[230],"automatic":[231],"mechanical":[232],"verification":[233],"code-level":[235],"theorems.":[236],"discuss":[238],"these":[239],"issues.":[240],"problem":[242],"posed":[243],"also":[246],"put":[247],"forth":[248],"benchmark":[251],"against":[252],"which":[253],"measure":[255],"approaches":[257],"formally":[259],"proving":[260],"properties":[261],"multithreaded":[263],"programs.":[265]},"counts_by_year":[{"year":2018,"cited_by_count":1},{"year":2016,"cited_by_count":1},{"year":2014,"cited_by_count":1},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":2}],"updated_date":"2026-11-07T11:25:07.637180","created_date":"2016-06-24T00:00:00"}
