{"id":"https://openalex.org/W4411271082","doi":"https://doi.org/10.1109/msr66628.2025.00114","title":"PyExamine: A Comprehensive, Un-Opinionated Smell Detection Tool for Python","display_name":"PyExamine: A Comprehensive, Un-Opinionated Smell Detection Tool for Python","publication_year":2025,"publication_date":"2025-04-28","ids":{"openalex":"https://openalex.org/W4411271082","doi":"https://doi.org/10.1109/msr66628.2025.00114"},"language":"en","primary_location":{"id":"doi:10.1109/msr66628.2025.00114","is_oa":false,"landing_page_url":"https://doi.org/10.1109/msr66628.2025.00114","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2025 IEEE/ACM 22nd International Conference on Mining Software Repositories (MSR)","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5022351096","display_name":"Karthik Shivashankar","orcid":"https://orcid.org/0009-0001-8508-2978"},"institutions":[{"id":"https://openalex.org/I184942183","display_name":"University of Oslo","ror":"https://ror.org/01xtthb56","country_code":"NO","type":"education","lineage":["https://openalex.org/I184942183"]}],"countries":["NO"],"is_corresponding":true,"raw_author_name":"Karthik Shivashankar","raw_affiliation_strings":["University of Oslo,Department of Informatics,Norway"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Oslo,Department of Informatics,Norway","institution_ids":["https://openalex.org/I184942183"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5079314377","display_name":"Antonio Martini","orcid":"https://orcid.org/0000-0002-0669-8687"},"institutions":[{"id":"https://openalex.org/I184942183","display_name":"University of Oslo","ror":"https://ror.org/01xtthb56","country_code":"NO","type":"education","lineage":["https://openalex.org/I184942183"]}],"countries":["NO"],"is_corresponding":false,"raw_author_name":"Antonio Martini","raw_affiliation_strings":["University of Oslo,Department of Informatics,Norway"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Oslo,Department of Informatics,Norway","institution_ids":["https://openalex.org/I184942183"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5022351096"],"corresponding_institution_ids":["https://openalex.org/I184942183"],"apc_list":null,"apc_paid":null,"fwci":2.7507,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.90311015,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":96,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"763","last_page":"774"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9847999811172485,"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.9847999811172485,"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/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9833999872207642,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"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/T10702","display_name":"Insect and Arachnid Ecology and Behavior","score":0.9391000270843506,"subfield":{"id":"https://openalex.org/subfields/1311","display_name":"Genetics"},"field":{"id":"https://openalex.org/fields/13","display_name":"Biochemistry, Genetics and Molecular Biology"},"domain":{"id":"https://openalex.org/domains/1","display_name":"Life Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.8523643016815186},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7905818223953247},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.41158056259155273},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4110947251319885}],"concepts":[{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.8523643016815186},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7905818223953247},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.41158056259155273},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4110947251319885}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/msr66628.2025.00114","is_oa":false,"landing_page_url":"https://doi.org/10.1109/msr66628.2025.00114","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2025 IEEE/ACM 22nd International Conference on Mining Software Repositories (MSR)","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":30,"referenced_works":["https://openalex.org/W2027203221","https://openalex.org/W2139074146","https://openalex.org/W2149609149","https://openalex.org/W2153887189","https://openalex.org/W2158864412","https://openalex.org/W2159834252","https://openalex.org/W2310208102","https://openalex.org/W2563451044","https://openalex.org/W2597787215","https://openalex.org/W2715183888","https://openalex.org/W2756039569","https://openalex.org/W2780783514","https://openalex.org/W2787379525","https://openalex.org/W2889622999","https://openalex.org/W2941318293","https://openalex.org/W3089663901","https://openalex.org/W3090548885","https://openalex.org/W3101523611","https://openalex.org/W3111031598","https://openalex.org/W3145100113","https://openalex.org/W3195933726","https://openalex.org/W3209353953","https://openalex.org/W4226340964","https://openalex.org/W4252512533","https://openalex.org/W4312355141","https://openalex.org/W4376505268","https://openalex.org/W4378696680","https://openalex.org/W4380568669","https://openalex.org/W4383098141","https://openalex.org/W4388274252"],"related_works":["https://openalex.org/W4391375266","https://openalex.org/W2899084033","https://openalex.org/W2748952813","https://openalex.org/W2341492732","https://openalex.org/W3187193180","https://openalex.org/W106542691","https://openalex.org/W1699080303","https://openalex.org/W4297799326","https://openalex.org/W2207495067","https://openalex.org/W1906486629"],"abstract_inverted_index":{"The":[0,104],"growth":[1],"of":[2,60,67,91,100,110,170,190,193,211],"Python":[3,198],"adoption":[4],"across":[5,57,107,167,195],"diverse":[6,125,197],"domains":[7],"has":[8],"led":[9],"to":[10,24,39,51,117,163,179,186,204,232],"increasingly":[11],"complex":[12],"codebases,":[13],"presenting":[14],"challenges":[15],"in":[16,32],"maintaining":[17],"code":[18,52,68,111,171,235],"quality.":[19],"While":[20],"numerous":[21],"tools":[22],"attempt":[23],"address":[25],"these":[26,45],"challenges,":[27],"they":[28],"often":[29],"fall":[30],"short":[31],"providing":[33,95],"comprehensive":[34,212],"analysis":[35,90,187],"capabilities":[36],"or":[37],"fail":[38],"consider":[40],"Pythonspecific":[41],"contexts.":[42],"PyExamine":[43,62,127,185],"addresses":[44],"critical":[46],"limitations":[47],"through":[48,70,153],"an":[49,98],"approach":[50,84],"smell":[53],"detection":[54,88,129],"that":[55],"operates":[56],"multiple":[58],"levels":[59,109,169],"analysis.":[61],"architecture":[63],"enables":[64],"detailed":[65],"examination":[66],"quality":[69,236],"three":[71],"distinct":[72,93],"but":[73],"interconnected":[74],"layers:":[75],"architectural":[76,115,146],"patterns,":[77],"structural":[78,140],"relationships,":[79],"and":[80,89,142,157,216,228],"code-level":[81,135],"implementations.":[82],"This":[83],"allows":[85],"for":[86,134,139,145,224],"the":[87,188],"49":[92],"metrics,":[94],"developers":[96,227],"with":[97,173],"understanding":[99],"their":[101,234],"codebase\u2019s":[102],"health.":[103],"metrics":[105],"span":[106],"all":[108,168],"organization,":[112],"from":[113,201],"high-level":[114],"concerns":[116],"granular":[118],"implementation":[119],"details.":[120],"Through":[121],"evaluation":[122],"on":[123],"7":[124],"projects,":[126],"achieved":[128],"accuracy":[130],"rates:":[131],"$91.4":[132],"\\%$":[133,138,144],"smells,":[136,141,194],"$89.3":[137],"$80.6":[143],"smells.":[147],"These":[148],"results":[149],"were":[150],"further":[151],"validated":[152],"extensive":[154],"user":[155],"feedback":[156],"expert":[158],"evaluations,":[159],"confirming":[160],"PyExamine\u2019s":[161,208],"capability":[162],"identify":[164],"potential":[165],"issues":[166],"organization":[172],"high":[174,217],"recall":[175],"accuracy.":[176],"In":[177],"additional":[178],"this,":[180],"we":[181],"have":[182],"also":[183],"used":[184],"prevalence":[189],"different":[191],"type":[192],"183":[196],"projects":[199],"ranging":[200],"small":[202],"utilities":[203],"large-scale":[205],"enterprise":[206],"applications.":[207],"distinctive":[209],"combination":[210],"analysis,":[213],"Python-specific":[214],"detection,":[215],"customizability":[218],"makes":[219],"it":[220],"a":[221],"valuable":[222],"asset":[223],"both":[225],"individual":[226],"large":[229],"teams":[230],"seeking":[231],"enhance":[233],"practices.":[237]},"counts_by_year":[{"year":2026,"cited_by_count":1}],"updated_date":"2026-05-07T13:39:58.223016","created_date":"2025-10-10T00:00:00"}
