{"id":"https://openalex.org/W2597787215","doi":"https://doi.org/10.22152/programming-journal.org/2017/1/11","title":"Does Python Smell Like Java? Tool Support for Design Defect Discovery in Python","display_name":"Does Python Smell Like Java? Tool Support for Design Defect Discovery in Python","publication_year":2017,"publication_date":"2017-04-01","ids":{"openalex":"https://openalex.org/W2597787215","doi":"https://doi.org/10.22152/programming-journal.org/2017/1/11","mag":"2597787215"},"language":"en","primary_location":{"id":"doi:10.22152/programming-journal.org/2017/1/11","doi":"https://doi.org/10.22152/programming-journal.org/2017/1/11","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2017/1/11","pdf_url":"https://arxiv.org/pdf/1703.10882v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["cwts-core","jufo-1","norway-1","poland-20","russia-white-list-4","vabb-shw"],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},"volume":null,"type":"article","is_traditional":true,"indexed_in":["arxiv","crossref","datacite"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://arxiv.org/pdf/1703.10882v1","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Nicole Vavrov\u00e1","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I887064364","display_name":"University of Amsterdam","ror":"https://ror.org/04dkp9463","country_code":"NL","type":"education","lineage":["https://openalex.org/I887064364"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Nicole Vavrov\u00e1","raw_affiliation_strings":["Universiteit van Amsterdam, Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Universiteit van Amsterdam, Netherlands","institution_ids":["https://openalex.org/I887064364"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5084105661","display_name":"Vadim Zaytsev","orcid":"https://orcid.org/0000-0001-7764-4224","observed_orcids":["https://orcid.org/0000-0001-7764-4224"]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Vadim Zaytsev","raw_affiliation_strings":["Raincode Labs, Belgium"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Raincode Labs, Belgium","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.3543,"has_fulltext":true,"cited_by_count":20,"citation_normalized_percentile":{"value":0.84930112,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":88,"max":97},"biblio":{"volume":"1","issue":"2","first_page":null,"last_page":null},"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/T10430","display_name":"Software Engineering Techniques and Practices","score":0.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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.0,"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/python","display_name":"Python","score":0.48899999260902405},{"id":"https://openalex.org/keywords/code-smells","display_name":"code smells","score":0.8690000176429749},{"id":"https://openalex.org/keywords/anti-patterns","display_name":"anti-patterns","score":0.9340000152587891},{"id":"https://openalex.org/keywords/design-defect-detection","display_name":"design defect detection","score":0.859000027179718},{"id":"https://openalex.org/keywords/functional-decomposition","display_name":"functional decomposition","score":0.9120000004768372},{"id":"https://openalex.org/keywords/spaghetti-code","display_name":"spaghetti code","score":0.9980000257492065},{"id":"https://openalex.org/keywords/god-class","display_name":"God Class","score":0.8069999814033508},{"id":"https://openalex.org/keywords/open-source-code","display_name":"open-source code","score":0.5870000123977661},{"id":"https://openalex.org/keywords/java-comparison","display_name":"Java comparison","score":0.4959999918937683}],"concepts":[{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.9448000192642212},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7699000239372253},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7592999935150146},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6894999742507935},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.6029000282287598},{"id":"https://openalex.org/C148027188","wikidata":"https://www.wikidata.org/wiki/Q907375","display_name":"Unit testing","level":3,"score":0.5623000264167786},{"id":"https://openalex.org/C199519371","wikidata":"https://www.wikidata.org/wiki/Q942695","display_name":"Source lines of code","level":3,"score":0.5063999891281128},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4255000054836273},{"id":"https://openalex.org/C133237599","wikidata":"https://www.wikidata.org/wiki/Q2295111","display_name":"Code smell","level":5,"score":0.3546999990940094},{"id":"https://openalex.org/C3018397939","wikidata":"https://www.wikidata.org/wiki/Q3644502","display_name":"Open source","level":3,"score":0.31949999928474426},{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.3190999925136566},{"id":"https://openalex.org/C139968098","wikidata":"https://www.wikidata.org/wiki/Q3055454","display_name":"Development environment","level":2,"score":0.30070000886917114},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.2921000123023987},{"id":"https://openalex.org/C128942645","wikidata":"https://www.wikidata.org/wiki/Q1568346","display_name":"Test case","level":3,"score":0.2867000102996826},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.28049999475479126},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.2711000144481659},{"id":"https://openalex.org/C92966194","wikidata":"https://www.wikidata.org/wiki/Q651794","display_name":"Compiled language","level":4,"score":0.2671999931335449},{"id":"https://openalex.org/C106159264","wikidata":"https://www.wikidata.org/wiki/Q17146789","display_name":"Random testing","level":4,"score":0.2581999897956848}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.22152/programming-journal.org/2017/1/11","doi":"https://doi.org/10.22152/programming-journal.org/2017/1/11","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2017/1/11","pdf_url":"https://arxiv.org/pdf/1703.10882v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["cwts-core","jufo-1","norway-1","poland-20","russia-white-list-4","vabb-shw"],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:1703.10882","doi":null,"is_oa":true,"landing_page_url":"http://arxiv.org/abs/1703.10882","pdf_url":"https://arxiv.org/pdf/1703.10882","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},{"id":"doi:10.48550/arxiv.1703.10882","doi":"https://doi.org/10.48550/arxiv.1703.10882","is_oa":true,"landing_page_url":"https://doi.org/10.48550/arxiv.1703.10882","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"article-journal"}],"best_oa_location":{"id":"doi:10.22152/programming-journal.org/2017/1/11","doi":"https://doi.org/10.22152/programming-journal.org/2017/1/11","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2017/1/11","pdf_url":"https://arxiv.org/pdf/1703.10882v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["cwts-core","jufo-1","norway-1","poland-20","russia-white-list-4","vabb-shw"],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2597787215.pdf","grobid_xml":"https://content.openalex.org/works/W2597787215.grobid-xml"},"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W4411271539","https://openalex.org/W2563451044","https://openalex.org/W2759794714","https://openalex.org/W4390279916","https://openalex.org/W6894009091","https://openalex.org/W2743811518","https://openalex.org/W3200416513","https://openalex.org/W7212257854","https://openalex.org/W2996903486","https://openalex.org/W7098821207"],"abstract_inverted_index":{"The":[0],"context":[1],"of":[2,11,26,66,77,94,123,233,289,300,306,308],"this":[3],"work":[4,291],"is":[5,42,58,192,237,292],"specification,":[6],"detection":[7,268,315],"and":[8,24,34,70,96,107,200,203,213,310],"ultimately":[9],"removal":[10],"harmful":[12],"patterns":[13],"in":[14,22,39,49,53,104,140,158,172,176,195,216,255,269,271,294,311],"source":[15,50,119],"code":[16,32,51,120,174,197],"that":[17,76,133,182,223,259],"are":[18,164,206],"associated":[19],"with":[20,262],"defects":[21,48,95],"design":[23,47,266,313],"implementation":[25,99],"software.In":[27],"particular,":[28],"we":[29,80,130,224,278],"investigate":[30],"five":[31],"smells":[33],"four":[35],"antipatterns":[36],"previously":[37],"defined":[38,189],"literature.Our":[40],"inquiry":[41],"about":[43],"detecting":[44],"those":[45],"nine":[46],"written":[52],"Python":[54,141,173,196,234,248,298],"programming":[55],"language,":[56],"which":[57,67,236,317],"substantially":[59],"different":[60],"from":[61,117,121,220],"all":[62,103],"prior":[63,263],"research,":[64],"most":[65],"concerns":[68],"Java":[69,177,270],"other":[71],"C-like":[72],"languages.Our":[73],"approach":[74],"was":[75,188],"software":[78],"engineers:":[79],"have":[81,131,179,225,250],"processed":[82],"existing":[83],"research":[84,264],"literature":[85],"on":[86,111,229,265,319],"the":[87,91,154,185,214,221,240,253,275,287,290,295,312],"topic,":[88],"extracted":[89],"both":[90,293],"abstract":[92],"definitions":[93],"their":[97,151],"concrete":[98],"specifications,":[100],"programmed":[101],"them":[102],"a":[105,112,245,257,284],"tool":[106,316],"let":[108],"it":[109,126,187,260],"loose":[110],"huge":[113],"test":[114,242],"set":[115,243],"obtained":[116],"open":[118,297],"thousands":[122],"GitHub":[124],"projects.When":[125],"comes":[127,219],"to":[128,169,273,304],"knowledge,":[129],"found":[132,171,181,194],"more":[134],"than":[135,150,157,175,322],"twice":[136],"as":[137,210,283],"many":[138],"methods":[139],"can":[142],"be":[143,170],"considered":[144],"too":[145],"long":[146,161],"(statistically":[147],"extremely":[148,207],"longer":[149],"neighbours":[152],"within":[153],"same":[155],"project)":[156],"Java,":[159,191],"but":[160],"parameter":[162],"lists":[163],"seven":[165],"times":[166],"less":[167],"likely":[168],"code.We":[178],"also":[180,251],"Functional":[183],"Decomposition,":[184],"way":[186,258],"for":[190,244],"not":[193],"at":[198],"all,":[199],"Spaghetti":[201],"Code":[202],"God":[204],"Classes":[205],"rare":[208],"there":[209],"well.The":[211],"grounding":[212],"confidence":[215],"these":[217],"results":[218],"fact":[222],"performed":[226],"our":[227,280],"experiments":[228],",":[230,231],"lines":[232,307],"code,":[235,309],"by":[238],"far":[239],"largest":[241],"freely":[246],"available":[247],"parser.We":[249],"designed":[252],"experiment":[254],"such":[256],"aligned":[261],"defect":[267,314],"order":[272],"ease":[274],"comparison":[276],"if":[277],"treat":[279],"own":[281],"actions":[282],"partial":[285],"replication.Thus,":[286],"importance":[288],"unique":[296],"grammar":[299],"highest":[301],"quality,":[302],"applied":[303],"millions":[305],"works":[318],"something":[320],"else":[321],"Java.":[323]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":4},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":2}],"updated_date":"2026-11-04T10:54:05.112534","created_date":"2017-04-07T00:00:00"}
