{"id":"https://openalex.org/W2064432516","doi":"https://doi.org/10.1109/saner.2015.7081891","title":"Towards a framework for automatic correction of anti-patterns","display_name":"Towards a framework for automatic correction of anti-patterns","publication_year":2015,"publication_date":"2015-03-01","ids":{"openalex":"https://openalex.org/W2064432516","doi":"https://doi.org/10.1109/saner.2015.7081891","mag":"2064432516"},"language":"en","primary_location":{"id":"doi:10.1109/saner.2015.7081891","is_oa":false,"landing_page_url":"https://doi.org/10.1109/saner.2015.7081891","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER)","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/A5030400219","display_name":"Rodrigo Morales","orcid":"https://orcid.org/0000-0002-1350-0560"},"institutions":[{"id":"https://openalex.org/I45683168","display_name":"Polytechnique Montr\u00e9al","ror":"https://ror.org/05f8d4e86","country_code":"CA","type":"education","lineage":["https://openalex.org/I45683168"]}],"countries":["CA"],"is_corresponding":true,"raw_author_name":"Rodrigo Morales","raw_affiliation_strings":["SWAT, Polytechnique Montr\u00e9al, Canada","SWAT, Polytechnique, Montr\u00e9al, Canada#TAB#"],"affiliations":[{"raw_affiliation_string":"SWAT, Polytechnique Montr\u00e9al, Canada","institution_ids":["https://openalex.org/I45683168"]},{"raw_affiliation_string":"SWAT, Polytechnique, Montr\u00e9al, Canada#TAB#","institution_ids":["https://openalex.org/I45683168"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5030400219"],"corresponding_institution_ids":["https://openalex.org/I45683168"],"apc_list":null,"apc_paid":null,"fwci":2.3838,"has_fulltext":false,"cited_by_count":3,"citation_normalized_percentile":{"value":0.90923364,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"603","last_page":"604"},"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.9997000098228455,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9994999766349792,"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/code-refactoring","display_name":"Code refactoring","score":0.9466801881790161},{"id":"https://openalex.org/keywords/heuristics","display_name":"Heuristics","score":0.800165057182312},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7742393016815186},{"id":"https://openalex.org/keywords/task","display_name":"Task (project management)","score":0.5846415162086487},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.5652551651000977},{"id":"https://openalex.org/keywords/software-maintenance","display_name":"Software maintenance","score":0.564588725566864},{"id":"https://openalex.org/keywords/quality","display_name":"Quality (philosophy)","score":0.5636995434761047},{"id":"https://openalex.org/keywords/test-suite","display_name":"Test suite","score":0.559370219707489},{"id":"https://openalex.org/keywords/suite","display_name":"Suite","score":0.5089762210845947},{"id":"https://openalex.org/keywords/software-evolution","display_name":"Software evolution","score":0.49962925910949707},{"id":"https://openalex.org/keywords/software-quality","display_name":"Software quality","score":0.4817102551460266},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4486970901489258},{"id":"https://openalex.org/keywords/software-design-pattern","display_name":"Software design pattern","score":0.4401158094406128},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.3873899579048157},{"id":"https://openalex.org/keywords/test-case","display_name":"Test case","score":0.2607347369194031},{"id":"https://openalex.org/keywords/machine-learning","display_name":"Machine learning","score":0.25254568457603455},{"id":"https://openalex.org/keywords/software-construction","display_name":"Software construction","score":0.2474556863307953},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.2197452187538147},{"id":"https://openalex.org/keywords/systems-engineering","display_name":"Systems engineering","score":0.15000900626182556},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.12790608406066895}],"concepts":[{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.9466801881790161},{"id":"https://openalex.org/C127705205","wikidata":"https://www.wikidata.org/wiki/Q5748245","display_name":"Heuristics","level":2,"score":0.800165057182312},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7742393016815186},{"id":"https://openalex.org/C2780451532","wikidata":"https://www.wikidata.org/wiki/Q759676","display_name":"Task (project management)","level":2,"score":0.5846415162086487},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.5652551651000977},{"id":"https://openalex.org/C101317890","wikidata":"https://www.wikidata.org/wiki/Q940053","display_name":"Software maintenance","level":4,"score":0.564588725566864},{"id":"https://openalex.org/C2779530757","wikidata":"https://www.wikidata.org/wiki/Q1207505","display_name":"Quality (philosophy)","level":2,"score":0.5636995434761047},{"id":"https://openalex.org/C151552104","wikidata":"https://www.wikidata.org/wiki/Q7705809","display_name":"Test suite","level":4,"score":0.559370219707489},{"id":"https://openalex.org/C79581498","wikidata":"https://www.wikidata.org/wiki/Q1367530","display_name":"Suite","level":2,"score":0.5089762210845947},{"id":"https://openalex.org/C202105479","wikidata":"https://www.wikidata.org/wiki/Q265013","display_name":"Software evolution","level":5,"score":0.49962925910949707},{"id":"https://openalex.org/C117447612","wikidata":"https://www.wikidata.org/wiki/Q1412670","display_name":"Software quality","level":4,"score":0.4817102551460266},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4486970901489258},{"id":"https://openalex.org/C146054899","wikidata":"https://www.wikidata.org/wiki/Q181156","display_name":"Software design pattern","level":3,"score":0.4401158094406128},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.3873899579048157},{"id":"https://openalex.org/C128942645","wikidata":"https://www.wikidata.org/wiki/Q1568346","display_name":"Test case","level":3,"score":0.2607347369194031},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.25254568457603455},{"id":"https://openalex.org/C186846655","wikidata":"https://www.wikidata.org/wiki/Q3398377","display_name":"Software construction","level":4,"score":0.2474556863307953},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.2197452187538147},{"id":"https://openalex.org/C201995342","wikidata":"https://www.wikidata.org/wiki/Q682496","display_name":"Systems engineering","level":1,"score":0.15000900626182556},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.12790608406066895},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C95457728","wikidata":"https://www.wikidata.org/wiki/Q309","display_name":"History","level":0,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C152877465","wikidata":"https://www.wikidata.org/wiki/Q208042","display_name":"Regression analysis","level":2,"score":0.0},{"id":"https://openalex.org/C166957645","wikidata":"https://www.wikidata.org/wiki/Q23498","display_name":"Archaeology","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1109/saner.2015.7081891","is_oa":false,"landing_page_url":"https://doi.org/10.1109/saner.2015.7081891","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER)","raw_type":"proceedings-article"},{"id":"pmh:oai:publications.polymtl.ca:11033","is_oa":false,"landing_page_url":"https://publications.polymtl.ca/11033/","pdf_url":null,"source":{"id":"https://openalex.org/S4306401013","display_name":"PolyPublie (\u00c9cole Polytechnique de Montr\u00e9al)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I45683168","host_organization_name":"Polytechnique Montr\u00e9al","host_organization_lineage":["https://openalex.org/I45683168"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Communication de conf\u00e9rence"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":11,"referenced_works":["https://openalex.org/W1487083903","https://openalex.org/W1487664366","https://openalex.org/W1607888928","https://openalex.org/W1936022305","https://openalex.org/W1986136726","https://openalex.org/W2063156085","https://openalex.org/W2151295763","https://openalex.org/W2153887189","https://openalex.org/W2787379525","https://openalex.org/W4205523729","https://openalex.org/W6629007499"],"related_works":["https://openalex.org/W2186150085","https://openalex.org/W1498770298","https://openalex.org/W2605547445","https://openalex.org/W2010680342","https://openalex.org/W2069073539","https://openalex.org/W2104040631","https://openalex.org/W1985559452","https://openalex.org/W2027488246","https://openalex.org/W4385255161","https://openalex.org/W2116610783"],"abstract_inverted_index":{"One":[0,18],"of":[1,111],"the":[2,89,109],"biggest":[3],"concerns":[4],"in":[5],"software":[6,14],"maintenance":[7,15],"is":[8,24,64,102,121],"design":[9,12,22,34,144],"quality;":[10],"poor":[11,31],"hinders":[13],"and":[16,27,35,53,74],"evolution.":[17],"way":[19],"to":[20,25,33,46,61,87,91,99,135],"improve":[21],"quality":[23],"detect":[26,47],"correct":[28],"anti-patterns":[29,63],"(i.e.,":[30],"solutions":[32],"implementation":[36],"problems),":[37],"for":[38,124,139],"example":[39],"through":[40],"refactorings.":[41],"There":[42],"are":[43],"several":[44],"approaches":[45],"anti-patterns,":[48],"that":[49,126,142],"rely":[50],"on":[51,94],"metrics":[52],"structural":[54],"properties.":[55],"However,":[56],"finding":[57],"a":[58,65,95,112,115,122,137],"specific":[59],"solution":[60],"remove":[62,129],"challenging":[66],"task":[67],"as":[68],"candidate":[69],"refactorings":[70,90],"can":[71,107,127],"be":[72,92],"conflicting":[73],"their":[75],"number":[76],"very":[77],"large,":[78],"making":[79],"it":[80],"costly.":[81],"Hence,":[82],"development":[83],"teams":[84],"often":[85],"have":[86],"prioritize":[88],"applied":[93],"system.":[96],"In":[97],"addition":[98],"this,":[100],"refactoring":[101,141],"risky,":[103],"since":[104],"non-experienced":[105],"developers":[106],"change":[108],"behaviour":[110],"system,":[113],"without":[114],"comprehensive":[116],"test":[117],"suite.":[118],"Therefore,":[119],"there":[120],"need":[123],"tools":[125],"automatically":[128],"anti-patterns.":[130],"We":[131],"will":[132],"apply":[133],"meta-heuristics":[134],"propose":[136],"technique":[138],"automated":[140],"improves":[143],"quality.":[145]},"counts_by_year":[{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
