{"id":"https://openalex.org/W3205907790","doi":"https://doi.org/10.1145/3485542","title":"JavaDL: automatically incrementalizing Java bug pattern detection","display_name":"JavaDL: automatically incrementalizing Java bug pattern detection","publication_year":2021,"publication_date":"2021-10-15","ids":{"openalex":"https://openalex.org/W3205907790","doi":"https://doi.org/10.1145/3485542","mag":"3205907790"},"language":"en","primary_location":{"id":"doi:10.1145/3485542","doi":"https://doi.org/10.1145/3485542","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3485542","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3485542","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,"listed_in":["ccf-c","cwts-core","dongbi-b","jufo-1","norway-1","poland-20","russia-white-list-1","vabb-shw"],"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"volume":null,"type":"article","is_traditional":true,"indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3485542","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5006849724","display_name":"Alexandru Dura","orcid":"https://orcid.org/0000-0002-8420-390X","observed_orcids":["https://orcid.org/0000-0002-8420-390X"]},"institutions":[{"id":"https://openalex.org/I187531555","display_name":"Lund University","ror":"https://ror.org/012a77v79","country_code":"SE","type":"education","lineage":["https://openalex.org/I187531555"]}],"countries":["SE"],"is_corresponding":false,"raw_author_name":"Alexandru Dura","raw_affiliation_strings":["Lund University, Sweden"],"raw_orcid":"https://orcid.org/0000-0002-8420-390X","affiliations":[{"raw_affiliation_string":"Lund University, Sweden","institution_ids":["https://openalex.org/I187531555"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5019910161","display_name":"Christoph Reichenbach","orcid":"https://orcid.org/0000-0003-0608-7023","observed_orcids":["https://orcid.org/0000-0003-0608-7023"]},"institutions":[{"id":"https://openalex.org/I187531555","display_name":"Lund University","ror":"https://ror.org/012a77v79","country_code":"SE","type":"education","lineage":["https://openalex.org/I187531555"]}],"countries":["SE"],"is_corresponding":false,"raw_author_name":"Christoph Reichenbach","raw_affiliation_strings":["Lund University, Sweden"],"raw_orcid":"https://orcid.org/0000-0003-0608-7023","affiliations":[{"raw_affiliation_string":"Lund University, Sweden","institution_ids":["https://openalex.org/I187531555"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5001336269","display_name":"Emma S\u00f6derberg","orcid":"https://orcid.org/0000-0001-7966-4560","observed_orcids":["https://orcid.org/0000-0001-7966-4560"]},"institutions":[{"id":"https://openalex.org/I187531555","display_name":"Lund University","ror":"https://ror.org/012a77v79","country_code":"SE","type":"education","lineage":["https://openalex.org/I187531555"]}],"countries":["SE"],"is_corresponding":false,"raw_author_name":"Emma S\u00f6derberg","raw_affiliation_strings":["Lund University, Sweden"],"raw_orcid":"https://orcid.org/0000-0001-7966-4560","affiliations":[{"raw_affiliation_string":"Lund University, Sweden","institution_ids":["https://openalex.org/I187531555"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I187531555"],"apc_list":null,"apc_paid":null,"fwci":1.5375,"has_fulltext":true,"cited_by_count":14,"citation_normalized_percentile":{"value":0.85036152,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":88,"max":98},"biblio":{"volume":"5","issue":"OOPSLA","first_page":"1","last_page":"31"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.6220999956130981,"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":0.6220999956130981,"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/T10260","display_name":"Software Engineering Research","score":0.28519999980926514,"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/T10126","display_name":"Logic, programming, and type systems","score":0.0820000022649765,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/datalog","display_name":"Datalog","score":0.781000018119812},{"id":"https://openalex.org/keywords/declarative-specification-language","display_name":"declarative specification language","score":0.8029999732971191},{"id":"https://openalex.org/keywords/incremental-analysis","display_name":"incremental analysis","score":0.828000009059906},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.4729999899864197},{"id":"https://openalex.org/keywords/spotbugs","display_name":"SpotBugs","score":0.722000002861023},{"id":"https://openalex.org/keywords/defects4j","display_name":"Defects4J","score":0.984000027179718}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8732545375823975},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7143134474754333},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6681932210922241},{"id":"https://openalex.org/C148230440","wikidata":"https://www.wikidata.org/wiki/Q1172264","display_name":"Datalog","level":2,"score":0.6547709703445435},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.5978662967681885},{"id":"https://openalex.org/C79581498","wikidata":"https://www.wikidata.org/wiki/Q1367530","display_name":"Suite","level":2,"score":0.4672379791736603},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4565041661262512},{"id":"https://openalex.org/C94915269","wikidata":"https://www.wikidata.org/wiki/Q1834857","display_name":"Detector","level":2,"score":0.44393423199653625},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.4167361557483673},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.1841334104537964},{"id":"https://openalex.org/C95457728","wikidata":"https://www.wikidata.org/wiki/Q309","display_name":"History","level":0,"score":0.0},{"id":"https://openalex.org/C166957645","wikidata":"https://www.wikidata.org/wiki/Q23498","display_name":"Archaeology","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},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0},{"id":"https://openalex.org/C76155785","wikidata":"https://www.wikidata.org/wiki/Q418","display_name":"Telecommunications","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3485542","doi":"https://doi.org/10.1145/3485542","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3485542","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3485542","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,"listed_in":["ccf-c","cwts-core","dongbi-b","jufo-1","norway-1","poland-20","russia-white-list-1","vabb-shw"],"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:lup.lub.lu.se:c4a4f962-16d5-4494-8d4f-19f87402c13f","doi":null,"is_oa":false,"landing_page_url":"https://lup.lub.lu.se/record/c4a4f962-16d5-4494-8d4f-19f87402c13f","pdf_url":null,"source":{"id":"https://openalex.org/S4306400536","display_name":"Lund University Publications (Lund University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I187531555","host_organization_name":"Lund University","host_organization_lineage":["https://openalex.org/I187531555"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"ISSN: 2475-1421","raw_type":"info:eu-repo/semantics/article"}],"best_oa_location":{"id":"doi:10.1145/3485542","doi":"https://doi.org/10.1145/3485542","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3485542","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3485542","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,"listed_in":["ccf-c","cwts-core","dongbi-b","jufo-1","norway-1","poland-20","russia-white-list-1","vabb-shw"],"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","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":[],"study_designs":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320321806","display_name":"Lunds Universitet","ror":"https://ror.org/012a77v79"},{"id":"https://openalex.org/F4320322327","display_name":"Knut och Alice Wallenbergs Stiftelse","ror":"https://ror.org/004hzzk67"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3205907790.pdf","grobid_xml":"https://content.openalex.org/works/W3205907790.grobid-xml"},"referenced_works_count":68,"referenced_works":["https://openalex.org/W777621473","https://openalex.org/W1515080612","https://openalex.org/W1551608458","https://openalex.org/W1582979556","https://openalex.org/W1584814208","https://openalex.org/W1589289166","https://openalex.org/W1625533892","https://openalex.org/W1719385339","https://openalex.org/W1872365633","https://openalex.org/W1962482270","https://openalex.org/W1964071625","https://openalex.org/W1989657183","https://openalex.org/W1990727091","https://openalex.org/W1997104165","https://openalex.org/W2018009728","https://openalex.org/W2023878728","https://openalex.org/W2026794345","https://openalex.org/W2040019628","https://openalex.org/W2080573945","https://openalex.org/W2080696000","https://openalex.org/W2083836378","https://openalex.org/W2086464170","https://openalex.org/W2109853339","https://openalex.org/W2113908489","https://openalex.org/W2118300983","https://openalex.org/W2133743839","https://openalex.org/W2134429122","https://openalex.org/W2135233439","https://openalex.org/W2136503680","https://openalex.org/W2137628566","https://openalex.org/W2138500137","https://openalex.org/W2139875914","https://openalex.org/W2151298976","https://openalex.org/W2156723666","https://openalex.org/W2165876984","https://openalex.org/W2167363133","https://openalex.org/W2167685423","https://openalex.org/W2299299451","https://openalex.org/W2511015845","https://openalex.org/W2519392667","https://openalex.org/W2763230528","https://openalex.org/W2766242537","https://openalex.org/W2798352717","https://openalex.org/W2819053400","https://openalex.org/W2888223970","https://openalex.org/W2898152370","https://openalex.org/W2898476917","https://openalex.org/W2940960788","https://openalex.org/W2953162524","https://openalex.org/W2954738632","https://openalex.org/W2955734379","https://openalex.org/W2962823786","https://openalex.org/W2990685757","https://openalex.org/W3001351914","https://openalex.org/W3005050519","https://openalex.org/W3013281674","https://openalex.org/W3021830120","https://openalex.org/W3092633866","https://openalex.org/W3127747493","https://openalex.org/W3136451526","https://openalex.org/W3216328947","https://openalex.org/W4230201548","https://openalex.org/W4241344291","https://openalex.org/W4244726870","https://openalex.org/W4247889999","https://openalex.org/W4254666025","https://openalex.org/W4255945201","https://openalex.org/W6893847193"],"related_works":["https://openalex.org/W7066063793","https://openalex.org/W7095770987","https://openalex.org/W2087527532","https://openalex.org/W7038156265","https://openalex.org/W2525657807","https://openalex.org/W4256147943","https://openalex.org/W2141790816","https://openalex.org/W2170558780","https://openalex.org/W2154499435","https://openalex.org/W2253298909"],"abstract_inverted_index":{"Static":[0],"checker":[1,221],"frameworks":[2,16,38,222],"support":[3],"software":[4],"developers":[5,27,119],"by":[6,152],"automatically":[7],"discovering":[8],"bugs":[9,173],"that":[10,162,212,223],"fit":[11],"general-purpose":[12],"bug":[13,97,226],"patterns.":[14],"These":[15,58],"ship":[17],"with":[18,45,68,181],"hundreds":[19],"of":[20,48,155,202,218],"detectors":[21,31,41,83,157],"for":[22,32,78,96],"such":[23],"patterns":[24],"and":[25,63,65,108,130,148,168,179,236],"allow":[26],"to":[28,52,72,80,120,205,230,234],"add":[29],"custom":[30],"their":[33,156],"own":[34],"projects.":[35],"However,":[36],"existing":[37],"generally":[39],"encode":[40],"in":[42,100,158],"imperative":[43],"specifications,":[44],"extensive":[46],"details":[47,59],"not":[49],"only":[50],"what":[51],"detect":[53],"but":[54],"also":[55,66],"how":[56,74],".":[57,139],"complicate":[60],"detector":[61,114,123,227],"maintenance":[62],"evolution,":[64],"interfere":[67],"the":[69,82,112,145,175,196,200,216,225,232,238],"framework\u2019s":[70],"ability":[71,204],"change":[73],"detection":[75,99],"is":[76],"done,":[77],"instance,":[79],"make":[81],"incremental.":[84],"In":[85,185],"this":[86],"paper,":[87],"we":[88],"present":[89],"JavaDL,":[90],"a":[91],"Datalog-based":[92],"declarative":[93],"specification":[94,117,228],"language":[95,229],"pattern":[98,127],"Java":[101],"code.":[102],"JavaDL":[103],"seamlessly":[104],"supports":[105],"both":[106],"exhaustive":[107,191],"incremental":[109,189],"evaluation":[110],"from":[111],"same":[113],"specification.":[115],"This":[116],"allows":[118],"describe":[121],"local":[122],"components":[124],"via":[125,135],"syntactic":[126],"matching":[128],",":[129],"nonlocal":[131],"(e.g.,":[132],"interprocedural)":[133],"reasoning":[134],"Datalog-style":[136],"logical":[137],"rules":[138],"We":[140,160,210],"compare":[141],"our":[142,163,186,203,213],"approach":[143,214],"against":[144],"well-established":[146],"SpotBugs":[147],"Error":[149],"Prone":[150],"tools":[151],"re-implementing":[153],"several":[154],"JavaDL.":[159],"find":[161],"implementations":[164],"are":[165],"substantially":[166],"smaller":[167],"similarly":[169],"effective":[170],"at":[171],"detecting":[172],"on":[174],"Defects4J":[176],"benchmark":[177],"suite,":[178],"run":[180],"competitive":[182],"runtime":[183],"performance.":[184],"experiments,":[187],"neither":[188],"nor":[190],"analysis":[192],"can":[193],"consistently":[194],"outperform":[195],"other,":[197],"which":[198],"highlights":[199],"value":[201],"transparently":[206],"switch":[207],"execution":[208],"modes.":[209],"argue":[211],"showcases":[215],"potential":[217],"clear-box":[219],"static":[220],"constrain":[224],"enable":[231],"framework":[233],"adapt":[235],"enhance":[237],"detectors.":[239]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":5},{"year":2024,"cited_by_count":5},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1}],"updated_date":"2026-11-07T11:25:07.637180","created_date":"2021-10-25T00:00:00"}
