{"id":"https://openalex.org/W2068728255","doi":"https://doi.org/10.1145/2635868.2635928","title":"Building call graphs for embedded client-side code in dynamic web applications","display_name":"Building call graphs for embedded client-side code in dynamic web applications","publication_year":2014,"publication_date":"2014-11-04","ids":{"openalex":"https://openalex.org/W2068728255","doi":"https://doi.org/10.1145/2635868.2635928","mag":"2068728255"},"language":"en","primary_location":{"id":"doi:10.1145/2635868.2635928","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2635868.2635928","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 22nd ACM SIGSOFT International Symposium 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/A5032951039","display_name":"Hung Viet Nguyen","orcid":"https://orcid.org/0000-0001-6349-1044"},"institutions":[{"id":"https://openalex.org/I173911158","display_name":"Iowa State University","ror":"https://ror.org/04rswrd78","country_code":"US","type":"education","lineage":["https://openalex.org/I173911158"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Hung Viet Nguyen","raw_affiliation_strings":["Iowa State University, USA"],"affiliations":[{"raw_affiliation_string":"Iowa State University, USA","institution_ids":["https://openalex.org/I173911158"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5067467896","display_name":"Christian K\u00e4stner","orcid":"https://orcid.org/0000-0002-4450-4572"},"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":false,"raw_author_name":"Christian K\u00e4stner","raw_affiliation_strings":["Carnegie Mellon University, USA"],"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5089000736","display_name":"Tien N. Nguyen","orcid":"https://orcid.org/0009-0006-7962-6090"},"institutions":[{"id":"https://openalex.org/I173911158","display_name":"Iowa State University","ror":"https://ror.org/04rswrd78","country_code":"US","type":"education","lineage":["https://openalex.org/I173911158"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Tien N. Nguyen","raw_affiliation_strings":["Iowa State University, USA"],"affiliations":[{"raw_affiliation_string":"Iowa State University, USA","institution_ids":["https://openalex.org/I173911158"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5032951039"],"corresponding_institution_ids":["https://openalex.org/I173911158"],"apc_list":null,"apc_paid":null,"fwci":16.5669,"has_fulltext":false,"cited_by_count":33,"citation_normalized_percentile":{"value":0.98883674,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"518","last_page":"529"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T12479","display_name":"Web Application Security Vulnerabilities","score":0.9998999834060669,"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/T12479","display_name":"Web Application Security Vulnerabilities","score":0.9998999834060669,"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.9994000196456909,"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"}},{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.998199999332428,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8789924383163452},{"id":"https://openalex.org/keywords/client-side","display_name":"Client-side","score":0.6527830958366394},{"id":"https://openalex.org/keywords/call-graph","display_name":"Call graph","score":0.6456637978553772},{"id":"https://openalex.org/keywords/server-side","display_name":"Server-side","score":0.6368045210838318},{"id":"https://openalex.org/keywords/parsing","display_name":"Parsing","score":0.551973283290863},{"id":"https://openalex.org/keywords/unreachable-code","display_name":"Unreachable code","score":0.5304303169250488},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5285528898239136},{"id":"https://openalex.org/keywords/dead-code","display_name":"Dead code","score":0.5158352255821228},{"id":"https://openalex.org/keywords/redundant-code","display_name":"Redundant code","score":0.49749067425727844},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4943356513977051},{"id":"https://openalex.org/keywords/abstract-syntax-tree","display_name":"Abstract syntax tree","score":0.47659844160079956},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.43232810497283936},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.4301639795303345},{"id":"https://openalex.org/keywords/web-application","display_name":"Web application","score":0.41114088892936707},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.36410120129585266},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.2864159345626831}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8789924383163452},{"id":"https://openalex.org/C202477664","wikidata":"https://www.wikidata.org/wiki/Q1352449","display_name":"Client-side","level":2,"score":0.6527830958366394},{"id":"https://openalex.org/C102379954","wikidata":"https://www.wikidata.org/wiki/Q2589940","display_name":"Call graph","level":2,"score":0.6456637978553772},{"id":"https://openalex.org/C14414571","wikidata":"https://www.wikidata.org/wiki/Q519081","display_name":"Server-side","level":2,"score":0.6368045210838318},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.551973283290863},{"id":"https://openalex.org/C50951305","wikidata":"https://www.wikidata.org/wiki/Q2482534","display_name":"Unreachable code","level":5,"score":0.5304303169250488},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5285528898239136},{"id":"https://openalex.org/C47434764","wikidata":"https://www.wikidata.org/wiki/Q1770035","display_name":"Dead code","level":5,"score":0.5158352255821228},{"id":"https://openalex.org/C151578736","wikidata":"https://www.wikidata.org/wiki/Q1251793","display_name":"Redundant code","level":4,"score":0.49749067425727844},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4943356513977051},{"id":"https://openalex.org/C58646249","wikidata":"https://www.wikidata.org/wiki/Q127380","display_name":"Abstract syntax tree","level":3,"score":0.47659844160079956},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.43232810497283936},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.4301639795303345},{"id":"https://openalex.org/C118643609","wikidata":"https://www.wikidata.org/wiki/Q189210","display_name":"Web application","level":2,"score":0.41114088892936707},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.36410120129585266},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.2864159345626831},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"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}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2635868.2635928","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2635868.2635928","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":56,"referenced_works":["https://openalex.org/W109951691","https://openalex.org/W202191487","https://openalex.org/W238475734","https://openalex.org/W1500250067","https://openalex.org/W1608933122","https://openalex.org/W1710734607","https://openalex.org/W1839902311","https://openalex.org/W1965995882","https://openalex.org/W1987647365","https://openalex.org/W1990347915","https://openalex.org/W2000414759","https://openalex.org/W2009093319","https://openalex.org/W2009288394","https://openalex.org/W2009489720","https://openalex.org/W2010205170","https://openalex.org/W2016954568","https://openalex.org/W2017198493","https://openalex.org/W2022744394","https://openalex.org/W2023753091","https://openalex.org/W2024818492","https://openalex.org/W2026586474","https://openalex.org/W2037177386","https://openalex.org/W2045255985","https://openalex.org/W2048064553","https://openalex.org/W2055818134","https://openalex.org/W2069283169","https://openalex.org/W2069920427","https://openalex.org/W2070929035","https://openalex.org/W2072956890","https://openalex.org/W2073880142","https://openalex.org/W2078200248","https://openalex.org/W2090395143","https://openalex.org/W2096314727","https://openalex.org/W2096449544","https://openalex.org/W2097355277","https://openalex.org/W2101512909","https://openalex.org/W2107604680","https://openalex.org/W2113112210","https://openalex.org/W2115588821","https://openalex.org/W2117426803","https://openalex.org/W2118529754","https://openalex.org/W2121396013","https://openalex.org/W2127229466","https://openalex.org/W2134646643","https://openalex.org/W2134949927","https://openalex.org/W2136579066","https://openalex.org/W2138124253","https://openalex.org/W2147571062","https://openalex.org/W2147671787","https://openalex.org/W2154100919","https://openalex.org/W2161565163","https://openalex.org/W2166381878","https://openalex.org/W2170002779","https://openalex.org/W2261238734","https://openalex.org/W4237492309","https://openalex.org/W4248334436"],"related_works":["https://openalex.org/W2161969548","https://openalex.org/W2036000779","https://openalex.org/W116913286","https://openalex.org/W4244016640","https://openalex.org/W2112669344","https://openalex.org/W3008325674","https://openalex.org/W1141223778","https://openalex.org/W1539844444","https://openalex.org/W1999026709","https://openalex.org/W2068728255"],"abstract_inverted_index":{"When":[0],"developing":[1],"and":[2,21,123,150,166],"maintaining":[3],"a":[4,52,99],"software":[5],"system,":[6],"programmers":[7],"often":[8],"rely":[9],"on":[10,59,111,128],"IDEs":[11],"to":[12,23,35,41,50,80],"provide":[13],"editor":[14,57],"services":[15,58],"such":[16,29],"as":[17,67],"syntax":[18],"highlighting,":[19],"auto-completion,":[20],"\"jump":[22],"declaration\".":[24],"In":[25],"dynamic":[26],"web":[27,130],"applications,":[28],"tool":[30,162],"support":[31,163],"is":[32,49,64,164],"currently":[33],"limited":[34],"either":[36],"the":[37,77,90,112,145],"server-side":[38,71,78],"code":[39,61,79,85,93],"or":[40,43],"hand-written":[42],"generated":[44,91],"client-side":[45,60,84,92],"code.":[46,72],"Our":[47,125],"goal":[48],"build":[51,115],"call":[53,117],"graph":[54],"for":[55,107,119],"providing":[56],"while":[62],"it":[63],"still":[65],"embedded":[66,120],"string":[68],"literals":[69],"within":[70],"First,":[73],"we":[74,88,114],"symbolically":[75],"execute":[76],"identify":[81],"all":[82,95,104],"possible":[83],"variations.":[86],"Subsequently,":[87],"parse":[89],"with":[94],"its":[96],"variations":[97,106],"into":[98],"VarDOM":[100],"that":[101,133],"compactly":[102],"represents":[103],"DOM":[105],"further":[108],"analysis.":[109],"Based":[110],"VarDOM,":[113],"conditional":[116],"graphs":[118],"HTML,":[121],"CSS,":[122],"JS.":[124],"empirical":[126],"evaluation":[127],"real-world":[129],"applications":[131],"show":[132],"our":[134],"analysis":[135],"achieves":[136],"100%":[137],"precision":[138],"in":[139,157],"identifying":[140],"call-graph":[141],"edges.":[142],"62%":[143],"of":[144,152],"edges":[146],"cross":[147,154],"PHP":[148],"strings,":[149],"17%":[151],"them":[153],"files":[155],"-":[156],"both":[158],"situations,":[159],"navigation":[160],"without":[161],"tedious":[165],"error":[167],"prone.":[168]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":4},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":5},{"year":2016,"cited_by_count":5},{"year":2015,"cited_by_count":10},{"year":2014,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
