{"id":"https://openalex.org/W2103982836","doi":null,"title":"A framework for testing concurrent programs","display_name":"A framework for testing concurrent programs","publication_year":2011,"publication_date":"2011-01-01","ids":{"openalex":"https://openalex.org/W2103982836","mag":"2103982836"},"language":"en","primary_location":{"id":"mag:2103982836","doi":null,"is_oa":false,"landing_page_url":"http://drjava.org/papers/MSThesis-Ricken.pdf","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":null},"volume":null,"type":"dissertation","is_traditional":true,"indexed_in":[],"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/A5068157052","display_name":"Robert Cartwright","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I74775410","display_name":"Rice University","ror":"https://ror.org/008zs3103","country_code":"US","type":"education","lineage":["https://openalex.org/I74775410"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Robert Cartwright","raw_affiliation_strings":["**Rice University;"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"**Rice University;","institution_ids":["https://openalex.org/I74775410"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5078889253","display_name":"Mathias Ricken","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I74775410","display_name":"Rice University","ror":"https://ror.org/008zs3103","country_code":"US","type":"education","lineage":["https://openalex.org/I74775410"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Mathias Ricken","raw_affiliation_strings":["**Rice University;"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"**Rice University;","institution_ids":["https://openalex.org/I74775410"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I74775410"],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":4,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"140","last_page":"140"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":1.0,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":1.0,"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/T10126","display_name":"Logic, programming, and type systems","score":0.0,"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/concurrent-program-testing","display_name":"concurrent program testing","score":0.9150000214576721},{"id":"https://openalex.org/keywords/unit-testing","display_name":"unit testing","score":0.9380000233650208},{"id":"https://openalex.org/keywords/test-driven-development","display_name":"test-driven development","score":0.9179999828338623},{"id":"https://openalex.org/keywords/junit","display_name":"JUnit","score":0.9169999957084656},{"id":"https://openalex.org/keywords/nondeterminism","display_name":"non-determinism","score":0.7519999742507935},{"id":"https://openalex.org/keywords/multi-core-processors","display_name":"multi-core processors","score":0.6729999780654907},{"id":"https://openalex.org/keywords/java-memory-model","display_name":"Java memory model","score":0.7739999890327454},{"id":"https://openalex.org/keywords/synchronization","display_name":"synchronization","score":0.6700000166893005},{"id":"https://openalex.org/keywords/bug-finding","display_name":"bug detection","score":0.5360000133514404},{"id":"https://openalex.org/keywords/contests","display_name":"contests","score":0.4690000116825104}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8094305992126465},{"id":"https://openalex.org/C148027188","wikidata":"https://www.wikidata.org/wiki/Q907375","display_name":"Unit testing","level":3,"score":0.7717829942703247},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.7651221752166748},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.6768984198570251},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.6344238519668579},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.4731025695800781},{"id":"https://openalex.org/C68387754","wikidata":"https://www.wikidata.org/wiki/Q7271585","display_name":"Schedule","level":2,"score":0.45225241780281067},{"id":"https://openalex.org/C2778562939","wikidata":"https://www.wikidata.org/wiki/Q1298791","display_name":"Synchronization (alternating current)","level":3,"score":0.412855863571167},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.4124261736869812},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.37383320927619934},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.37213367223739624},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.333305686712265},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.3281823992729187},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.29589173197746277},{"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":"mag:2103982836","doi":null,"is_oa":false,"landing_page_url":"http://drjava.org/papers/MSThesis-Ricken.pdf","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":null}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":44,"referenced_works":["https://openalex.org/W577898292","https://openalex.org/W1481668298","https://openalex.org/W1486694616","https://openalex.org/W1557561422","https://openalex.org/W1594982746","https://openalex.org/W1601712140","https://openalex.org/W1649645444","https://openalex.org/W1868584616","https://openalex.org/W1877496576","https://openalex.org/W1970657598","https://openalex.org/W1972544179","https://openalex.org/W1986454448","https://openalex.org/W1998070736","https://openalex.org/W2007181618","https://openalex.org/W2016167891","https://openalex.org/W2016314068","https://openalex.org/W2020021151","https://openalex.org/W2028544000","https://openalex.org/W2033348393","https://openalex.org/W2034963261","https://openalex.org/W2037595410","https://openalex.org/W2038315427","https://openalex.org/W2052468679","https://openalex.org/W2055116083","https://openalex.org/W2072044239","https://openalex.org/W2075446931","https://openalex.org/W2084974764","https://openalex.org/W2085407655","https://openalex.org/W2091085450","https://openalex.org/W2096653140","https://openalex.org/W2109875364","https://openalex.org/W2122295522","https://openalex.org/W2124476310","https://openalex.org/W2133662847","https://openalex.org/W2135395375","https://openalex.org/W2135560834","https://openalex.org/W2152654717","https://openalex.org/W2155079805","https://openalex.org/W2158641382","https://openalex.org/W2167744164","https://openalex.org/W2171480813","https://openalex.org/W2185627205","https://openalex.org/W2914127544","https://openalex.org/W3146075203"],"related_works":["https://openalex.org/W7097253040","https://openalex.org/W7100138488","https://openalex.org/W2328936391","https://openalex.org/W2052468679","https://openalex.org/W2072044239","https://openalex.org/W2116119807","https://openalex.org/W2035650034","https://openalex.org/W7097223203","https://openalex.org/W2065668719","https://openalex.org/W7100635863"],"abstract_inverted_index":{"This":[0],"study":[1],"proposes":[2],"a":[3,24,52,105,218,233],"new":[4,139],"framework":[5,223],"that":[6,158,186,257,284,301,313],"can":[7,328],"effectively":[8],"apply":[9],"unit":[10,34,145,265],"testing":[11,35,146,322],"to":[12,18,28,71,136,201,227,250,270,294],"concurrent":[13,77,168,325],"programs,":[14,326],"which":[15,94,116,237],"are":[16,99,135,148,160,198,241,286],"difficult":[17],"develop":[19],"and":[20,87,162,171,179,261,277,290,333],"debug.":[21],"Test-driven":[22],"development,":[23],"practice":[25],"enabling":[26],"developers":[27,211,327],"detect":[29,299],"bugs":[30],"early":[31],"by":[32,347],"incorporating":[33],"into":[36],"the":[37,91,129,174,184,214,248,264,272,282,302,335,342],"development":[38,235],"process,":[39],"has":[40,45],"become":[41],"wide-spread,":[42],"but":[43],"it":[44,68],"only":[46],"been":[47],"effective":[48,321],"for":[49,144,155,167,324],"programs":[50,78,134,147,159,249,330],"with":[51,267,308],"single":[53],"thread":[54],"of":[55,59,131,206,337,341,344],"control.":[56],"The":[57,306],"order":[58,92],"operations":[60,95,185],"in":[61,76,80,93,96,230,339],"different":[62,97,275,279],"threads":[63,98],"is":[64,102],"essentially":[65],"non-deterministic,":[66],"making":[67],"more":[69,331],"complicated":[70],"reason":[72],"about":[73,183],"program":[74],"properties":[75],"than":[79],"single-threaded":[81,161],"programs.":[82],"Because":[83],"hardware,":[84],"operating":[85],"systems,":[86],"compiler":[88],"optimizations":[89],"influence":[90],"executed,":[100],"debugging":[101],"problematic":[103],"since":[104],"problem":[106],"often":[107],"cannot":[108],"be":[109,202],"reproduced":[110],"on":[111,217,247,278],"other":[112,239],"machines.":[113],"Multi-core":[114],"processors,":[115],"have":[117,122],"replaced":[118],"older":[119],"single-core":[120],"designs,":[121],"exacerbated":[123],"these":[124,207],"problems":[125,208,300,312],"because":[126],"they":[127],"demand":[128],"use":[130],"concurrency":[132,345],"if":[133],"benefit":[137],"from":[138,212],"processors.":[140,349],"\r\nThe":[141,221,288],"existing":[142],"tools":[143,216,256],"either":[149],"flawed":[150],"or":[151,194],"too":[152,199],"costly.":[153],"JUnit,":[154],"instance,":[156],"assumes":[157],"therefore":[163],"does":[164],"not":[165,293],"work":[166],"programs;":[169],"ConTest":[170],"rstest":[172],"predate":[173],"revised":[175],"Java":[176],"memory":[177],"model":[178,192],"make":[180],"incorrect":[181],"assumptions":[182],"affect":[187],"synchronization.":[188],"Approaches":[189],"such":[190],"as":[191],"checking":[193],"comprehensive":[195],"schedule-based":[196],"execution":[197,273,307],"costly":[200],"used":[203],"frequently.":[204],"All":[205],"prevent":[209],"software":[210],"adopting":[213],"current":[215],"large":[219],"scale.":[220],"proposed":[222],"(i)":[224],"improves":[225],"JUnit":[226,304],"recognize":[228],"errors":[229,285,338],"all":[231,238],"threads,":[232],"necessary":[234],"without":[236],"improvements":[240,289],"futile,":[242],"(ii)":[243],"places":[244],"some":[245],"restrictions":[246],"facilitate":[251],"automatic":[252],"testing,":[253],"(iii)":[254],"provides":[255],"reduce":[258],"programmer":[259],"mistakes,":[260],"(iv)":[262],"re-runs":[263],"tests":[266],"randomized":[268,309],"schedules":[269,310],"simulate":[271],"under":[274,316],"conditions":[276],"machines,":[280],"increasing":[281],"probability":[283],"detected.":[287],"restrictions,":[291],"shown":[292],"seriously":[295],"impede":[296],"programmers,":[297],"reliably":[298,332],"original":[303],"missed.":[305],"reveals":[311],"rarely":[314],"occur":[315],"normal":[317],"conditions.":[318],"\r\nWith":[319],"an":[320],"tool":[323],"test":[329],"decrease":[334],"number":[336],"spite":[340],"proliferation":[343],"demanded":[346],"modern":[348]},"counts_by_year":[{"year":2021,"cited_by_count":2},{"year":2015,"cited_by_count":1}],"updated_date":"2025-11-06T04:12:42.849631","created_date":"2016-06-24T00:00:00"}
