{"id":"https://openalex.org/W2740220421","doi":"https://doi.org/10.1145/3106237.3106289","title":"Recovering clear, natural identifiers from obfuscated JS names","display_name":"Recovering clear, natural identifiers from obfuscated JS names","publication_year":2017,"publication_date":"2017-08-02","ids":{"openalex":"https://openalex.org/W2740220421","doi":"https://doi.org/10.1145/3106237.3106289","mag":"2740220421"},"language":"en","primary_location":{"id":"doi:10.1145/3106237.3106289","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3106237.3106289","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering","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/A5050821883","display_name":"Bogdan Vasilescu","orcid":"https://orcid.org/0000-0003-4418-5783"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Bogdan Vasilescu","raw_affiliation_strings":["Carnegie Mellon University, USA"],"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5012224951","display_name":"Casey Casalnuovo","orcid":"https://orcid.org/0000-0002-7112-8189"},"institutions":[{"id":"https://openalex.org/I84218800","display_name":"University of California, Davis","ror":"https://ror.org/05rrcem69","country_code":"US","type":"education","lineage":["https://openalex.org/I84218800"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Casey Casalnuovo","raw_affiliation_strings":["University of California at Davis, USA"],"affiliations":[{"raw_affiliation_string":"University of California at Davis, USA","institution_ids":["https://openalex.org/I84218800"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5036744986","display_name":"Pr\u00e9mkumar D\u00e9vanbu","orcid":"https://orcid.org/0000-0002-4346-5276"},"institutions":[{"id":"https://openalex.org/I84218800","display_name":"University of California, Davis","ror":"https://ror.org/05rrcem69","country_code":"US","type":"education","lineage":["https://openalex.org/I84218800"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Premkumar Devanbu","raw_affiliation_strings":["University of California at Davis, USA"],"affiliations":[{"raw_affiliation_string":"University of California at Davis, USA","institution_ids":["https://openalex.org/I84218800"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5050821883"],"corresponding_institution_ids":["https://openalex.org/I74973139"],"apc_list":null,"apc_paid":null,"fwci":18.7094,"has_fulltext":false,"cited_by_count":64,"citation_normalized_percentile":{"value":0.99203243,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"683","last_page":"693"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9890999794006348,"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.9890999794006348,"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/T12479","display_name":"Web Application Security Vulnerabilities","score":0.9889000058174133,"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/T10181","display_name":"Natural Language Processing Techniques","score":0.9835000038146973,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8811893463134766},{"id":"https://openalex.org/keywords/javascript","display_name":"JavaScript","score":0.8765907287597656},{"id":"https://openalex.org/keywords/identifier","display_name":"Identifier","score":0.8465549349784851},{"id":"https://openalex.org/keywords/readability","display_name":"Readability","score":0.578868567943573},{"id":"https://openalex.org/keywords/maintainability","display_name":"Maintainability","score":0.5723749995231628},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5380629301071167},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5184290409088135},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.43213197588920593},{"id":"https://openalex.org/keywords/simple","display_name":"Simple (philosophy)","score":0.41648581624031067},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.3702874481678009},{"id":"https://openalex.org/keywords/world-wide-web","display_name":"World Wide Web","score":0.3591018319129944},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.24650290608406067}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8811893463134766},{"id":"https://openalex.org/C544833334","wikidata":"https://www.wikidata.org/wiki/Q2005","display_name":"JavaScript","level":2,"score":0.8765907287597656},{"id":"https://openalex.org/C154504017","wikidata":"https://www.wikidata.org/wiki/Q853614","display_name":"Identifier","level":2,"score":0.8465549349784851},{"id":"https://openalex.org/C2778143727","wikidata":"https://www.wikidata.org/wiki/Q1820650","display_name":"Readability","level":2,"score":0.578868567943573},{"id":"https://openalex.org/C160713754","wikidata":"https://www.wikidata.org/wiki/Q1389965","display_name":"Maintainability","level":2,"score":0.5723749995231628},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5380629301071167},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5184290409088135},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.43213197588920593},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.41648581624031067},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.3702874481678009},{"id":"https://openalex.org/C136764020","wikidata":"https://www.wikidata.org/wiki/Q466","display_name":"World Wide Web","level":1,"score":0.3591018319129944},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.24650290608406067},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"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/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3106237.3106289","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3106237.3106289","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G7432288113","display_name":null,"funder_award_id":"1414172","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":44,"referenced_works":["https://openalex.org/W30655990","https://openalex.org/W68171312","https://openalex.org/W1534474245","https://openalex.org/W1543331277","https://openalex.org/W1544837488","https://openalex.org/W1573234480","https://openalex.org/W1574901103","https://openalex.org/W1580417272","https://openalex.org/W1771830246","https://openalex.org/W1875990341","https://openalex.org/W1972141422","https://openalex.org/W1974020522","https://openalex.org/W2010608861","https://openalex.org/W2045812729","https://openalex.org/W2047181172","https://openalex.org/W2049633694","https://openalex.org/W2054855378","https://openalex.org/W2074032109","https://openalex.org/W2090878800","https://openalex.org/W2097927681","https://openalex.org/W2113697305","https://openalex.org/W2116272605","https://openalex.org/W2117030266","https://openalex.org/W2119851697","https://openalex.org/W2124807415","https://openalex.org/W2126851641","https://openalex.org/W2140609933","https://openalex.org/W2141440284","https://openalex.org/W2142403498","https://openalex.org/W2143960295","https://openalex.org/W2144642244","https://openalex.org/W2146567535","https://openalex.org/W2148888468","https://openalex.org/W2153653739","https://openalex.org/W2156981320","https://openalex.org/W2156985047","https://openalex.org/W2161792612","https://openalex.org/W2180107243","https://openalex.org/W2240848044","https://openalex.org/W2242083635","https://openalex.org/W2247864914","https://openalex.org/W2342082360","https://openalex.org/W2950186769","https://openalex.org/W4242395378"],"related_works":["https://openalex.org/W1964661231","https://openalex.org/W4254960163","https://openalex.org/W3110264473","https://openalex.org/W2999103397","https://openalex.org/W2370831213","https://openalex.org/W4315704968","https://openalex.org/W4285478380","https://openalex.org/W2283404405","https://openalex.org/W3120493416","https://openalex.org/W2098192829"],"abstract_inverted_index":{"Well-chosen":[0],"variable":[1],"names":[2,25,64],"are":[3,26],"critical":[4],"to":[5,39,81,101,137],"source":[6],"code":[7,16],"readability,":[8],"reusability,":[9],"and":[10,29,37,109,122,124],"maintainability.":[11],"Unfortunately,":[12],"in":[13],"deployed":[14],"JavaScript":[15,67],"(which":[17],"is":[18,32,98,142],"ubiquitous":[19],"on":[20,53],"the":[21,23,62,66,71,82],"web)":[22],"identifier":[24,129],"frequently":[27],"minified":[28,69],"overloaded.":[30],"This":[31,75],"done":[33],"both":[34,127],"for":[35,87],"efficiency":[36],"also":[38,113],"protect":[40],"potentially":[41],"proprietary":[42],"intellectual":[43],"property.":[44],"In":[45,95],"this":[46],"paper,":[47],"we":[48],"describe":[49],"an":[50],"approach":[51],"based":[52],"statistical":[54],"machine":[55],"translation":[56],"(SMT)":[57],"that":[58],"recovers":[59],"some":[60],"of":[61],"original":[63],"from":[65],"programs":[68],"by":[70],"very":[72],"popular":[73],"UglifyJS.":[74],"simple":[76],"tool,":[77,117],"Autonym,":[78],"performs":[79],"comparably":[80],"best":[83],"currently":[84],"available":[85,143],"deobfuscator":[86],"JavaScript,":[88],"JSNice,":[89,102,123],"which":[90,119],"uses":[91],"sophisticated":[92],"static":[93],"analysis.":[94],"fact,":[96],"Autonym":[97,121],"quite":[99],"complementary":[100],"performing":[103],"well":[104],"when":[105],"it":[106],"does":[107],"not,":[108],"vice":[110],"versa.":[111],"We":[112],"introduce":[114],"a":[115],"new":[116],"JSNaughty,":[118],"blends":[120],"significantly":[125],"outperforms":[126],"at":[128,145],"name":[130],"recovery,":[131],"while":[132],"remaining":[133],"just":[134],"as":[135,139],"easy":[136],"use":[138],"JSNice.":[140],"JSNaughty":[141],"online":[144],"http://jsnaughty.org.":[146]},"counts_by_year":[{"year":2025,"cited_by_count":4},{"year":2024,"cited_by_count":4},{"year":2023,"cited_by_count":4},{"year":2022,"cited_by_count":7},{"year":2021,"cited_by_count":8},{"year":2020,"cited_by_count":15},{"year":2019,"cited_by_count":8},{"year":2018,"cited_by_count":12},{"year":2017,"cited_by_count":2}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
