{"id":"https://openalex.org/W3104996510","doi":"https://doi.org/10.1109/scam51674.2020.00025","title":"Free the Bugs: Disclosing Blocking Violations in Reactive Programming","display_name":"Free the Bugs: Disclosing Blocking Violations in Reactive Programming","publication_year":2020,"publication_date":"2020-09-01","ids":{"openalex":"https://openalex.org/W3104996510","doi":"https://doi.org/10.1109/scam51674.2020.00025","mag":"3104996510"},"language":"en","primary_location":{"id":"doi:10.1109/scam51674.2020.00025","is_oa":false,"landing_page_url":"https://doi.org/10.1109/scam51674.2020.00025","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2020 IEEE 20th International Working Conference on Source Code Analysis and Manipulation (SCAM)","raw_type":"proceedings-article"},"type":"conference-paper","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/A5011853573","display_name":"Felix Dobslaw","orcid":"https://orcid.org/0000-0001-9372-3416"},"institutions":[{"id":"https://openalex.org/I56475706","display_name":"Mid Sweden University","ror":"https://ror.org/019k1pd13","country_code":"SE","type":"education","lineage":["https://openalex.org/I56475706"]}],"countries":["SE"],"is_corresponding":false,"raw_author_name":"Felix Dobslaw","raw_affiliation_strings":["Mid Sweden University, \u00d6stersund, Sweden"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Mid Sweden University, \u00d6stersund, Sweden","institution_ids":["https://openalex.org/I56475706"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5058235776","display_name":"Morgan Vallin","orcid":null},"institutions":[{"id":"https://openalex.org/I56475706","display_name":"Mid Sweden University","ror":"https://ror.org/019k1pd13","country_code":"SE","type":"education","lineage":["https://openalex.org/I56475706"]}],"countries":["SE"],"is_corresponding":false,"raw_author_name":"Morgan Vallin","raw_affiliation_strings":["Mid Sweden University, \u00d6stersund, Sweden"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Mid Sweden University, \u00d6stersund, Sweden","institution_ids":["https://openalex.org/I56475706"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5035841517","display_name":"Robin Sundstr\u00f6m","orcid":null},"institutions":[{"id":"https://openalex.org/I56475706","display_name":"Mid Sweden University","ror":"https://ror.org/019k1pd13","country_code":"SE","type":"education","lineage":["https://openalex.org/I56475706"]}],"countries":["SE"],"is_corresponding":false,"raw_author_name":"Robin Sundstrom","raw_affiliation_strings":["Mid Sweden University, \u00d6stersund, Sweden"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Mid Sweden University, \u00d6stersund, Sweden","institution_ids":["https://openalex.org/I56475706"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I56475706"],"apc_list":null,"apc_paid":null,"fwci":0.2342,"has_fulltext":false,"cited_by_count":3,"citation_normalized_percentile":{"value":0.41652789,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":95},"biblio":{"volume":null,"issue":null,"first_page":"177","last_page":"186"},"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.9995999932289124,"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.9995999932289124,"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/T12127","display_name":"Software System Performance and Reliability","score":0.9995999932289124,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9973999857902527,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8681968450546265},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.7381359338760376},{"id":"https://openalex.org/keywords/blocking","display_name":"Blocking (statistics)","score":0.6851518154144287},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.5507635474205017},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.501849889755249},{"id":"https://openalex.org/keywords/deadlock","display_name":"Deadlock","score":0.49469706416130066},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.47501811385154724},{"id":"https://openalex.org/keywords/concurrent-object-oriented-programming","display_name":"Concurrent object-oriented programming","score":0.4498358368873596},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.4269314110279083},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.34154391288757324},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.2692905366420746},{"id":"https://openalex.org/keywords/reactive-programming","display_name":"Reactive programming","score":0.26448747515678406},{"id":"https://openalex.org/keywords/computer-network","display_name":"Computer network","score":0.1287224292755127}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8681968450546265},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.7381359338760376},{"id":"https://openalex.org/C144745244","wikidata":"https://www.wikidata.org/wiki/Q4927286","display_name":"Blocking (statistics)","level":2,"score":0.6851518154144287},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.5507635474205017},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.501849889755249},{"id":"https://openalex.org/C159023740","wikidata":"https://www.wikidata.org/wiki/Q623276","display_name":"Deadlock","level":2,"score":0.49469706416130066},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.47501811385154724},{"id":"https://openalex.org/C3701939","wikidata":"https://www.wikidata.org/wiki/Q5159109","display_name":"Concurrent object-oriented programming","level":5,"score":0.4498358368873596},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.4269314110279083},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.34154391288757324},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.2692905366420746},{"id":"https://openalex.org/C150762246","wikidata":"https://www.wikidata.org/wiki/Q4354073","display_name":"Reactive programming","level":4,"score":0.26448747515678406},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.1287224292755127},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/scam51674.2020.00025","is_oa":false,"landing_page_url":"https://doi.org/10.1109/scam51674.2020.00025","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2020 IEEE 20th International Working Conference on Source Code Analysis and Manipulation (SCAM)","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.4000000059604645,"display_name":"Decent work and economic growth","id":"https://metadata.un.org/sdg/8"}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":37,"referenced_works":["https://openalex.org/W178326370","https://openalex.org/W867008410","https://openalex.org/W1591458180","https://openalex.org/W1697236905","https://openalex.org/W1973501242","https://openalex.org/W2004501180","https://openalex.org/W2078197548","https://openalex.org/W2082766667","https://openalex.org/W2105391037","https://openalex.org/W2111900492","https://openalex.org/W2122756728","https://openalex.org/W2132613390","https://openalex.org/W2132800423","https://openalex.org/W2137422315","https://openalex.org/W2148481016","https://openalex.org/W2149984854","https://openalex.org/W2170558780","https://openalex.org/W2440056063","https://openalex.org/W2473862413","https://openalex.org/W2539258153","https://openalex.org/W2546468634","https://openalex.org/W2604330940","https://openalex.org/W2729314777","https://openalex.org/W2767894675","https://openalex.org/W2774264260","https://openalex.org/W2930652247","https://openalex.org/W2963402283","https://openalex.org/W2979880065","https://openalex.org/W3010519285","https://openalex.org/W3102273185","https://openalex.org/W3104587488","https://openalex.org/W4230569261","https://openalex.org/W4233497262","https://openalex.org/W4248333643","https://openalex.org/W4248655060","https://openalex.org/W6607244175","https://openalex.org/W6635419144"],"related_works":["https://openalex.org/W2365256108","https://openalex.org/W2105060405","https://openalex.org/W2355319912","https://openalex.org/W2007551100","https://openalex.org/W2391570358","https://openalex.org/W2003908543","https://openalex.org/W4252341711","https://openalex.org/W1595842514","https://openalex.org/W2133348162","https://openalex.org/W4316252341"],"abstract_inverted_index":{"In":[0,133],"programming,":[1],"concurrency":[2,24,51,56,104],"allows":[3],"threads":[4],"to":[5,13,28,31,35,68,76,128,160,165,205],"share":[6],"processing":[7],"units":[8],"interleaving":[9],"and":[10,17,37,48,80,91,124,146,183,198,217],"seemingly":[11],"simultaneous":[12],"improve":[14],"resource":[15],"utilization":[16],"performance.":[18],"Previous":[19],"research":[20],"has":[21],"found":[22],"that":[23,115,187,235],"faults":[25,57,105],"are":[26,100,145,170],"hard":[27,30],"avoid,":[29],"find,":[32],"often":[33],"leading":[34],"undesired":[36],"unpredictable":[38],"behavior.":[39],"Further,":[40],"with":[41,106,214],"the":[42,89,121,158,195,238],"growing":[43],"availability":[44],"of":[45,50,140,223,240],"multi-core":[46],"devices":[47],"adaptation":[49],"features":[52],"in":[53,103,194,209,249],"high-level":[54],"languages,":[55],"occur":[58],"reportedly":[59],"often,":[60],"which":[61],"is":[62,112],"why":[63],"countermeasures":[64,234],"must":[65],"be":[66,227],"investigated":[67,168,211],"limit":[69],"harm.":[70],"Reactive":[71],"programming":[72],"provides":[73],"an":[74,138],"abstraction":[75],"simplify":[77],"complex":[78],"concurrent":[79],"asynchronous":[81],"tasks":[82],"through":[83,253],"reactive":[84,175],"language":[85],"extensions":[86],"such":[87,150],"as":[88,151,163,229],"RxJava":[90],"Project":[92],"Reactor":[93],"libraries":[94],"for":[95,202],"Java.":[96],"Still,":[97],"blocking":[98,118,126,143,207,241],"violations":[99,144,208],"possibly":[101],"resulting":[102],"no":[107],"Java":[108],"compiler":[109],"warnings.":[110],"BlockHound":[111,152,193],"a":[113,148],"tool":[114,149],"detects":[116],"incorrect":[117],"by":[119],"wrapping":[120],"original":[122],"code":[123],"intercepting":[125],"calls":[127,225],"provide":[129],"appropriate":[130],"runtime":[131],"errors.":[132],"this":[134],"study,":[135],"we":[136],"seek":[137],"understanding":[139],"how":[141],"common":[142,203],"whether":[147],"can":[153],"give":[154],"us":[155],"insight":[156],"into":[157],"root-causes":[159],"highlight":[161],"them":[162],"pitfalls":[164],"developers.":[166],"The":[167,243],"Softwares":[169],"Java-based":[171],"open-source":[172,212],"projects":[173,213,252],"using":[174],"frameworks":[176],"selected":[177],"based":[178],"on":[179],"high":[180,189],"star":[181],"ratings":[182],"large":[184],"fork":[185],"quantities":[186],"indicate":[188],"adoption.":[190],"We":[191,231],"activated":[192],"project's":[196],"test-suites":[197],"analyzed":[199],"log":[200],"files":[201],"patterns":[204],"reveal":[206],"7/29":[210],"5024":[215],"stars":[216],"1437":[218],"forks.":[219],"A":[220],"small":[221],"number":[222],"system":[224],"could":[226],"identified":[228],"root-causes.":[230],"here":[232],"present":[233],"successfully":[236],"removed":[237],"uncertainty":[239],"violations.":[242],"code's":[244],"intentional":[245],"logic":[246],"was":[247],"retained":[248],"all":[250],"validated":[251],"passing":[254],"unit-tests.":[255]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1},{"year":2022,"cited_by_count":1}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2025-10-10T00:00:00"}
