{"id":"https://openalex.org/W7133720761","doi":"https://doi.org/10.1016/j.scico.2026.103470","title":"Understanding warnings generated by PMD and SonarQube, their rules and compliance to established coding standards","display_name":"Understanding warnings generated by PMD and SonarQube, their rules and compliance to established coding standards","publication_year":2026,"publication_date":"2026-03-05","ids":{"openalex":"https://openalex.org/W7133720761","doi":"https://doi.org/10.1016/j.scico.2026.103470"},"language":"en","primary_location":{"id":"doi:10.1016/j.scico.2026.103470","is_oa":true,"landing_page_url":"https://doi.org/10.1016/j.scico.2026.103470","pdf_url":null,"source":{"id":"https://openalex.org/S21029587","display_name":"Science of Computer Programming","issn_l":"0167-6423","issn":["0167-6423","1872-7964"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320990","host_organization_name":"Elsevier BV","host_organization_lineage":["https://openalex.org/P4310320990"],"host_organization_lineage_names":["Elsevier BV"],"type":"journal"},"license":"cc-by-nc","license_id":"https://openalex.org/licenses/cc-by-nc","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Science of Computer Programming","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://doi.org/10.1016/j.scico.2026.103470","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5094350799","display_name":"Lakmal Deshapriya","orcid":null},"institutions":[{"id":"https://openalex.org/I80281795","display_name":"University of Otago","ror":"https://ror.org/01jmxt844","country_code":"NZ","type":"education","lineage":["https://openalex.org/I80281795"]}],"countries":["NZ"],"is_corresponding":true,"raw_author_name":"Lakmal Deshapriya","raw_affiliation_strings":["School of Computing, University of Otago, Dunedin, New Zealand"],"raw_orcid":"https://orcid.org/0009-0007-8870-2662","affiliations":[{"raw_affiliation_string":"School of Computing, University of Otago, Dunedin, New Zealand","institution_ids":["https://openalex.org/I80281795"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5011391821","display_name":"Sherlock A. Licorish","orcid":"https://orcid.org/0000-0001-7318-2421"},"institutions":[{"id":"https://openalex.org/I80281795","display_name":"University of Otago","ror":"https://ror.org/01jmxt844","country_code":"NZ","type":"education","lineage":["https://openalex.org/I80281795"]}],"countries":["NZ"],"is_corresponding":false,"raw_author_name":"Sherlock A. Licorish","raw_affiliation_strings":["School of Computing, University of Otago, Dunedin, New Zealand"],"raw_orcid":"https://orcid.org/0000-0001-7318-2421","affiliations":[{"raw_affiliation_string":"School of Computing, University of Otago, Dunedin, New Zealand","institution_ids":["https://openalex.org/I80281795"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5050029919","display_name":"Brendon J. Woodford","orcid":"https://orcid.org/0000-0001-5202-9700"},"institutions":[{"id":"https://openalex.org/I80281795","display_name":"University of Otago","ror":"https://ror.org/01jmxt844","country_code":"NZ","type":"education","lineage":["https://openalex.org/I80281795"]}],"countries":["NZ"],"is_corresponding":false,"raw_author_name":"Brendon J. Woodford","raw_affiliation_strings":["School of Computing, University of Otago, Dunedin, New Zealand"],"raw_orcid":"https://orcid.org/0000-0001-5202-9700","affiliations":[{"raw_affiliation_string":"School of Computing, University of Otago, Dunedin, New Zealand","institution_ids":["https://openalex.org/I80281795"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5094350799"],"corresponding_institution_ids":["https://openalex.org/I80281795"],"apc_list":{"value":2460,"currency":"USD","value_usd":2460},"apc_paid":{"value":2460,"currency":"USD","value_usd":2460},"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.18134011,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"252","issue":null,"first_page":"103470","last_page":"103470"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9713000059127808,"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.9713000059127808,"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/T10430","display_name":"Software Engineering Techniques and Practices","score":0.007799999788403511,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.003100000089034438,"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/coding","display_name":"Coding (social sciences)","score":0.757099986076355},{"id":"https://openalex.org/keywords/code-review","display_name":"Code review","score":0.5612999796867371},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5029000043869019},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.46549999713897705},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.42739999294281006},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.3797999918460846},{"id":"https://openalex.org/keywords/static-program-analysis","display_name":"Static program analysis","score":0.3752000033855438}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8880000114440918},{"id":"https://openalex.org/C179518139","wikidata":"https://www.wikidata.org/wiki/Q5140297","display_name":"Coding (social sciences)","level":2,"score":0.757099986076355},{"id":"https://openalex.org/C150292731","wikidata":"https://www.wikidata.org/wiki/Q1342704","display_name":"Code review","level":5,"score":0.5612999796867371},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5029000043869019},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.46549999713897705},{"id":"https://openalex.org/C124101348","wikidata":"https://www.wikidata.org/wiki/Q172491","display_name":"Data mining","level":1,"score":0.43549999594688416},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.42739999294281006},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.3912000060081482},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.3797999918460846},{"id":"https://openalex.org/C137287247","wikidata":"https://www.wikidata.org/wiki/Q1329550","display_name":"Static program analysis","level":4,"score":0.3752000033855438},{"id":"https://openalex.org/C51929080","wikidata":"https://www.wikidata.org/wiki/Q2425187","display_name":"Codebase","level":3,"score":0.36559998989105225},{"id":"https://openalex.org/C22680326","wikidata":"https://www.wikidata.org/wiki/Q7444867","display_name":"Secure coding","level":5,"score":0.351500004529953},{"id":"https://openalex.org/C199519371","wikidata":"https://www.wikidata.org/wiki/Q942695","display_name":"Source lines of code","level":3,"score":0.32030001282691956},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.29589998722076416},{"id":"https://openalex.org/C204323151","wikidata":"https://www.wikidata.org/wiki/Q905424","display_name":"Range (aeronautics)","level":2,"score":0.295199990272522},{"id":"https://openalex.org/C2781460075","wikidata":"https://www.wikidata.org/wiki/Q1399332","display_name":"Compliance (psychology)","level":2,"score":0.2759000062942505},{"id":"https://openalex.org/C2778565505","wikidata":"https://www.wikidata.org/wiki/Q2207566","display_name":"Spec#","level":2,"score":0.27149999141693115},{"id":"https://openalex.org/C2522767166","wikidata":"https://www.wikidata.org/wiki/Q2374463","display_name":"Data science","level":1,"score":0.26829999685287476},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.2529999911785126}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1016/j.scico.2026.103470","is_oa":true,"landing_page_url":"https://doi.org/10.1016/j.scico.2026.103470","pdf_url":null,"source":{"id":"https://openalex.org/S21029587","display_name":"Science of Computer Programming","issn_l":"0167-6423","issn":["0167-6423","1872-7964"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320990","host_organization_name":"Elsevier BV","host_organization_lineage":["https://openalex.org/P4310320990"],"host_organization_lineage_names":["Elsevier BV"],"type":"journal"},"license":"cc-by-nc","license_id":"https://openalex.org/licenses/cc-by-nc","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Science of Computer Programming","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1016/j.scico.2026.103470","is_oa":true,"landing_page_url":"https://doi.org/10.1016/j.scico.2026.103470","pdf_url":null,"source":{"id":"https://openalex.org/S21029587","display_name":"Science of Computer Programming","issn_l":"0167-6423","issn":["0167-6423","1872-7964"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320990","host_organization_name":"Elsevier BV","host_organization_lineage":["https://openalex.org/P4310320990"],"host_organization_lineage_names":["Elsevier BV"],"type":"journal"},"license":"cc-by-nc","license_id":"https://openalex.org/licenses/cc-by-nc","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Science of Computer Programming","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320310371","display_name":"University of Otago","ror":"https://ror.org/01jmxt844"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":24,"referenced_works":["https://openalex.org/W2025411198","https://openalex.org/W2053154970","https://openalex.org/W2075269190","https://openalex.org/W2087484885","https://openalex.org/W2096274199","https://openalex.org/W2120268999","https://openalex.org/W2164777277","https://openalex.org/W2791386202","https://openalex.org/W2964210007","https://openalex.org/W3040901374","https://openalex.org/W3193313841","https://openalex.org/W4200192508","https://openalex.org/W4220745595","https://openalex.org/W4283693443","https://openalex.org/W4285211649","https://openalex.org/W4285413858","https://openalex.org/W4295106697","https://openalex.org/W4310423035","https://openalex.org/W4313909309","https://openalex.org/W4323848238","https://openalex.org/W4394862968","https://openalex.org/W4399782414","https://openalex.org/W4400036927","https://openalex.org/W4407627994"],"related_works":[],"abstract_inverted_index":{"Static":[0],"Code":[1],"Analysis":[2],"(SCA)":[3],"tools":[4,32,130,144,216,234],"play":[5],"a":[6,184],"vital":[7],"role":[8],"in":[9,33,62,72,119,124,224],"software":[10],"development,":[11],"reducing":[12],"the":[13,30,34,64,92,143,158,207,221,239],"cost":[14],"and":[15,24,60,75,101,113,122,132,168,173,217,235],"time":[16],"required":[17],"for":[18,29,43,166],"code":[19,109,120],"reviews.":[20],"However,":[21,82],"high":[22],"false-positive":[23,126,139,208],"false-negative":[25],"rates":[26],"are":[27,55,97,161],"reported":[28],"best":[31],"community.":[35],"Accordingly,":[36],"studies":[37,84],"often":[38],"aim":[39],"to":[40,48,57,99,104,116,156,163,193,245],"develop":[41],"datasets":[42,54,89],"learning":[44,243],"SCA":[45,171,186],"warning":[46],"patterns":[47],"reduce":[49,206],"false":[50,73],"positive":[51],"results.":[52],"These":[53],"meant":[56],"possess":[58],"high-quality":[59],"high-volume":[61],"covering":[63],"full":[65],"range":[66],"of":[67,94,241],"faults/rules":[68],"that":[69,96,160,182,201],"typically":[70],"result":[71],"warnings":[74,127],"be":[76],"compliant":[77],"with":[78],"established":[79,148,174,203,218,223,236],"coding":[80,105,149],"standards.":[81,106,150,175,219],"existing":[83],"have":[85],"not":[86],"utilised":[87],"such":[88],"or":[90],"identified":[91],"breadth":[93],"rules":[95,159,172,187,200],"prone":[98,162],"false-positives":[100],"their":[102],"compliance":[103],"We":[107],"analysed":[108],"from":[110,128,142,191],"Stack":[111],"Overflow":[112],"Apache":[114],"Tomcat":[115],"capture":[117],"variations":[118],"length":[121],"style":[123],"detecting":[125],"best-performing":[129],"PMD":[131],"SonarQube,":[133],"addressing":[134],"this":[135,225],"gap.":[136],"In":[137],"deriving":[138],"warnings,":[140],"outcomes":[141],"were":[145,153],"labelled":[146],"using":[147],"Deeper":[151],"analyses":[152],"then":[154],"conducted":[155],"identify":[157],"false-positives,":[164,189],"reasons":[165],"these,":[167],"agreement/gaps":[169],"between":[170,215,233],"Among":[176],"our":[177,211],"main":[178],"outcomes,":[179],"we":[180,227],"observe":[181],"only":[183],"few":[185],"generate":[188],"ranging":[190],"4.64%":[192],"18.45%":[194],"across":[195],"four":[196],"datasets.":[197,248],"Additionally,":[198,210],"eliminating":[199],"contradict":[202],"standards":[204],"significantly":[205],"rate.":[209],"findings":[212],"reveal":[213],"discrepancies":[214],"Given":[220],"evidence":[222],"study,":[226],"recommend":[228],"further":[229],"investigations":[230],"into":[231],"gaps":[232],"standards,":[237],"including":[238],"use":[240],"machine":[242],"approaches":[244],"annotate":[246],"larger":[247]},"counts_by_year":[],"updated_date":"2026-03-24T05:59:24.953642","created_date":"2026-03-06T00:00:00"}
