{"id":"https://openalex.org/W3179148751","doi":"https://doi.org/10.1145/3460319.3464796","title":"Finding data compatibility bugs with JSON subschema checking","display_name":"Finding data compatibility bugs with JSON subschema checking","publication_year":2021,"publication_date":"2021-07-08","ids":{"openalex":"https://openalex.org/W3179148751","doi":"https://doi.org/10.1145/3460319.3464796","mag":"3179148751"},"language":"en","primary_location":{"id":"doi:10.1145/3460319.3464796","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3460319.3464796","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3460319.3464796","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3460319.3464796","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5025656553","display_name":"Andrew Habib","orcid":"https://orcid.org/0000-0002-5857-1864"},"institutions":[{"id":"https://openalex.org/I186903577","display_name":"University of Luxembourg","ror":"https://ror.org/036x5ad56","country_code":"LU","type":"education","lineage":["https://openalex.org/I186903577"]}],"countries":["LU"],"is_corresponding":false,"raw_author_name":"Andrew Habib","raw_affiliation_strings":["University of Luxembourg, Luxembourg"],"raw_orcid":"https://orcid.org/0000-0002-5857-1864","affiliations":[{"raw_affiliation_string":"University of Luxembourg, Luxembourg","institution_ids":["https://openalex.org/I186903577"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5079889502","display_name":"Avraham Shinnar","orcid":"https://orcid.org/0000-0001-6259-0016"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Avraham Shinnar","raw_affiliation_strings":["IBM Research, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"IBM Research, USA","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5079080602","display_name":"Martin Hirzel","orcid":"https://orcid.org/0009-0006-8840-6065"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Martin Hirzel","raw_affiliation_strings":["IBM Research, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"IBM Research, USA","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5013438083","display_name":"Michael Pradel","orcid":"https://orcid.org/0000-0003-1623-498X"},"institutions":[{"id":"https://openalex.org/I100066346","display_name":"University of Stuttgart","ror":"https://ror.org/04vnq7t77","country_code":"DE","type":"education","lineage":["https://openalex.org/I100066346"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Michael Pradel","raw_affiliation_strings":["University of Stuttgart, Germany"],"raw_orcid":"https://orcid.org/0000-0003-1623-498X","affiliations":[{"raw_affiliation_string":"University of Stuttgart, Germany","institution_ids":["https://openalex.org/I100066346"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":2.845,"has_fulltext":true,"cited_by_count":16,"citation_normalized_percentile":{"value":0.91913754,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"620","last_page":"632"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9976000189781189,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/T10260","display_name":"Software Engineering Research","score":0.9976000189781189,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/T12479","display_name":"Web Application Security Vulnerabilities","score":0.9957000017166138,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/T11719","display_name":"Data Quality and Management","score":0.9939000010490417,"subfield":{"id":"https://openalex.org/subfields/1803","display_name":"Management Science and Operations Research"},"field":{"id":"https://openalex.org/fields/18","display_name":"Decision Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/json","display_name":"JSON","score":0.9558413028717041},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8287366628646851},{"id":"https://openalex.org/keywords/validator","display_name":"Validator","score":0.7350484728813171},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6456895470619202},{"id":"https://openalex.org/keywords/schema","display_name":"Schema (genetic algorithms)","score":0.5568370819091797},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.35987699031829834},{"id":"https://openalex.org/keywords/information-retrieval","display_name":"Information retrieval","score":0.30359935760498047},{"id":"https://openalex.org/keywords/world-wide-web","display_name":"World Wide Web","score":0.2387092411518097}],"concepts":[{"id":"https://openalex.org/C2780416260","wikidata":"https://www.wikidata.org/wiki/Q2063","display_name":"JSON","level":2,"score":0.9558413028717041},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8287366628646851},{"id":"https://openalex.org/C35292069","wikidata":"https://www.wikidata.org/wiki/Q1575458","display_name":"Validator","level":2,"score":0.7350484728813171},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6456895470619202},{"id":"https://openalex.org/C52146309","wikidata":"https://www.wikidata.org/wiki/Q7431116","display_name":"Schema (genetic algorithms)","level":2,"score":0.5568370819091797},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.35987699031829834},{"id":"https://openalex.org/C23123220","wikidata":"https://www.wikidata.org/wiki/Q816826","display_name":"Information retrieval","level":1,"score":0.30359935760498047},{"id":"https://openalex.org/C136764020","wikidata":"https://www.wikidata.org/wiki/Q466","display_name":"World Wide Web","level":1,"score":0.2387092411518097}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3460319.3464796","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3460319.3464796","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3460319.3464796","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis","raw_type":"proceedings-article"},{"id":"pmh:oai:orbilu.uni.lu:10993/50268","is_oa":true,"landing_page_url":"http://orbilu.uni.lu/handle/10993/50268","pdf_url":null,"source":{"id":"https://openalex.org/S4306401815","display_name":"Open Repository and Bibliography (University of Luxembourg)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I186903577","host_organization_name":"University of Luxembourg","host_organization_lineage":["https://openalex.org/I186903577"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-sa","license_id":"https://openalex.org/licenses/cc-by-nc-sa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"The 30th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA), 620-632 (2021-07-11); The 30th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA), Virtual, Denmark [DK], July 11 - 17, 2021","raw_type":"peer reviewed"}],"best_oa_location":{"id":"doi:10.1145/3460319.3464796","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3460319.3464796","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3460319.3464796","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320320879","display_name":"Deutsche Forschungsgemeinschaft","ror":"https://ror.org/018mejw64"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3179148751.pdf","grobid_xml":"https://content.openalex.org/works/W3179148751.grobid-xml"},"referenced_works_count":23,"referenced_works":["https://openalex.org/W111098712","https://openalex.org/W1966814918","https://openalex.org/W2034456784","https://openalex.org/W2048733335","https://openalex.org/W2075994573","https://openalex.org/W2082933645","https://openalex.org/W2083882002","https://openalex.org/W2099281706","https://openalex.org/W2107489791","https://openalex.org/W2122493035","https://openalex.org/W2123727486","https://openalex.org/W2157821258","https://openalex.org/W2301701198","https://openalex.org/W2341844252","https://openalex.org/W2574472735","https://openalex.org/W2579591092","https://openalex.org/W2743948853","https://openalex.org/W2751338424","https://openalex.org/W2889249015","https://openalex.org/W2892508438","https://openalex.org/W2911692446","https://openalex.org/W2990548832","https://openalex.org/W3109537811"],"related_works":["https://openalex.org/W3088950643","https://openalex.org/W2385158182","https://openalex.org/W3007769775","https://openalex.org/W3092059530","https://openalex.org/W2166247150","https://openalex.org/W4243252198","https://openalex.org/W277005521","https://openalex.org/W2118300983","https://openalex.org/W2112962394","https://openalex.org/W3137189469"],"abstract_inverted_index":{"JSON":[0,22,33,110,119,162,173,278],"is":[1,24,121,164,169,177,186,232,244],"a":[2,32,37,76,88,98,103,130,139,150,165],"data":[3,23,41,53,61,106,120,127,283],"format":[4],"used":[5],"pervasively":[6],"in":[7,266],"web":[8,77],"APIs,":[9],"cloud":[10],"computing,":[11],"NoSQL":[12],"databases,":[13],"and":[14,35,123,196,199,241],"increasingly":[15],"also":[16],"machine":[17,89,151],"learning.":[18],"To":[19],"ensure":[20],"that":[21,277],"compatible":[25],"with":[26],"an":[27,56,237],"application,":[28],"one":[29,134,161],"can":[30,48,135],"define":[31],"schema":[34,74,140,163,209,249],"use":[36],"validator":[38],"to":[39,182,187,200,219],"check":[40,136],"against":[42],"the":[43,73,172,190,204,230,245,255,259],"schema.":[44,131],"However,":[45],"because":[46,171],"validation":[47],"happen":[49],"only":[50],"once":[51],"concrete":[52,118],"occurs":[54],"during":[55],"execution,":[57],"it":[58,235],"may":[59,80],"detect":[60],"compatibility":[62,107,284],"bugs":[63,108,116,265,285],"too":[64],"late":[65],"or":[66,85,145],"not":[67],"at":[68],"all.":[69],"Examples":[70],"include":[71],"evolving":[72,138],"for":[75,247],"API,":[78],"which":[79,243,271],"unexpectedly":[81],"break":[82,142],"client":[83],"applications,":[84],"accidentally":[86],"running":[87],"learning":[90,152],"pipeline":[91,153],"on":[92,207],"incorrect":[93],"data.":[94,158],"This":[95],"paper":[96],"presents":[97],"novel":[99],"way":[100],"of":[101,105,149,167,192,221,270],"detecting":[102],"class":[104],"via":[109],"subschema":[111,166,205,217,279],"checking.":[112],"Subschema":[113],"checks":[114],"find":[115],"before":[117],"available":[122],"across":[124],"all":[125,228],"possible":[126],"specified":[128],"by":[129,194],"For":[132],"example,":[133],"if":[137,146],"would":[141],"API":[143],"clients":[144],"two":[147],"components":[148],"have":[154,272],"incompatible":[155],"expectations":[156],"about":[157,203],"Deciding":[159],"whether":[160],"another":[168],"non-trivial":[170],"Schema":[174],"specification":[175],"language":[176],"rich.":[178],"Our":[179],"key":[180],"insight":[181],"address":[183],"this":[184],"challenge":[185],"first":[188],"reduce":[189],"richness":[191],"schemas":[193,223],"canonicalizing":[195],"simplifying":[197],"them,":[198],"then":[201],"reason":[202],"question":[206],"simpler":[208],"fragments":[210],"using":[211],"type-specific":[212],"checkers.":[213],"We":[214],"apply":[215],"our":[216],"checker":[218],"thousands":[220],"real-world":[222],"from":[224],"different":[225],"domains.":[226],"In":[227],"experiments,":[229],"approach":[231,260],"correct":[233],"whenever":[234],"gives":[236],"answer":[238],"(100%":[239],"precision":[240],"correctness),":[242],"case":[246],"most":[248,269],"pairs":[250],"(93.5%":[251],"recall),":[252],"clearly":[253],"outperforming":[254],"state-of-the-art":[256],"tool.":[257],"Moreover,":[258],"reveals":[261],"43":[262],"previously":[263],"unknown":[264],"popular":[267],"software,":[268],"already":[273],"been":[274],"fixed,":[275],"showing":[276],"checking":[280],"helps":[281],"finding":[282],"early.":[286]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":5},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":3},{"year":2021,"cited_by_count":4}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
