{"id":"https://openalex.org/W6907188191","doi":"https://doi.org/10.21227/49vr-wr08","title":"{DynAMICS: A tool-based method for the specification and dynamic detection of Android behavioural code smells","display_name":"{DynAMICS: A tool-based method for the specification and dynamic detection of Android behavioural code smells","publication_year":2022,"publication_date":"2022-12-19","ids":{"openalex":"https://openalex.org/W6907188191","doi":"https://doi.org/10.21227/49vr-wr08"},"language":"en","primary_location":{"id":"doi:10.21227/49vr-wr08","is_oa":true,"landing_page_url":"https://doi.org/10.21227/49vr-wr08","pdf_url":null,"source":{"id":"https://openalex.org/S7407051695","display_name":"IEEE DataPort","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Dataset"},"type":"dataset","indexed_in":["datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://doi.org/10.21227/49vr-wr08","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Prestat, Dimitri","orcid":null},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Prestat, Dimitri","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":2,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":true,"primary_topic":null,"topics":[],"keywords":[{"id":"https://openalex.org/keywords/code-smell","display_name":"Code smell","score":0.9409000277519226},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.6072999835014343},{"id":"https://openalex.org/keywords/static-program-analysis","display_name":"Static program analysis","score":0.5376999974250793},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4984000027179718},{"id":"https://openalex.org/keywords/android","display_name":"Android (operating system)","score":0.45500001311302185},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.4431999921798706},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.43479999899864197},{"id":"https://openalex.org/keywords/instrumentation","display_name":"Instrumentation (computer programming)","score":0.43209999799728394},{"id":"https://openalex.org/keywords/kpi-driven-code-analysis","display_name":"KPI-driven code analysis","score":0.41429999470710754}],"concepts":[{"id":"https://openalex.org/C133237599","wikidata":"https://www.wikidata.org/wiki/Q2295111","display_name":"Code smell","level":5,"score":0.9409000277519226},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7092999815940857},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.6072999835014343},{"id":"https://openalex.org/C137287247","wikidata":"https://www.wikidata.org/wiki/Q1329550","display_name":"Static program analysis","level":4,"score":0.5376999974250793},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4984000027179718},{"id":"https://openalex.org/C557433098","wikidata":"https://www.wikidata.org/wiki/Q94","display_name":"Android (operating system)","level":2,"score":0.45500001311302185},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.4431999921798706},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.43479999899864197},{"id":"https://openalex.org/C118530786","wikidata":"https://www.wikidata.org/wiki/Q1134732","display_name":"Instrumentation (computer programming)","level":2,"score":0.43209999799728394},{"id":"https://openalex.org/C121957198","wikidata":"https://www.wikidata.org/wiki/Q14365593","display_name":"KPI-driven code analysis","level":5,"score":0.41429999470710754},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.40400001406669617},{"id":"https://openalex.org/C150292731","wikidata":"https://www.wikidata.org/wiki/Q1342704","display_name":"Code review","level":5,"score":0.4025999903678894},{"id":"https://openalex.org/C47434764","wikidata":"https://www.wikidata.org/wiki/Q1770035","display_name":"Dead code","level":5,"score":0.3686999976634979},{"id":"https://openalex.org/C117447612","wikidata":"https://www.wikidata.org/wiki/Q1412670","display_name":"Software quality","level":4,"score":0.3546999990940094},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.336899995803833},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.31929999589920044},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3190999925136566},{"id":"https://openalex.org/C149091818","wikidata":"https://www.wikidata.org/wiki/Q2429814","display_name":"Software system","level":3,"score":0.30379998683929443},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.29330000281333923},{"id":"https://openalex.org/C151578736","wikidata":"https://www.wikidata.org/wiki/Q1251793","display_name":"Redundant code","level":4,"score":0.2897000014781952},{"id":"https://openalex.org/C1009929","wikidata":"https://www.wikidata.org/wiki/Q179550","display_name":"Software bug","level":3,"score":0.28600001335144043},{"id":"https://openalex.org/C140006998","wikidata":"https://www.wikidata.org/wiki/Q2499307","display_name":"Dynamic program analysis","level":3,"score":0.2791999876499176},{"id":"https://openalex.org/C101317890","wikidata":"https://www.wikidata.org/wiki/Q940053","display_name":"Software maintenance","level":4,"score":0.2777999937534332},{"id":"https://openalex.org/C79403827","wikidata":"https://www.wikidata.org/wiki/Q3988","display_name":"Real-time computing","level":1,"score":0.2754000127315521},{"id":"https://openalex.org/C81669768","wikidata":"https://www.wikidata.org/wiki/Q2359161","display_name":"Precision and recall","level":2,"score":0.27480000257492065},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.2621999979019165},{"id":"https://openalex.org/C154488198","wikidata":"https://www.wikidata.org/wiki/Q1335007","display_name":"Embedded software","level":3,"score":0.25600001215934753}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.21227/49vr-wr08","is_oa":true,"landing_page_url":"https://doi.org/10.21227/49vr-wr08","pdf_url":null,"source":{"id":"https://openalex.org/S7407051695","display_name":"IEEE DataPort","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"Dataset"}],"best_oa_location":{"id":"doi:10.21227/49vr-wr08","is_oa":true,"landing_page_url":"https://doi.org/10.21227/49vr-wr08","pdf_url":null,"source":{"id":"https://openalex.org/S7407051695","display_name":"IEEE DataPort","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Dataset"},"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/7","display_name":"Affordable and clean energy","score":0.6548401117324829}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":[],"abstract_inverted_index":{"Code":[0],"smells":[1,24,68,94,100,221],"are":[2,69,230],"the":[3,37,76,103,107,123,130,143,169,178,186,189,193,196,199,202,206,209],"result":[4],"of":[5,39,47,106,135,157,182,188,195,201,208,219,241,247],"poor":[6],"design":[7],"choices":[8],"within":[9,25],"software":[10,26,82],"systems":[11,27],"that":[12,71,78,216,222],"complexify":[13],"source":[14],"code":[15,23,49,93,99,112,138,151,190,211,220],"and":[16,19,55,62,95,132,153,175,204,243],"impede":[17],"evolution":[18],"performance.":[20],"Therefore,":[21],"detecting":[22,90,97],"is":[28],"an":[29,238,244],"important":[30],"priority":[31],"to":[32,53],"decrease":[33],"technical":[34],"debt.":[35],"Furthermore,":[36],"emergence":[38],"mobile":[40],"applications":[41],"(apps)":[42],"has":[43],"brought":[44],"new":[45],"types":[46],"Android-specific":[48,67],"smells,":[50,113,191],"which":[51],"relate":[52],"limitations":[54,88],"constraints":[56],"on":[57,149,160],"resources":[58],"like":[59],"memory,":[60],"performance":[61],"energy":[63],"consumption.":[64],"Among":[65],"these":[66,91],"those":[70],"describe":[72],"inappropriate":[73],"behaviour":[74,105],"during":[75],"execution":[77,200],"may":[79],"negatively":[80],"impact":[81],"quality.&nbsp;Static":[83],"analysis":[84,171],"tools,":[85,173],"however,":[86],"show":[87,215],"for":[89,129],"behavioural":[92,98,111,137,210],"properly":[96],"requires":[101],"considering":[102],"dynamic":[104,133,235],"apps.&nbsp;To":[108],"dynamically":[109],"detect":[110],"we":[114],"hence":[115],"propose":[116],"three":[117],"contributions":[118],":":[119],"(1)":[120,185],"A":[121,141,155],"method,":[122,125],"DynAMICS":[124,144],"a":[126,166],"step-by-step":[127],"method":[128,148,180],"specification":[131,187],"detection":[134,172,207,228],"Android":[136],"smells;":[139,152],"(2)":[140,192],"tool,":[142,145],"implementing":[146],"this":[147],"seven":[150],"(3)":[154,198],"validation":[156],"our":[158,234],"approach":[159,236],"538":[161],"apps":[162],"from":[163,177],"F-Droid":[164],"with":[165,168,226,233,237],"comparison":[167],"static":[170,227],"aDoctor":[174],"Paprika,":[176],"literature.&nbsp;Our":[179],"consists":[181],"four":[183],"steps:":[184],"instrumentation":[194],"app,":[197],"apps,":[203],"(4)":[205],"smells.":[212],"Our":[213],"results":[214],"many":[217],"instances":[218],"cannot":[223],"be":[224],"detected":[225,232],"tools":[229],"indeed":[231],"average":[239,245],"precision":[240],"92.8%":[242],"recall":[246],"53.4%.":[248]},"counts_by_year":[{"year":2025,"cited_by_count":2}],"updated_date":"2026-07-01T06:00:48.157686","created_date":"2025-10-10T00:00:00"}
