{"id":"https://openalex.org/W7133512018","doi":"https://doi.org/10.7717/peerj-cs.3642","title":"Pioneering agentic retrieval-augmented generation in software quality: a novel framework for code smell detection <i>via</i> dynamic retrieval","display_name":"Pioneering agentic retrieval-augmented generation in software quality: a novel framework for code smell detection <i>via</i> dynamic retrieval","publication_year":2026,"publication_date":"2026-03-04","ids":{"openalex":"https://openalex.org/W7133512018","doi":"https://doi.org/10.7717/peerj-cs.3642"},"language":"en","primary_location":{"id":"doi:10.7717/peerj-cs.3642","is_oa":true,"landing_page_url":"https://doi.org/10.7717/peerj-cs.3642","pdf_url":null,"source":{"id":"https://openalex.org/S4210178049","display_name":"PeerJ Computer Science","issn_l":"2376-5992","issn":["2376-5992"],"is_oa":true,"is_in_doaj":true,"is_core":true,"host_organization":"https://openalex.org/P4310320104","host_organization_name":"PeerJ, Inc.","host_organization_lineage":["https://openalex.org/P4310320104"],"host_organization_lineage_names":["PeerJ, Inc."],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"PeerJ Computer Science","raw_type":"journal-article"},"type":"article","indexed_in":["crossref","doaj"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://doi.org/10.7717/peerj-cs.3642","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5116930772","display_name":"Bushra Aljohani","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Bushra Aljohani","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"last","author":{"id":"https://openalex.org/A5030778155","display_name":"Abdulmajeed Aljuhani","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Abdulmajeed Aljuhani","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":{"value":1395,"currency":"USD","value_usd":1395},"apc_paid":{"value":1395,"currency":"USD","value_usd":1395},"fwci":26.3916,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.98767597,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":95,"max":97},"biblio":{"volume":"12","issue":null,"first_page":"e3642","last_page":"e3642"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9711999893188477,"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.9711999893188477,"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.004399999976158142,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.004100000020116568,"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/code-refactoring","display_name":"Code refactoring","score":0.7276999950408936},{"id":"https://openalex.org/keywords/heuristics","display_name":"Heuristics","score":0.5052000284194946},{"id":"https://openalex.org/keywords/code-smell","display_name":"Code smell","score":0.4814000129699707},{"id":"https://openalex.org/keywords/macro","display_name":"Macro","score":0.4609000086784363},{"id":"https://openalex.org/keywords/bridging","display_name":"Bridging (networking)","score":0.4542999863624573},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.40700000524520874},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.40230000019073486},{"id":"https://openalex.org/keywords/maintainability","display_name":"Maintainability","score":0.3736000061035156}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8165000081062317},{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.7276999950408936},{"id":"https://openalex.org/C127705205","wikidata":"https://www.wikidata.org/wiki/Q5748245","display_name":"Heuristics","level":2,"score":0.5052000284194946},{"id":"https://openalex.org/C133237599","wikidata":"https://www.wikidata.org/wiki/Q2295111","display_name":"Code smell","level":5,"score":0.4814000129699707},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.46549999713897705},{"id":"https://openalex.org/C166955791","wikidata":"https://www.wikidata.org/wiki/Q629579","display_name":"Macro","level":2,"score":0.4609000086784363},{"id":"https://openalex.org/C174348530","wikidata":"https://www.wikidata.org/wiki/Q188635","display_name":"Bridging (networking)","level":2,"score":0.4542999863624573},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.4341000020503998},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.40700000524520874},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.40230000019073486},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.39079999923706055},{"id":"https://openalex.org/C160713754","wikidata":"https://www.wikidata.org/wiki/Q1389965","display_name":"Maintainability","level":2,"score":0.3736000061035156},{"id":"https://openalex.org/C63479239","wikidata":"https://www.wikidata.org/wiki/Q7353546","display_name":"Robustness (evolution)","level":3,"score":0.3718999922275543},{"id":"https://openalex.org/C41608201","wikidata":"https://www.wikidata.org/wiki/Q980509","display_name":"Embedding","level":2,"score":0.36800000071525574},{"id":"https://openalex.org/C117447612","wikidata":"https://www.wikidata.org/wiki/Q1412670","display_name":"Software quality","level":4,"score":0.36090001463890076},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.34049999713897705},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3050000071525574},{"id":"https://openalex.org/C23123220","wikidata":"https://www.wikidata.org/wiki/Q816826","display_name":"Information retrieval","level":1,"score":0.29510000348091125},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.2939999997615814},{"id":"https://openalex.org/C76518257","wikidata":"https://www.wikidata.org/wiki/Q271680","display_name":"Software framework","level":5,"score":0.2883000075817108},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.2858999967575073},{"id":"https://openalex.org/C2779530757","wikidata":"https://www.wikidata.org/wiki/Q1207505","display_name":"Quality (philosophy)","level":2,"score":0.272599995136261},{"id":"https://openalex.org/C139143892","wikidata":"https://www.wikidata.org/wiki/Q7441615","display_name":"Search-based software engineering","level":5,"score":0.2712000012397766},{"id":"https://openalex.org/C149091818","wikidata":"https://www.wikidata.org/wiki/Q2429814","display_name":"Software system","level":3,"score":0.27079999446868896},{"id":"https://openalex.org/C107457646","wikidata":"https://www.wikidata.org/wiki/Q207434","display_name":"Human\u2013computer interaction","level":1,"score":0.2662999927997589},{"id":"https://openalex.org/C17305859","wikidata":"https://www.wikidata.org/wiki/Q382944","display_name":"Soar","level":2,"score":0.2535000145435333}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.7717/peerj-cs.3642","is_oa":true,"landing_page_url":"https://doi.org/10.7717/peerj-cs.3642","pdf_url":null,"source":{"id":"https://openalex.org/S4210178049","display_name":"PeerJ Computer Science","issn_l":"2376-5992","issn":["2376-5992"],"is_oa":true,"is_in_doaj":true,"is_core":true,"host_organization":"https://openalex.org/P4310320104","host_organization_name":"PeerJ, Inc.","host_organization_lineage":["https://openalex.org/P4310320104"],"host_organization_lineage_names":["PeerJ, Inc."],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"PeerJ Computer Science","raw_type":"journal-article"},{"id":"pmh:oai:doaj.org/article:73cf6d2f08394964b4f0977bd70fe065","is_oa":true,"landing_page_url":"https://doaj.org/article/73cf6d2f08394964b4f0977bd70fe065","pdf_url":null,"source":{"id":"https://openalex.org/S4306401280","display_name":"DOAJ (DOAJ: Directory of Open Access Journals)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-sa","license_id":"https://openalex.org/licenses/cc-by-sa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"PeerJ Computer Science, Vol 12, p e3642 (2026)","raw_type":"article"}],"best_oa_location":{"id":"doi:10.7717/peerj-cs.3642","is_oa":true,"landing_page_url":"https://doi.org/10.7717/peerj-cs.3642","pdf_url":null,"source":{"id":"https://openalex.org/S4210178049","display_name":"PeerJ Computer Science","issn_l":"2376-5992","issn":["2376-5992"],"is_oa":true,"is_in_doaj":true,"is_core":true,"host_organization":"https://openalex.org/P4310320104","host_organization_name":"PeerJ, Inc.","host_organization_lineage":["https://openalex.org/P4310320104"],"host_organization_lineage_names":["PeerJ, Inc."],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"PeerJ Computer Science","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":54,"referenced_works":["https://openalex.org/W2073792498","https://openalex.org/W2969368867","https://openalex.org/W2998214346","https://openalex.org/W2999309192","https://openalex.org/W3008088841","https://openalex.org/W3027879771","https://openalex.org/W3089663901","https://openalex.org/W3205028703","https://openalex.org/W3212375327","https://openalex.org/W4205117944","https://openalex.org/W4221005884","https://openalex.org/W4252076394","https://openalex.org/W4287689466","https://openalex.org/W4287887094","https://openalex.org/W4376505268","https://openalex.org/W4378696680","https://openalex.org/W4388536159","https://openalex.org/W4390843307","https://openalex.org/W4391824680","https://openalex.org/W4391940817","https://openalex.org/W4396820906","https://openalex.org/W4398146838","https://openalex.org/W4399288478","https://openalex.org/W4399370077","https://openalex.org/W4400642180","https://openalex.org/W4401422911","https://openalex.org/W4401595133","https://openalex.org/W4405211256","https://openalex.org/W4405626655","https://openalex.org/W4405663852","https://openalex.org/W4406265597","https://openalex.org/W4406523990","https://openalex.org/W4406542750","https://openalex.org/W4407037766","https://openalex.org/W4407231747","https://openalex.org/W4407244763","https://openalex.org/W4407566284","https://openalex.org/W4407580437","https://openalex.org/W4407759565","https://openalex.org/W4408324167","https://openalex.org/W4409318329","https://openalex.org/W4409628941","https://openalex.org/W4411173721","https://openalex.org/W4411975701","https://openalex.org/W4412030485","https://openalex.org/W4412363034","https://openalex.org/W4413679450","https://openalex.org/W4414634218","https://openalex.org/W4415160040","https://openalex.org/W4415234819","https://openalex.org/W4416891963","https://openalex.org/W4417170163","https://openalex.org/W4417351617","https://openalex.org/W6947638636"],"related_works":[],"abstract_inverted_index":{"Code":[0],"smells\u2014subtle":[1],"indicators":[2],"of":[3,42,75,159,165,191,197,248],"poor":[4,37],"design":[5],"choices\u2014pose":[6],"significant":[7],"challenges":[8],"to":[9,125,175],"software":[10,250],"maintainability":[11],"and":[12,27,40,52,88,101,122,127,131,148,161,193,208,230,240],"readability,":[13],"particularly":[14],"in":[15,49,78],"dynamic":[16,238],"languages":[17],"such":[18],"as":[19],"Python.":[20],"Traditional":[21],"detection":[22],"methods,":[23],"including":[24],"rule-based":[25],"heuristics":[26],"static":[28,111],"machine":[29],"learning":[30],"classifiers,":[31,112],"often":[32],"suffer":[33],"from":[34],"limited":[35],"adaptability,":[36],"contextual":[38,228],"awareness,":[39],"lack":[41],"explainability.":[43],"These":[44],"limitations":[45],"hinder":[46],"their":[47],"effectiveness":[48],"evolving":[50],"codebases":[51],"real-world":[53,219],"development":[54],"environments.":[55],"This":[56],"study":[57],"introduces":[58],"a":[59,156,162,188,194],"novel":[60],"Agentic":[61,142],"retrieval-augmented":[62],"generation":[63],"(Agentic":[64],"RAG)":[65],"framework":[66,115,174,244],"for":[67,218],"code":[68,178,226],"smell":[69,179],"detection,":[70],"marking":[71],"the":[72,86,91,113,173,205,216,246],"first":[73],"application":[74],"agentic":[76,241],"reasoning":[77,89],"this":[79,213,243],"domain.":[80],"By":[81,234],"embedding":[82],"autonomous":[83],"agents":[84],"into":[85,221],"retrieval":[87,99,118,239],"pipeline,":[90],"proposed":[92,114],"system":[93],"dynamically":[94],"routes":[95],"queries,":[96],"selects":[97],"optimal":[98],"strategies,":[100],"synthesizes":[102],"context-aware":[103],"explanations":[104],"using":[105],"large":[106],"language":[107],"models":[108],"(LLMs).":[109],"Unlike":[110],"leverages":[116],"hybrid":[117],"(sparse":[119],"+":[120],"dense)":[121],"structured":[123],"prompting":[124],"detect":[126],"explain":[128],"Long":[129],"Method":[130],"Large":[132],"Class":[133],"smells":[134],"with":[135,146,153,237],"high":[136],"interpretability.":[137],"Experimental":[138],"results":[139],"demonstrate":[140],"that":[141],"RAG\u2014particularly":[143],"when":[144],"paired":[145],"DeepSeek":[147],"chain-of-thought":[149],"prompting\u2014achieves":[150],"superior":[151],"performance,":[152],"89.5%":[154],"accuracy,":[155,187],"macro":[157,189],"F1-score":[158,190,196],"78.3%,":[160],"weighted":[163,195],"F1":[164],"88.7%.":[166],"To":[167],"assess":[168],"generalization,":[169],"Experiment":[170],"2":[171],"extended":[172],"21":[176],"distinct":[177],"types":[180],"across":[181],"multiple":[182],"programming":[183],"languages,":[184],"achieving":[185],"94.85%":[186],"90.24%,":[192],"94.93%":[198],"through":[199],"stratified":[200],"five-fold":[201],"cross-validation,":[202],"thereby":[203],"confirming":[204],"model\u2019s":[206],"robustness":[207],"scalability.":[209],"Beyond":[210],"academic":[211],"benchmarks,":[212],"work":[214],"lays":[215],"foundation":[217],"integration":[220],"developer":[222],"platforms,":[223],"enabling":[224],"real-time":[225],"review,":[227],"feedback,":[229],"actionable":[231],"refactoring":[232],"suggestions.":[233],"bridging":[235],"LLMs":[236],"reasoning,":[242],"advances":[245],"frontier":[247],"intelligent":[249],"quality":[251],"assurance.":[252]},"counts_by_year":[{"year":2026,"cited_by_count":1}],"updated_date":"2026-07-09T07:52:08.696243","created_date":"2026-03-05T00:00:00"}
