{"id":"https://openalex.org/W2035650034","doi":"https://doi.org/10.1145/1321631.1321722","title":"Unit testing concurrent software","display_name":"Unit testing concurrent software","publication_year":2007,"publication_date":"2007-11-05","ids":{"openalex":"https://openalex.org/W2035650034","doi":"https://doi.org/10.1145/1321631.1321722","mag":"2035650034"},"language":"en","primary_location":{"id":"doi:10.1145/1321631.1321722","doi":"https://doi.org/10.1145/1321631.1321722","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1321631.1321722","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering","raw_type":"proceedings-article"},"volume":null,"type":"conference-paper","is_traditional":true,"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/A5026960776","display_name":"William Pugh","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"William Pugh","raw_affiliation_strings":["Univ. of Maryland, College Park, MD","University of Maryland College Park MD"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Univ. of Maryland, College Park, MD","institution_ids":["https://openalex.org/I66946132"]},{"raw_affiliation_string":"University of Maryland College Park MD","institution_ids":["https://openalex.org/I66946132"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5038961629","display_name":"Nathaniel Ayewah","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Nathaniel Ayewah","raw_affiliation_strings":["Univ. of Maryland, College Park, MD","University of Maryland College Park MD"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Univ. of Maryland, College Park, MD","institution_ids":["https://openalex.org/I66946132"]},{"raw_affiliation_string":"University of Maryland College Park MD","institution_ids":["https://openalex.org/I66946132"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I66946132"],"apc_list":null,"apc_paid":null,"fwci":2.0435,"has_fulltext":false,"cited_by_count":50,"citation_normalized_percentile":{"value":0.86958219,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":87,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"513","last_page":"516"},"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.0,"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/unit-testing","display_name":"unit testing","score":0.902999997138977},{"id":"https://openalex.org/keywords/multithreaded-applications","display_name":"multithreaded programs","score":0.9049999713897705},{"id":"https://openalex.org/keywords/concurrent-programs","display_name":"concurrent programs","score":0.7850000262260437},{"id":"https://openalex.org/keywords/deterministic-testing","display_name":"deterministic testing","score":0.699999988079071},{"id":"https://openalex.org/keywords/synchronization-error","display_name":"synchronization error","score":0.46299999952316284}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8718245029449463},{"id":"https://openalex.org/C148027188","wikidata":"https://www.wikidata.org/wiki/Q907375","display_name":"Unit testing","level":3,"score":0.806776225566864},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.6561166644096375},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.6370951533317566},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.5195717811584473},{"id":"https://openalex.org/C2778562939","wikidata":"https://www.wikidata.org/wiki/Q1298791","display_name":"Synchronization (alternating current)","level":3,"score":0.4559907615184784},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.45298534631729126},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4474855363368988},{"id":"https://openalex.org/C53942775","wikidata":"https://www.wikidata.org/wiki/Q1211721","display_name":"Code coverage","level":3,"score":0.43070802092552185},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.42822521924972534},{"id":"https://openalex.org/C117447612","wikidata":"https://www.wikidata.org/wiki/Q1412670","display_name":"Software quality","level":4,"score":0.41917747259140015},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.27979427576065063},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.0},{"id":"https://openalex.org/C127162648","wikidata":"https://www.wikidata.org/wiki/Q16858953","display_name":"Channel (broadcasting)","level":2,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/1321631.1321722","doi":"https://doi.org/10.1145/1321631.1321722","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1321631.1321722","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.187.8507","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.187.8507","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.umd.edu/%7Eayewah/web/pubs/UnitTesting-ASE2007.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":8,"referenced_works":["https://openalex.org/W1763409302","https://openalex.org/W1996730048","https://openalex.org/W2016314068","https://openalex.org/W2055116083","https://openalex.org/W2091184222","https://openalex.org/W2095600927","https://openalex.org/W2112678128","https://openalex.org/W2164349768"],"related_works":["https://openalex.org/W7100635863","https://openalex.org/W2103982836","https://openalex.org/W2052468679","https://openalex.org/W2135519965","https://openalex.org/W2065668719","https://openalex.org/W7097253040","https://openalex.org/W7100138488","https://openalex.org/W7097223203","https://openalex.org/W2328936391","https://openalex.org/W2116119807"],"abstract_inverted_index":{"There":[0],"are":[1,16,22],"many":[2,11],"difficulties":[3],"associated":[4],"with":[5],"developing":[6],"correct":[7],"multithreaded":[8,26],"software,":[9],"and":[10,54,78,138,152],"of":[12,76],"the":[13,69,74,132,136],"activities":[14],"that":[15,51,95,111,156],"simple":[17],"for":[18,25,39,82,92,146,164],"single":[19],"threaded":[20],"software":[21],"exceptionally":[23,62],"hard":[24],"software.":[27],"One":[28],"such":[29],"example":[30],"is":[31,61,87,126,167],"constructing":[32],"unit":[33,80],"tests":[34,81,144],"involving":[35],"multiple":[36],"threads.":[37],"Given,":[38],"example,":[40],"a":[41,46,119,124],"blocking":[42],"queue":[43],"implementation,":[44],"writing":[45],"test":[47,91],"case":[48],"to":[49,90,97,109,122],"show":[50],"it":[52],"blocks":[53],"unblocks":[55],"appropriately":[56],"using":[57],"existing":[58],"testing":[59],"frameworks":[60,155],"hard.":[63],"In":[64],"this":[65,105,158,165],"paper,":[66],"we":[67],"describe":[68,135],"MultithreadedTC":[70],"framework":[71,86,106,137,166],"which":[72],"allows":[73,107],"construction":[75],"deterministic":[77],"repeatable":[79],"concurrent":[83,102,116],"abstractions.":[84],"This":[85],"not":[88],"designed":[89,145],"synchronization":[93],"errors":[94],"lead":[96],"rare":[98],"probabilistic":[99],"faults":[100],"under":[101,169],"stress.":[103],"Rather,":[104],"us":[108],"demonstrate":[110],"code":[112,163],"does":[113],"provide":[114,139],"specific":[115],"functionality":[117],"(e.g.,":[118],"thread":[120,130],"attempting":[121],"acquire":[123],"lock":[125],"blocked":[127],"if":[128],"another":[129],"has":[131],"lock).":[133],"We":[134],"empirical":[140],"comparisons":[141],"against":[142,153],"hand-coded":[143],"Sun\u2019s":[147],"Java":[148],"concurrency":[149],"utilities":[150],"library":[151],"previous":[154],"addressed":[157],"same":[159],"issue.":[160],"The":[161],"source":[162,172],"available":[168],"an":[170],"open":[171],"license.":[173]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":5},{"year":2015,"cited_by_count":2},{"year":2014,"cited_by_count":2},{"year":2013,"cited_by_count":7},{"year":2012,"cited_by_count":8}],"updated_date":"2026-11-12T12:28:57.059296","created_date":"2016-06-24T00:00:00"}
