{"id":"https://openalex.org/W4200577920","doi":"https://doi.org/10.1109/pst52912.2021.9647781","title":"PIdARCI: Using Assembly Instruction Patterns to Identify, Annotate, and Revert Compiler Idioms","display_name":"PIdARCI: Using Assembly Instruction Patterns to Identify, Annotate, and Revert Compiler Idioms","publication_year":2021,"publication_date":"2021-12-13","ids":{"openalex":"https://openalex.org/W4200577920","doi":"https://doi.org/10.1109/pst52912.2021.9647781"},"language":"en","primary_location":{"id":"doi:10.1109/pst52912.2021.9647781","is_oa":false,"landing_page_url":"https://doi.org/10.1109/pst52912.2021.9647781","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2021 18th International Conference on Privacy, Security and Trust (PST)","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/A5076468899","display_name":"Steffen Enders","orcid":null},"institutions":[{"id":"https://openalex.org/I4210166245","display_name":"Fraunhofer Institute for Communication, Information Processing and Ergonomics","ror":"https://ror.org/05nn0gw40","country_code":"DE","type":"facility","lineage":["https://openalex.org/I4210166245","https://openalex.org/I4923324"]}],"countries":["DE"],"is_corresponding":true,"raw_author_name":"Steffen Enders","raw_affiliation_strings":["Fraunhofer FKIE"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Fraunhofer FKIE","institution_ids":["https://openalex.org/I4210166245"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5011965535","display_name":"Mariia Rybalka","orcid":"https://orcid.org/0009-0004-8057-932X"},"institutions":[{"id":"https://openalex.org/I4210166245","display_name":"Fraunhofer Institute for Communication, Information Processing and Ergonomics","ror":"https://ror.org/05nn0gw40","country_code":"DE","type":"facility","lineage":["https://openalex.org/I4210166245","https://openalex.org/I4923324"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Mariia Rybalka","raw_affiliation_strings":["Fraunhofer FKIE"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Fraunhofer FKIE","institution_ids":["https://openalex.org/I4210166245"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5048203227","display_name":"Elmar Padilla","orcid":null},"institutions":[{"id":"https://openalex.org/I4210166245","display_name":"Fraunhofer Institute for Communication, Information Processing and Ergonomics","ror":"https://ror.org/05nn0gw40","country_code":"DE","type":"facility","lineage":["https://openalex.org/I4210166245","https://openalex.org/I4923324"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Elmar Padilla","raw_affiliation_strings":["Fraunhofer FKIE"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Fraunhofer FKIE","institution_ids":["https://openalex.org/I4210166245"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5076468899"],"corresponding_institution_ids":["https://openalex.org/I4210166245"],"apc_list":null,"apc_paid":null,"fwci":0.4631,"has_fulltext":false,"cited_by_count":5,"citation_normalized_percentile":{"value":0.63683858,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"7"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11241","display_name":"Advanced Malware Detection Techniques","score":1.0,"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"}},"topics":[{"id":"https://openalex.org/T11241","display_name":"Advanced Malware Detection Techniques","score":1.0,"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"}},{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9987000226974487,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9972000122070312,"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/compiler","display_name":"Compiler","score":0.9212895631790161},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8872489333152771},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6182673573493958},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.5700494647026062},{"id":"https://openalex.org/keywords/readability","display_name":"Readability","score":0.5567938089370728},{"id":"https://openalex.org/keywords/pattern-matching","display_name":"Pattern matching","score":0.5275430679321289},{"id":"https://openalex.org/keywords/assembly-language","display_name":"Assembly language","score":0.4776831269264221},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.47454580664634705},{"id":"https://openalex.org/keywords/transformation","display_name":"Transformation (genetics)","score":0.4719896614551544},{"id":"https://openalex.org/keywords/matching","display_name":"Matching (statistics)","score":0.4469371438026428},{"id":"https://openalex.org/keywords/expression","display_name":"Expression (computer science)","score":0.44398415088653564},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.42531058192253113},{"id":"https://openalex.org/keywords/bottleneck","display_name":"Bottleneck","score":0.4134618937969208},{"id":"https://openalex.org/keywords/natural-language-processing","display_name":"Natural language processing","score":0.36105406284332275},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.1698291301727295}],"concepts":[{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.9212895631790161},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8872489333152771},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6182673573493958},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.5700494647026062},{"id":"https://openalex.org/C2778143727","wikidata":"https://www.wikidata.org/wiki/Q1820650","display_name":"Readability","level":2,"score":0.5567938089370728},{"id":"https://openalex.org/C68859911","wikidata":"https://www.wikidata.org/wiki/Q1503724","display_name":"Pattern matching","level":2,"score":0.5275430679321289},{"id":"https://openalex.org/C50831359","wikidata":"https://www.wikidata.org/wiki/Q165436","display_name":"Assembly language","level":3,"score":0.4776831269264221},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.47454580664634705},{"id":"https://openalex.org/C204241405","wikidata":"https://www.wikidata.org/wiki/Q461499","display_name":"Transformation (genetics)","level":3,"score":0.4719896614551544},{"id":"https://openalex.org/C165064840","wikidata":"https://www.wikidata.org/wiki/Q1321061","display_name":"Matching (statistics)","level":2,"score":0.4469371438026428},{"id":"https://openalex.org/C90559484","wikidata":"https://www.wikidata.org/wiki/Q778379","display_name":"Expression (computer science)","level":2,"score":0.44398415088653564},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.42531058192253113},{"id":"https://openalex.org/C2780513914","wikidata":"https://www.wikidata.org/wiki/Q18210350","display_name":"Bottleneck","level":2,"score":0.4134618937969208},{"id":"https://openalex.org/C204321447","wikidata":"https://www.wikidata.org/wiki/Q30642","display_name":"Natural language processing","level":1,"score":0.36105406284332275},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.1698291301727295},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1109/pst52912.2021.9647781","is_oa":false,"landing_page_url":"https://doi.org/10.1109/pst52912.2021.9647781","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2021 18th International Conference on Privacy, Security and Trust (PST)","raw_type":"proceedings-article"},{"id":"pmh:oai:publica.fraunhofer.de:publica/504747","is_oa":false,"landing_page_url":"https://publica.fraunhofer.de/handle/publica/504747","pdf_url":null,"source":{"id":"https://openalex.org/S4306400318","display_name":"Fraunhofer-Publica (Fraunhofer-Gesellschaft)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I4923324","host_organization_name":"Fraunhofer-Gesellschaft","host_organization_lineage":["https://openalex.org/I4923324"],"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":"conference paper"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/8","display_name":"Decent work and economic growth","score":0.5199999809265137}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":21,"referenced_works":["https://openalex.org/W54929040","https://openalex.org/W1556277569","https://openalex.org/W2075659884","https://openalex.org/W2128832779","https://openalex.org/W2205815960","https://openalex.org/W2608430464","https://openalex.org/W2608570228","https://openalex.org/W3043641306","https://openalex.org/W3086240552","https://openalex.org/W3120378074","https://openalex.org/W3137108338","https://openalex.org/W3139485201","https://openalex.org/W3154707155","https://openalex.org/W3163277373","https://openalex.org/W3169168820","https://openalex.org/W3178062611","https://openalex.org/W3187790458","https://openalex.org/W3206706367","https://openalex.org/W6687750345","https://openalex.org/W6795334056","https://openalex.org/W6888875766"],"related_works":["https://openalex.org/W4242997962","https://openalex.org/W2372502659","https://openalex.org/W2002505081","https://openalex.org/W2083681681","https://openalex.org/W2577630842","https://openalex.org/W3146558274","https://openalex.org/W1172579163","https://openalex.org/W1488300410","https://openalex.org/W2138790427","https://openalex.org/W4246454774"],"abstract_inverted_index":{"Analysis":[0],"of":[1,8,34,62,79,97,193,218,226],"binary":[2],"code":[3,19],"is":[4,21],"a":[5,132],"building":[6],"block":[7],"computer":[9],"security.":[10],"Especially":[11],"in":[12,40,60,77],"malware":[13],"or":[14,53,64],"firmware":[15],"analysis":[16],"where":[17],"source":[18],"oftentimes":[20],"not":[22,89,160],"available,":[23],"techniques":[24],"like":[25],"decompilation":[26],"are":[27,45,73,88],"utilized":[28],"to":[29,109,135,147,154,164,176,181],"Figure":[30],"out":[31],"the":[32,37,67,82,94,98,110,166,178,183,191,196,223,227],"functionality":[33],"binaries.":[35],"During":[36],"optimization":[38],"phase":[39],"modern":[41],"compilers,":[42],"human-readable":[43],"expressions":[44,146],"often":[46,74],"transformed":[47],"into":[48],"instruction":[49],"sequences":[50,87],"(compiler":[51],"idioms":[52,121,140,170],"idioms)":[54],"that":[55,212],"may":[56],"be":[57],"more":[58,215],"efficient":[59],"terms":[61,78],"speed":[63],"size":[65],"than":[66,93,216],"direct":[68],"translation.":[69],"However,":[70],"these":[71],"transformations":[72],"considerably":[75],"worse":[76],"readability":[80],"for":[81,168],"analyst.":[83],"Such":[84],"compiler":[85],"specific":[86],"only":[90],"significantly":[91,148,172],"longer":[92],"apparent":[95],"translation":[96],"original":[99,111,184],"high-level":[100,144],"language":[101,145],"operation":[102],"but":[103],"also":[104],"have":[105],"no":[106],"trivial":[107],"correlation":[108],"expression\u2019s":[112],"semantics.":[113],"Modern":[114],"decompilers":[115],"address":[116],"this":[117,128],"issue":[118],"by":[119],"reverting":[120],"using":[122],"static,":[123],"manually":[124],"crafted":[125],"rules.":[126],"In":[127,152,186],"paper,":[129],"we":[130,189],"introduce":[131],"novel":[133],"approach":[134],"find":[136],"and":[137,171,199,204],"annotate":[138],"arithmetic":[139],"with":[141],"their":[142],"corresponding":[143],"simplify":[149],"manual":[150,162,174],"analysis.":[151],"contrast":[153],"previous":[155],"approaches,":[156],"our":[157,187],"method":[158],"does":[159],"require":[161],"work":[163],"create":[165],"patterns":[167],"matching":[169,224],"less":[173],"labour":[175],"derive":[177],"transformation":[179],"rules":[180],"calculate":[182],"constants.":[185],"evaluation,":[188],"compared":[190],"results":[192],"PIdARCI":[194,213],"against":[195],"current":[197],"academic":[198],"commercial":[200],"state-of-the-art":[201],"Ghidra,":[202],"RetDec,":[203],"Hex":[205],"Rays":[206],"/":[207],"IDA":[208],"Pro.":[209],"We":[210],"show":[211],"matches":[214],"99%":[217],"all":[219],"considered":[220],"idioms,":[221],"exceeding":[222],"rate":[225],"other":[228],"approaches.":[229]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":1}],"updated_date":"2026-05-03T08:25:01.440150","created_date":"2025-10-10T00:00:00"}
