{"id":"https://openalex.org/W3109947077","doi":"https://doi.org/10.1145/3428221","title":"DiffStream: differential output testing for stream processing programs","display_name":"DiffStream: differential output testing for stream processing programs","publication_year":2020,"publication_date":"2020-11-13","ids":{"openalex":"https://openalex.org/W3109947077","doi":"https://doi.org/10.1145/3428221","mag":"3109947077"},"language":"en","primary_location":{"id":"doi:10.1145/3428221","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3428221","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3428221","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"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":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3428221","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5054940489","display_name":"\u039a\u03c9\u03bd\u03c3\u03c4\u03b1\u03bd\u03c4\u03af\u03bd\u03bf\u03c2 \u039a\u03b1\u03bb\u03bb\u03ac\u03c2","orcid":"https://orcid.org/0000-0002-8984-6648"},"institutions":[{"id":"https://openalex.org/I36788626","display_name":"California University of Pennsylvania","ror":"https://ror.org/01spssf70","country_code":"US","type":"education","lineage":["https://openalex.org/I36788626"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Konstantinos Kallas","raw_affiliation_strings":["University of Pennsylvania, USA"],"affiliations":[{"raw_affiliation_string":"University of Pennsylvania, USA","institution_ids":["https://openalex.org/I36788626"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5072101985","display_name":"Filip Niksic","orcid":null},"institutions":[{"id":"https://openalex.org/I36788626","display_name":"California University of Pennsylvania","ror":"https://ror.org/01spssf70","country_code":"US","type":"education","lineage":["https://openalex.org/I36788626"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Filip Niksic","raw_affiliation_strings":["University of Pennsylvania, USA"],"affiliations":[{"raw_affiliation_string":"University of Pennsylvania, USA","institution_ids":["https://openalex.org/I36788626"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5019472033","display_name":"Caleb Stanford","orcid":"https://orcid.org/0000-0002-8428-7736"},"institutions":[{"id":"https://openalex.org/I36788626","display_name":"California University of Pennsylvania","ror":"https://ror.org/01spssf70","country_code":"US","type":"education","lineage":["https://openalex.org/I36788626"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Caleb Stanford","raw_affiliation_strings":["University of Pennsylvania, USA"],"affiliations":[{"raw_affiliation_string":"University of Pennsylvania, USA","institution_ids":["https://openalex.org/I36788626"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5065059795","display_name":"Rajeev Alur","orcid":"https://orcid.org/0000-0003-1733-7083"},"institutions":[{"id":"https://openalex.org/I36788626","display_name":"California University of Pennsylvania","ror":"https://ror.org/01spssf70","country_code":"US","type":"education","lineage":["https://openalex.org/I36788626"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Rajeev Alur","raw_affiliation_strings":["University of Pennsylvania, USA"],"affiliations":[{"raw_affiliation_string":"University of Pennsylvania, USA","institution_ids":["https://openalex.org/I36788626"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5054940489"],"corresponding_institution_ids":["https://openalex.org/I36788626"],"apc_list":null,"apc_paid":null,"fwci":1.7797,"has_fulltext":true,"cited_by_count":16,"citation_normalized_percentile":{"value":0.86466838,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":98},"biblio":{"volume":"4","issue":"OOPSLA","first_page":"1","last_page":"29"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T12127","display_name":"Software System Performance and Reliability","score":0.9994999766349792,"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/T12127","display_name":"Software System Performance and Reliability","score":0.9994999766349792,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9994000196456909,"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.9994000196456909,"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.8863838911056519},{"id":"https://openalex.org/keywords/stream-processing","display_name":"Stream processing","score":0.5924481153488159},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.5433003902435303},{"id":"https://openalex.org/keywords/data-stream-mining","display_name":"Data stream mining","score":0.5402488708496094},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.5193070769309998},{"id":"https://openalex.org/keywords/equivalence","display_name":"Equivalence (formal languages)","score":0.5061172842979431},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.4762965738773346},{"id":"https://openalex.org/keywords/spark","display_name":"SPARK (programming language)","score":0.4658772647380829},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.4444769322872162},{"id":"https://openalex.org/keywords/just-in-time-compilation","display_name":"Just-in-time compilation","score":0.4337928891181946},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.42344197630882263},{"id":"https://openalex.org/keywords/execution-model","display_name":"Execution model","score":0.4141545295715332},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.40576258301734924},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.3385511040687561},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.3306434154510498},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.2157575786113739},{"id":"https://openalex.org/keywords/data-mining","display_name":"Data mining","score":0.14563456177711487}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8863838911056519},{"id":"https://openalex.org/C107027933","wikidata":"https://www.wikidata.org/wiki/Q2006448","display_name":"Stream processing","level":2,"score":0.5924481153488159},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.5433003902435303},{"id":"https://openalex.org/C89198739","wikidata":"https://www.wikidata.org/wiki/Q3079880","display_name":"Data stream mining","level":2,"score":0.5402488708496094},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.5193070769309998},{"id":"https://openalex.org/C2780069185","wikidata":"https://www.wikidata.org/wiki/Q7977945","display_name":"Equivalence (formal languages)","level":2,"score":0.5061172842979431},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.4762965738773346},{"id":"https://openalex.org/C2781215313","wikidata":"https://www.wikidata.org/wiki/Q3493345","display_name":"SPARK (programming language)","level":2,"score":0.4658772647380829},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.4444769322872162},{"id":"https://openalex.org/C76782552","wikidata":"https://www.wikidata.org/wiki/Q110546","display_name":"Just-in-time compilation","level":3,"score":0.4337928891181946},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.42344197630882263},{"id":"https://openalex.org/C2776834041","wikidata":"https://www.wikidata.org/wiki/Q25346349","display_name":"Execution model","level":2,"score":0.4141545295715332},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.40576258301734924},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3385511040687561},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.3306434154510498},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.2157575786113739},{"id":"https://openalex.org/C124101348","wikidata":"https://www.wikidata.org/wiki/Q172491","display_name":"Data mining","level":1,"score":0.14563456177711487},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3428221","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3428221","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3428221","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"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":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3428221","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3428221","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3428221","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"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":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G4234623774","display_name":null,"funder_award_id":"1763514","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G7121327367","display_name":null,"funder_award_id":"1763514","funder_id":"https://openalex.org/F4320322857","funder_display_name":"Aeronautical Science Foundation of China"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320322857","display_name":"Aeronautical Science Foundation of China","ror":"https://ror.org/02wq41p38"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3109947077.pdf","grobid_xml":"https://content.openalex.org/works/W3109947077.grobid-xml"},"referenced_works_count":59,"referenced_works":["https://openalex.org/W32942804","https://openalex.org/W1529497146","https://openalex.org/W1568192366","https://openalex.org/W1972544179","https://openalex.org/W1976821017","https://openalex.org/W1986463648","https://openalex.org/W1991069419","https://openalex.org/W1995701726","https://openalex.org/W2008078972","https://openalex.org/W2008503861","https://openalex.org/W2011974310","https://openalex.org/W2026401653","https://openalex.org/W2031348459","https://openalex.org/W2034256728","https://openalex.org/W2039676055","https://openalex.org/W2043055611","https://openalex.org/W2051184801","https://openalex.org/W2084294991","https://openalex.org/W2088727885","https://openalex.org/W2091158003","https://openalex.org/W2091776255","https://openalex.org/W2093709900","https://openalex.org/W2097146584","https://openalex.org/W2098456636","https://openalex.org/W2101623441","https://openalex.org/W2101939036","https://openalex.org/W2110862183","https://openalex.org/W2111836792","https://openalex.org/W2118962824","https://openalex.org/W2126354234","https://openalex.org/W2132353061","https://openalex.org/W2135395375","https://openalex.org/W2137650676","https://openalex.org/W2142812297","https://openalex.org/W2143725230","https://openalex.org/W2149074552","https://openalex.org/W2151497944","https://openalex.org/W2151704521","https://openalex.org/W2157814900","https://openalex.org/W2167814583","https://openalex.org/W2168206938","https://openalex.org/W2173213060","https://openalex.org/W2345428211","https://openalex.org/W2384569204","https://openalex.org/W2413344125","https://openalex.org/W2563167692","https://openalex.org/W2744104947","https://openalex.org/W2753910905","https://openalex.org/W2898333178","https://openalex.org/W2900869830","https://openalex.org/W2949965653","https://openalex.org/W2955965928","https://openalex.org/W3006516349","https://openalex.org/W3009455989","https://openalex.org/W4238083723","https://openalex.org/W4241197535","https://openalex.org/W4241316177","https://openalex.org/W4242010563","https://openalex.org/W4254901924"],"related_works":["https://openalex.org/W2564266326","https://openalex.org/W2767178487","https://openalex.org/W3044060397","https://openalex.org/W2082671441","https://openalex.org/W180351855","https://openalex.org/W2538312128","https://openalex.org/W2081014471","https://openalex.org/W3113817755","https://openalex.org/W2904574017","https://openalex.org/W2794178276"],"abstract_inverted_index":{"High":[0],"performance":[1,156,171],"architectures":[2],"for":[3,48,62,108,163],"processing":[4,65],"distributed":[5,63],"data":[6,93],"streams,":[7],"such":[8,28],"as":[9,117],"Flink,":[10],"Spark":[11],"Streaming,":[12],"and":[13,42,51,95,158],"Storm,":[14],"are":[15],"increasingly":[16],"deployed":[17],"in":[18,77,122,142],"emerging":[19],"data-driven":[20],"computing":[21],"systems.":[22],"Exploiting":[23],"the":[24,32,35,44,56,96,101,151],"parallelism":[25],"afforded":[26],"by":[27],"platforms,":[29],"while":[30],"preserving":[31],"semantics":[33],"of":[34,46,58,86,90,100,145,153,167],"desired":[36],"computation,":[37],"is":[38,103,115],"prone":[39],"to":[40,79,129,137],"errors,":[41],"motivates":[43],"development":[45,152],"tools":[47],"specification,":[49],"testing,":[50],"verification.":[52],"We":[53,124],"focus":[54],"on":[55],"problem":[57],"differential":[59],"output":[60,75],"testing":[61,113],"stream":[64],"systems,":[66],"that":[67],"is,":[68],"checking":[69,109],"whether":[70],"two":[71],"implementations":[72],"produce":[73],"equivalent":[74],"streams":[76],"response":[78],"a":[80,118,143,164],"given":[81],"input":[82],"stream.":[83],"The":[84],"notion":[85],"equivalence":[87],"allows":[88],"reordering":[89],"logically":[91],"independent":[92],"items,":[94],"main":[97],"technical":[98],"contribution":[99],"paper":[102],"an":[104,161],"optimal":[105],"online":[106],"algorithm":[107],"this":[110],"equivalence.":[111],"Our":[112],"framework":[114,133],"implemented":[116],"library":[119],"called":[120],"DiffStream":[121],"Flink.":[123],"present":[125],"four":[126],"case":[127],"studies":[128],"illustrate":[130],"how":[131],"our":[132],"can":[134],"be":[135],"used":[136],"(1)":[138],"correctly":[139],"identify":[140],"bugs":[141],"set":[144],"benchmark":[146],"MapReduce":[147],"programs,":[148],"(2)":[149],"facilitate":[150],"difficult-to-parallelize":[154],"high":[155],"applications,":[157],"(3)":[159],"monitor":[160],"application":[162],"long":[165],"period":[166],"time":[168],"with":[169],"minimal":[170],"overhead.":[172]},"counts_by_year":[{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":4},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":5}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
