{"id":"https://openalex.org/W2183755357","doi":null,"title":"Scalable Path-Sensitive Program Analysis via Dynamic Programming","display_name":"Scalable Path-Sensitive Program Analysis via Dynamic Programming","publication_year":2010,"publication_date":"2010-01-01","ids":{"openalex":"https://openalex.org/W2183755357","mag":"2183755357"},"language":"en","primary_location":{"id":"pmh:oai:CiteSeerX.psu:10.1.1.185.2764","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.185.2764","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.comp.nus.edu.sg/%7Ejoxan/papers/fw.pdf","raw_type":"text"},"volume":null,"type":"article","is_traditional":true,"indexed_in":[],"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/A5058689103","display_name":"Joxan Jaffar","orcid":"https://orcid.org/0000-0001-9988-6144","observed_orcids":["https://orcid.org/0000-0001-9988-6144"]},"institutions":[{"id":"https://openalex.org/I165932596","display_name":"National University of Singapore","ror":"https://ror.org/01tgyzw49","country_code":"SG","type":"education","lineage":["https://openalex.org/I165932596"]}],"countries":["SG"],"is_corresponding":false,"raw_author_name":"Joxan Jaffar","raw_affiliation_strings":["National University of Singapore,"],"raw_orcid":"https://orcid.org/0000-0001-9988-6144","affiliations":[{"raw_affiliation_string":"National University of Singapore,","institution_ids":["https://openalex.org/I165932596"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5026684100","display_name":"Jorge A. Navas","orcid":"https://orcid.org/0000-0002-0516-1167","observed_orcids":["https://orcid.org/0000-0002-0516-1167"]},"institutions":[{"id":"https://openalex.org/I165932596","display_name":"National University of Singapore","ror":"https://ror.org/01tgyzw49","country_code":"SG","type":"education","lineage":["https://openalex.org/I165932596"]}],"countries":["SG"],"is_corresponding":false,"raw_author_name":"Jorge A. Navas","raw_affiliation_strings":["National University of Singapore,"],"raw_orcid":"https://orcid.org/0000-0002-0516-1167","affiliations":[{"raw_affiliation_string":"National University of Singapore,","institution_ids":["https://openalex.org/I165932596"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5013712945","display_name":"Andrew E. Santosa","orcid":"https://orcid.org/0000-0003-0396-0894","observed_orcids":["https://orcid.org/0000-0003-0396-0894"]},"institutions":[{"id":"https://openalex.org/I165932596","display_name":"National University of Singapore","ror":"https://ror.org/01tgyzw49","country_code":"SG","type":"education","lineage":["https://openalex.org/I165932596"]}],"countries":["SG"],"is_corresponding":false,"raw_author_name":"Andrew E. Santosa","raw_affiliation_strings":["National University of Singapore,"],"raw_orcid":"https://orcid.org/0000-0003-0396-0894","affiliations":[{"raw_affiliation_string":"National University of Singapore,","institution_ids":["https://openalex.org/I165932596"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I165932596"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.0,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.7910000085830688,"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"}},"topics":[{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.7910000085830688,"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/T10126","display_name":"Logic, programming, and type systems","score":0.19509999454021454,"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/T10142","display_name":"Formal Methods in Verification","score":0.00279999990016222,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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/dynamic-programming","display_name":"dynamic programming","score":0.8970000147819519},{"id":"https://openalex.org/keywords/symbolic-execution","display_name":"symbolic execution","score":0.968999981880188},{"id":"https://openalex.org/keywords/interpolation","display_name":"interpolation","score":0.8569999933242798},{"id":"https://openalex.org/keywords/scalability","display_name":"scalability","score":0.4580000042915344},{"id":"https://openalex.org/keywords/backward-slicing","display_name":"backward slicing","score":0.7900000214576721},{"id":"https://openalex.org/keywords/abstract-interpretation","display_name":"abstract interpretation","score":0.6880000233650208},{"id":"https://openalex.org/keywords/loop-invariants","display_name":"loop invariants","score":0.8349999785423279},{"id":"https://openalex.org/keywords/context-sensitive-analysis","display_name":"context-sensitive analysis","score":0.5220000147819519},{"id":"https://openalex.org/keywords/c-programs","display_name":"C programs","score":0.40400001406669617}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8395949006080627},{"id":"https://openalex.org/C2779639559","wikidata":"https://www.wikidata.org/wiki/Q7661178","display_name":"Symbolic execution","level":3,"score":0.7907419800758362},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.6551412343978882},{"id":"https://openalex.org/C91071405","wikidata":"https://www.wikidata.org/wiki/Q1413145","display_name":"Program slicing","level":3,"score":0.6070695519447327},{"id":"https://openalex.org/C2780654840","wikidata":"https://www.wikidata.org/wiki/Q333341","display_name":"Abstract interpretation","level":2,"score":0.6063395738601685},{"id":"https://openalex.org/C2777735758","wikidata":"https://www.wikidata.org/wiki/Q817765","display_name":"Path (computing)","level":2,"score":0.5927045941352844},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.5739487409591675},{"id":"https://openalex.org/C108010975","wikidata":"https://www.wikidata.org/wiki/Q500094","display_name":"Pruning","level":2,"score":0.5420731902122498},{"id":"https://openalex.org/C206588197","wikidata":"https://www.wikidata.org/wiki/Q846574","display_name":"Reuse","level":2,"score":0.5296734571456909},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.515770673751831},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.48426884412765503},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.44595056772232056},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.44517219066619873},{"id":"https://openalex.org/C15569618","wikidata":"https://www.wikidata.org/wiki/Q3561421","display_name":"Liveness","level":2,"score":0.41292935609817505},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4014352560043335},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.37351804971694946},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.36665573716163635},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.268340528011322},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.10026878118515015},{"id":"https://openalex.org/C6557445","wikidata":"https://www.wikidata.org/wiki/Q173113","display_name":"Agronomy","level":1,"score":0.0},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"pmh:oai:CiteSeerX.psu:10.1.1.185.2764","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.185.2764","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.comp.nus.edu.sg/%7Ejoxan/papers/fw.pdf","raw_type":"text"},{"id":"mag:2183755357","doi":null,"is_oa":false,"landing_page_url":"https://www.comp.nus.edu.sg/~joxan/papers/fw.pdf","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":null}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":26,"referenced_works":["https://openalex.org/W1515906028","https://openalex.org/W1533964197","https://openalex.org/W1602826054","https://openalex.org/W1992431017","https://openalex.org/W2028806953","https://openalex.org/W2036918610","https://openalex.org/W2043100293","https://openalex.org/W2062444590","https://openalex.org/W2063727779","https://openalex.org/W2067836954","https://openalex.org/W2103714221","https://openalex.org/W2103953153","https://openalex.org/W2107112536","https://openalex.org/W2113085322","https://openalex.org/W2114633883","https://openalex.org/W2124153277","https://openalex.org/W2139381299","https://openalex.org/W2139668965","https://openalex.org/W2140809377","https://openalex.org/W2144789370","https://openalex.org/W2151463894","https://openalex.org/W2162284942","https://openalex.org/W2170736936","https://openalex.org/W2295903414","https://openalex.org/W2522890436","https://openalex.org/W2913256667"],"related_works":["https://openalex.org/W7098609202","https://openalex.org/W2556221165","https://openalex.org/W2185252592","https://openalex.org/W3000661531","https://openalex.org/W7098536262","https://openalex.org/W2008812751","https://openalex.org/W2006860739","https://openalex.org/W6889917701","https://openalex.org/W2318531736","https://openalex.org/W2187683201"],"abstract_inverted_index":{"Path-sensitivity":[0],"improves":[1],"program":[2],"analysis":[3,30,127],"by":[4,152,186,214],"excluding":[5],"infeasible":[6],"paths":[7,13,137,159,171],"and":[8,120,166],"avoiding":[9],"the":[10,96,112,116,122,136,173,177,196],"merging":[11],"of":[12,62,83,90,98,114,124,135,157,211,243,245,247],"into":[14],"a":[15,39,88,147,155,163,183,218,236],"single":[16],"abstraction":[17,197],"if":[18],"they":[19],"exhibit":[20],"different":[21,79],"behavior.":[22],"The":[23,81],"main":[24],"challenge":[25],"however":[26],"is":[27,31,70,121,199],"that":[28,102,154,160,169,198,227],"path-sensitive":[29],"not":[32],"scalable.":[33,128],"In":[34,176],"this":[35],"paper,":[36],"we":[37,167,179],"present":[38],"symbolic":[40,55,72,99,117],"execution-based":[41],"framework":[42,191,213],"which":[43],"uses":[44],"dynamic":[45],"programming":[46],"(DP)":[47],"in":[48,92,107,140,182],"order":[49,93],"to":[50,86,94,149,201,241],"reuse":[51],"analyses":[52],"arising":[53],"from":[54],"execution":[56,73,100,118],"already":[57],"performed.":[58],"A":[59],"straightforward":[60],"implementation":[61],"DP,":[63],"however,":[64],"will":[65],"allow":[66],"little":[67],"reuse.":[68],"This":[69,110],"because":[71,133],"repeatedly":[74],"considers":[75],"similar":[76],"subtrees":[77],"with":[78,217],"contexts.":[80],"first":[82],"our":[84,126,190,212,228],"contributions":[85],"use":[87],"method":[89],"interpolation":[91,130],"generalize":[95],"result":[97],"so":[101],"it":[103,216],"can":[104,230],"be":[105,142],"reused":[106],"another":[108],"context.":[109],"has":[111],"effect":[113],"pruning":[115],"space,":[119],"basis":[123],"making":[125],"However,":[129],"introduces":[131],"inaccuracy":[132],"some":[134],"pruned":[138,170],"may":[139],"fact":[141],"infeasible.":[143],"We":[144,207,225],"therefore":[145],"introduce":[146],"technique":[148],"ensure":[150],"precision":[151],"testing":[153],"notion":[156],"witness":[158,174],"concretely":[161],"demonstrate":[162,209],"particular":[164],"analysis,":[165],"require":[168],"satisfy":[172],"criterion.":[175],"end,":[178],"show":[180,226],"that,":[181],"sense":[184],"defined":[185],"traditional":[187],"abstract":[188],"interpretation,":[189],"loses":[192],"no":[193],"accuracy":[194],"beyond":[195],"required":[200],"close":[202],"loops":[203],"via":[204],"their":[205],"invariants.":[206],"finally":[208],"practicality":[210],"instantiating":[215],"driving":[219],"application:":[220],"static":[221],"backward":[222],"slicing":[223],"analysis.":[224],"approach":[229],"produce":[231],"slices":[232],"significantly":[233],"smaller":[234],"than":[235],"path-insensitive":[237],"version":[238],"scaling":[239],"up":[240],"tens":[242],"thousand":[244],"lines":[246],"C":[248],"code.":[249],"1.":[250]},"counts_by_year":[],"updated_date":"2026-08-26T07:47:46.906454","created_date":"2016-06-24T00:00:00"}
