{"id":"https://openalex.org/W3088620338","doi":"https://doi.org/10.1145/3387906.3388618","title":"Detecting bad smells with machine learning algorithms","display_name":"Detecting bad smells with machine learning algorithms","publication_year":2020,"publication_date":"2020-06-28","ids":{"openalex":"https://openalex.org/W3088620338","doi":"https://doi.org/10.1145/3387906.3388618","mag":"3088620338"},"language":"en","primary_location":{"id":"doi:10.1145/3387906.3388618","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3387906.3388618","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 3rd International Conference on Technical Debt","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/A5045500171","display_name":"Daniel Felipe Cruz","orcid":"https://orcid.org/0000-0003-3483-7258"},"institutions":[{"id":"https://openalex.org/I110200422","display_name":"Universidade Federal de Minas Gerais","ror":"https://ror.org/0176yjw32","country_code":"BR","type":"education","lineage":["https://openalex.org/I110200422"]}],"countries":["BR"],"is_corresponding":true,"raw_author_name":"Daniel Cruz","raw_affiliation_strings":["Federal University of Minas Gerais, Belo Horizonte, Brazil"],"affiliations":[{"raw_affiliation_string":"Federal University of Minas Gerais, Belo Horizonte, Brazil","institution_ids":["https://openalex.org/I110200422"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5036704079","display_name":"Amanda Santana","orcid":"https://orcid.org/0000-0003-1969-3460"},"institutions":[{"id":"https://openalex.org/I110200422","display_name":"Universidade Federal de Minas Gerais","ror":"https://ror.org/0176yjw32","country_code":"BR","type":"education","lineage":["https://openalex.org/I110200422"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Amanda Santana","raw_affiliation_strings":["Federal University of Minas Gerais, Belo Horizonte, Brazil"],"affiliations":[{"raw_affiliation_string":"Federal University of Minas Gerais, Belo Horizonte, Brazil","institution_ids":["https://openalex.org/I110200422"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5034625297","display_name":"Eduardo Figueiredo","orcid":"https://orcid.org/0000-0002-6004-2718"},"institutions":[{"id":"https://openalex.org/I110200422","display_name":"Universidade Federal de Minas Gerais","ror":"https://ror.org/0176yjw32","country_code":"BR","type":"education","lineage":["https://openalex.org/I110200422"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Eduardo Figueiredo","raw_affiliation_strings":["Federal University of Minas Gerais, Belo Horizonte, Brazil"],"affiliations":[{"raw_affiliation_string":"Federal University of Minas Gerais, Belo Horizonte, Brazil","institution_ids":["https://openalex.org/I110200422"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5045500171"],"corresponding_institution_ids":["https://openalex.org/I110200422"],"apc_list":null,"apc_paid":null,"fwci":4.0035,"has_fulltext":false,"cited_by_count":29,"citation_normalized_percentile":{"value":0.94683986,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"31","last_page":"40"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":1.0,"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":1.0,"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/T12423","display_name":"Software Reliability and Analysis Research","score":0.9987000226974487,"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/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9941999912261963,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/code-smell","display_name":"Code smell","score":0.9639738202095032},{"id":"https://openalex.org/keywords/machine-learning","display_name":"Machine learning","score":0.7851741313934326},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7484801411628723},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.6919504404067993},{"id":"https://openalex.org/keywords/code-refactoring","display_name":"Code refactoring","score":0.6800439953804016},{"id":"https://openalex.org/keywords/empirical-research","display_name":"Empirical research","score":0.4415126442909241},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.4350537657737732},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.41552406549453735},{"id":"https://openalex.org/keywords/technical-debt","display_name":"Technical debt","score":0.41210126876831055},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.3375064730644226},{"id":"https://openalex.org/keywords/software-quality","display_name":"Software quality","score":0.2759711742401123},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.18649330735206604},{"id":"https://openalex.org/keywords/computer-security","display_name":"Computer security","score":0.13584771752357483},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.10408470034599304}],"concepts":[{"id":"https://openalex.org/C133237599","wikidata":"https://www.wikidata.org/wiki/Q2295111","display_name":"Code smell","level":5,"score":0.9639738202095032},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.7851741313934326},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7484801411628723},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.6919504404067993},{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.6800439953804016},{"id":"https://openalex.org/C120936955","wikidata":"https://www.wikidata.org/wiki/Q2155640","display_name":"Empirical research","level":2,"score":0.4415126442909241},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.4350537657737732},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.41552406549453735},{"id":"https://openalex.org/C159198006","wikidata":"https://www.wikidata.org/wiki/Q1532172","display_name":"Technical debt","level":4,"score":0.41210126876831055},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.3375064730644226},{"id":"https://openalex.org/C117447612","wikidata":"https://www.wikidata.org/wiki/Q1412670","display_name":"Software quality","level":4,"score":0.2759711742401123},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.18649330735206604},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.13584771752357483},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.10408470034599304},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3387906.3388618","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3387906.3388618","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 3rd International Conference on Technical Debt","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":40,"referenced_works":["https://openalex.org/W1342665","https://openalex.org/W298212978","https://openalex.org/W1594031697","https://openalex.org/W1709483371","https://openalex.org/W1924689489","https://openalex.org/W1974189775","https://openalex.org/W1986136726","https://openalex.org/W1991172342","https://openalex.org/W2081917329","https://openalex.org/W2096929385","https://openalex.org/W2100925270","https://openalex.org/W2112081648","https://openalex.org/W2113322762","https://openalex.org/W2122111042","https://openalex.org/W2125055259","https://openalex.org/W2129888542","https://openalex.org/W2137659640","https://openalex.org/W2137983211","https://openalex.org/W2140964565","https://openalex.org/W2141069252","https://openalex.org/W2151295763","https://openalex.org/W2153887189","https://openalex.org/W2154776925","https://openalex.org/W2158864412","https://openalex.org/W2159730313","https://openalex.org/W2290314319","https://openalex.org/W2295598076","https://openalex.org/W2310208102","https://openalex.org/W2618851150","https://openalex.org/W2742512005","https://openalex.org/W2796404405","https://openalex.org/W2896744621","https://openalex.org/W2911964244","https://openalex.org/W2998991762","https://openalex.org/W3007590609","https://openalex.org/W3021836553","https://openalex.org/W3102476541","https://openalex.org/W3146803896","https://openalex.org/W4244561708","https://openalex.org/W4297957988"],"related_works":["https://openalex.org/W2780981476","https://openalex.org/W2088986462","https://openalex.org/W4221160381","https://openalex.org/W3166181464","https://openalex.org/W2955607951","https://openalex.org/W4226265053","https://openalex.org/W2946499381","https://openalex.org/W2187939805","https://openalex.org/W125071098","https://openalex.org/W4214834810"],"abstract_inverted_index":{"Bad":[0],"smells":[1,40],"are":[2,14],"symptoms":[3],"of":[4,16,20,30,38,94,107,116,120,128,131],"bad":[5,39,48,81,121,135,165,186],"design":[6,24],"choices":[7],"implemented":[8],"on":[9,89,113],"the":[10,17,58,90,114,129,144,151],"source":[11],"code.":[12],"They":[13],"one":[15],"key":[18],"indicators":[19],"technical":[21],"debts,":[22],"specifically,":[23],"debt.":[25],"To":[26],"manage":[27],"this":[28,101],"kind":[29],"debt,":[31],"it":[32],"is":[33],"important":[34],"to":[35,67,79],"be":[36],"aware":[37],"and":[41,52,62,92,170],"refactor":[42],"them":[43],"whenever":[44],"possible.":[45],"Therefore,":[46],"several":[47],"smell":[49,82,136],"detection":[50,137],"tools":[51,61],"techniques":[53,63],"have":[54,75],"been":[55,77],"proposed":[56,78],"over":[57],"years.":[59],"These":[60],"present":[64,104],"different":[65,109],"strategies":[66],"perform":[68],"detections.":[69],"More":[70],"recently,":[71],"machine":[72,96,110,154],"learning":[73,97,111,155],"algorithms":[74,112,156],"also":[76,124,176],"support":[80],"detection.":[83],"However,":[84],"we":[85,103],"lack":[86],"empirical":[87],"evidence":[88],"accuracy":[91],"efficiency":[93],"these":[95],"based":[98],"techniques.":[99],"In":[100],"paper,":[102],"an":[105,126],"evaluation":[106],"seven":[108],"task":[115],"detecting":[117,184],"four":[118],"types":[119],"smells.":[122],"We":[123,147,175],"provide":[125],"analysis":[127],"impact":[130],"software":[132],"metrics":[133,179],"for":[134,142,163,183],"using":[138],"a":[139],"unified":[140],"approach":[141],"interpreting":[143],"models'":[145],"decisions.":[146],"found":[148],"that":[149],"with":[150],"right":[152],"optimization,":[153],"can":[157],"achieve":[158],"good":[159],"performance":[160],"(F1":[161],"score)":[162],"two":[164],"smells:":[166],"God":[167],"Class":[168],"(0.86)":[169],"Refused":[171],"Parent":[172],"Bequest":[173],"(0.67).":[174],"uncovered":[177],"which":[178],"play":[180],"fundamental":[181],"roles":[182],"each":[185],"smell.":[187]},"counts_by_year":[{"year":2025,"cited_by_count":9},{"year":2024,"cited_by_count":5},{"year":2023,"cited_by_count":7},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":5},{"year":2020,"cited_by_count":2}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
