{"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","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,"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"},"type":"article","indexed_in":["arxiv","crossref"],"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},"institutions":[{"id":"https://openalex.org/I865915315","display_name":"Vrije Universiteit Amsterdam","ror":"https://ror.org/008xxew50","country_code":"NL","type":"education","lineage":["https://openalex.org/I865915315"]},{"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/I865915315","https://openalex.org/I887064364"]}]},{"author_position":"last","author":{"id":null,"display_name":"Vadim Zaytsev","orcid":null},"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":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.992,"has_fulltext":true,"cited_by_count":16,"citation_normalized_percentile":{"value":0.81670496,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"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":0.8030999898910522,"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.8030999898910522,"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/T13650","display_name":"Computational Physics and Python Applications","score":0.027799999341368675,"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"}},{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.022099999710917473,"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 (programming language)","score":0.9448000192642212},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.6894999742507935},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.6029000282287598},{"id":"https://openalex.org/keywords/unit-testing","display_name":"Unit testing","score":0.5623000264167786},{"id":"https://openalex.org/keywords/source-lines-of-code","display_name":"Source lines of code","score":0.5063999891281128},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4255000054836273},{"id":"https://openalex.org/keywords/code-smell","display_name":"Code smell","score":0.3546999990940094}],"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":2,"locations":[{"id":"doi: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,"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","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":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"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"}],"best_oa_location":{"id":"doi: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,"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":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":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":[],"abstract_inverted_index":{"The":[0,217],"context":[1],"of":[2,11,26,68,80,97,126,239,297,308,314,316],"this":[3],"work":[4,299],"is":[5,44,60,197,243,300],"specification,":[6],"detection":[7,275,323],"and":[8,24,35,72,99,110,205,208,219,318],"ultimately":[9],"removal":[10],"harmful":[12],"patterns":[13],"in":[14,22,40,51,55,107,144,162,176,180,200,222,262,276,278,302,319],"source":[15,52,122],"code":[16,33,53,123,178,202],"that":[17,79,137,187,229,266],"are":[18,168,211],"associated":[19],"with":[20,269],"defects":[21,50,98],"design":[23,49,273,321],"implementation":[25,102],"software.":[27],"In":[28],"particular,":[29],"we":[30,83,134,230,285],"investigate":[31],"five":[32],"smells":[34],"four":[36],"antipatterns":[37],"previously":[38],"defined":[39,194],"literature.":[41],"Our":[42,76],"inquiry":[43],"about":[45],"detecting":[46],"those":[47],"nine":[48],"written":[54],"Python":[56,145,177,201,240,254,306],"programming":[57],"language,":[58],"which":[59,69,242,325],"substantially":[61],"different":[62],"from":[63,120,124,226],"all":[64,106],"prior":[65,270],"research,":[66],"most":[67],"concerns":[70],"Java":[71,181,277],"other":[73],"C-like":[74],"languages.":[75],"approach":[77],"was":[78,193],"software":[81],"engineers:":[82],"have":[84,135,184,231,257],"processed":[85],"existing":[86],"research":[87,271],"literature":[88],"on":[89,114,235,272,327],"the":[90,94,158,190,220,227,246,260,282,295,298,303,320],"topic,":[91],"extracted":[92],"both":[93,301],"abstract":[95],"definitions":[96],"their":[100,155],"concrete":[101],"specifications,":[103],"programmed":[104],"them":[105],"a":[108,115,251,264,291],"tool":[109,324],"let":[111],"it":[112,130,192,267],"loose":[113],"huge":[116],"test":[117,248],"set":[118,249],"obtained":[119],"open":[121,305],"thousands":[125],"GitHub":[127],"projects.":[128],"When":[129],"comes":[131,225],"to":[132,173,280,312],"knowledge,":[133],"found":[136,175,186,199],"more":[138],"than":[139,154,161,179,330],"twice":[140],"as":[141,215,290],"many":[142],"methods":[143],"can":[146],"be":[147,174],"considered":[148],"too":[149],"long":[150,165],"(statistically":[151],"extremely":[152,212],"longer":[153],"neighbours":[156],"within":[157],"same":[159],"project)":[160],"Java,":[163,196],"but":[164],"parameter":[166],"lists":[167],"seven":[169],"times":[170],"less":[171],"likely":[172],"code.":[182],"We":[183,256],"also":[185,258],"Functional":[188],"Decomposition,":[189],"way":[191,265],"for":[195,250],"not":[198],"at":[203],"all,":[204],"Spaghetti":[206],"Code":[207],"God":[209],"Classes":[210],"rare":[213],"there":[214],"well.":[216],"grounding":[218],"confidence":[221],"these":[223],"results":[224],"fact":[228],"performed":[232],"our":[233,287],"experiments":[234],",":[236,237],"lines":[238,315],"code,":[241,317],"by":[244],"far":[245],"largest":[247],"freely":[252],"available":[253],"parser.":[255],"designed":[259],"experiment":[261],"such":[263],"aligned":[268],"defect":[274,322],"order":[279],"ease":[281],"comparison":[283],"if":[284],"treat":[286],"own":[288],"actions":[289],"partial":[292],"replication.":[293],"Thus,":[294],"importance":[296],"unique":[304],"grammar":[307],"highest":[309],"quality,":[310],"applied":[311],"millions":[313],"works":[326],"something":[328],"else":[329],"Java.":[331]},"counts_by_year":[{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":4},{"year":2021,"cited_by_count":2},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2017-04-07T00:00:00"}
