{"id":"https://openalex.org/W4400582828","doi":"https://doi.org/10.1145/3643749","title":"Fast Graph Simplification for Path-Sensitive Typestate Analysis through Tempo-Spatial Multi-Point Slicing","display_name":"Fast Graph Simplification for Path-Sensitive Typestate Analysis through Tempo-Spatial Multi-Point Slicing","publication_year":2024,"publication_date":"2024-07-12","ids":{"openalex":"https://openalex.org/W4400582828","doi":"https://doi.org/10.1145/3643749"},"language":"en","primary_location":{"id":"doi:10.1145/3643749","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3643749","pdf_url":null,"source":{"id":"https://openalex.org/S4404663975","display_name":"Proceedings of the ACM on software engineering.","issn_l":"2994-970X","issn":["2994-970X"],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Software Engineering","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://doi.org/10.1145/3643749","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5036194526","display_name":"Xiao Cheng","orcid":"https://orcid.org/0000-0001-5456-3827"},"institutions":[{"id":"https://openalex.org/I31746571","display_name":"UNSW Sydney","ror":"https://ror.org/03r8z3t63","country_code":"AU","type":"education","lineage":["https://openalex.org/I31746571"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Xiao Cheng","raw_affiliation_strings":["University of New South Wales, Sydney, Australia"],"raw_orcid":"https://orcid.org/0000-0001-5456-3827","affiliations":[{"raw_affiliation_string":"University of New South Wales, Sydney, Australia","institution_ids":["https://openalex.org/I31746571"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5101808667","display_name":"Jiawei Ren","orcid":"https://orcid.org/0000-0001-7635-468X"},"institutions":[{"id":"https://openalex.org/I31746571","display_name":"UNSW Sydney","ror":"https://ror.org/03r8z3t63","country_code":"AU","type":"education","lineage":["https://openalex.org/I31746571"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Jiawei Ren","raw_affiliation_strings":["University of New South Wales, Sydney, Australia"],"raw_orcid":"https://orcid.org/0000-0001-7635-468X","affiliations":[{"raw_affiliation_string":"University of New South Wales, Sydney, Australia","institution_ids":["https://openalex.org/I31746571"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5053058502","display_name":"Yulei Sui","orcid":"https://orcid.org/0000-0002-9510-6574"},"institutions":[{"id":"https://openalex.org/I31746571","display_name":"UNSW Sydney","ror":"https://ror.org/03r8z3t63","country_code":"AU","type":"education","lineage":["https://openalex.org/I31746571"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Yulei Sui","raw_affiliation_strings":["University of New South Wales, Sydney, Australia"],"raw_orcid":"https://orcid.org/0000-0002-9510-6574","affiliations":[{"raw_affiliation_string":"University of New South Wales, Sydney, Australia","institution_ids":["https://openalex.org/I31746571"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I31746571"],"apc_list":null,"apc_paid":null,"fwci":1.8578,"has_fulltext":false,"cited_by_count":5,"citation_normalized_percentile":{"value":0.87311246,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":98},"biblio":{"volume":"1","issue":"FSE","first_page":"494","last_page":"516"},"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.9954000115394592,"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.9954000115394592,"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/T10799","display_name":"Data Visualization and Analytics","score":0.9832000136375427,"subfield":{"id":"https://openalex.org/subfields/1707","display_name":"Computer Vision and Pattern Recognition"},"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/T12016","display_name":"Web Data Mining and Analysis","score":0.9557999968528748,"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/slicing","display_name":"Slicing","score":0.8683326244354248},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.6889678835868835},{"id":"https://openalex.org/keywords/path","display_name":"Path (computing)","score":0.5672934055328369},{"id":"https://openalex.org/keywords/graph","display_name":"Graph","score":0.5417457818984985},{"id":"https://openalex.org/keywords/point","display_name":"Point (geometry)","score":0.43959981203079224},{"id":"https://openalex.org/keywords/program-slicing","display_name":"Program slicing","score":0.4286603033542633},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.4194043278694153},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.35563284158706665},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.22193047404289246},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.1667444407939911},{"id":"https://openalex.org/keywords/computer-graphics","display_name":"Computer graphics (images)","score":0.15539684891700745}],"concepts":[{"id":"https://openalex.org/C2776190703","wikidata":"https://www.wikidata.org/wiki/Q488148","display_name":"Slicing","level":2,"score":0.8683326244354248},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6889678835868835},{"id":"https://openalex.org/C2777735758","wikidata":"https://www.wikidata.org/wiki/Q817765","display_name":"Path (computing)","level":2,"score":0.5672934055328369},{"id":"https://openalex.org/C132525143","wikidata":"https://www.wikidata.org/wiki/Q141488","display_name":"Graph","level":2,"score":0.5417457818984985},{"id":"https://openalex.org/C28719098","wikidata":"https://www.wikidata.org/wiki/Q44946","display_name":"Point (geometry)","level":2,"score":0.43959981203079224},{"id":"https://openalex.org/C91071405","wikidata":"https://www.wikidata.org/wiki/Q1413145","display_name":"Program slicing","level":3,"score":0.4286603033542633},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.4194043278694153},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.35563284158706665},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.22193047404289246},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.1667444407939911},{"id":"https://openalex.org/C121684516","wikidata":"https://www.wikidata.org/wiki/Q7600677","display_name":"Computer graphics (images)","level":1,"score":0.15539684891700745},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3643749","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3643749","pdf_url":null,"source":{"id":"https://openalex.org/S4404663975","display_name":"Proceedings of the ACM on software engineering.","issn_l":"2994-970X","issn":["2994-970X"],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Software Engineering","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3643749","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3643749","pdf_url":null,"source":{"id":"https://openalex.org/S4404663975","display_name":"Proceedings of the ACM on software engineering.","issn_l":"2994-970X","issn":["2994-970X"],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Software Engineering","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G5537681783","display_name":null,"funder_award_id":"DP210101348, FT220100391","funder_id":"https://openalex.org/F4320334704","funder_display_name":"Australian Research Council"}],"funders":[{"id":"https://openalex.org/F4320334704","display_name":"Australian Research Council","ror":"https://ror.org/05mmh0f86"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":57,"referenced_works":["https://openalex.org/W1508927144","https://openalex.org/W1667615663","https://openalex.org/W1966982815","https://openalex.org/W1974380148","https://openalex.org/W1994702126","https://openalex.org/W1995350708","https://openalex.org/W1996567876","https://openalex.org/W1998070736","https://openalex.org/W2043100293","https://openalex.org/W2044590882","https://openalex.org/W2065088439","https://openalex.org/W2073264387","https://openalex.org/W2080573945","https://openalex.org/W2091712774","https://openalex.org/W2091879780","https://openalex.org/W2096587139","https://openalex.org/W2103714221","https://openalex.org/W2115725211","https://openalex.org/W2117948828","https://openalex.org/W2123691799","https://openalex.org/W2134311998","https://openalex.org/W2140809377","https://openalex.org/W2142840915","https://openalex.org/W2148755014","https://openalex.org/W2156881251","https://openalex.org/W2158798798","https://openalex.org/W2162969183","https://openalex.org/W2170181173","https://openalex.org/W2295857493","https://openalex.org/W2297774820","https://openalex.org/W2511015845","https://openalex.org/W2556634892","https://openalex.org/W2773223713","https://openalex.org/W2794823999","https://openalex.org/W2799226481","https://openalex.org/W2927576984","https://openalex.org/W2995887959","https://openalex.org/W3019415692","https://openalex.org/W3033818254","https://openalex.org/W3089416068","https://openalex.org/W3089510663","https://openalex.org/W3107793421","https://openalex.org/W3147482974","https://openalex.org/W3161071537","https://openalex.org/W3173766797","https://openalex.org/W3193229157","https://openalex.org/W3195901183","https://openalex.org/W4214730640","https://openalex.org/W4246117430","https://openalex.org/W4246166885","https://openalex.org/W4255990314","https://openalex.org/W4285490489","https://openalex.org/W4285821122","https://openalex.org/W4379537148","https://openalex.org/W4394745436","https://openalex.org/W6891714613","https://openalex.org/W6892548825"],"related_works":["https://openalex.org/W2134982133","https://openalex.org/W1964336761","https://openalex.org/W2991905743","https://openalex.org/W4239953224","https://openalex.org/W2112395437","https://openalex.org/W4302024603","https://openalex.org/W2347708239","https://openalex.org/W2170816480","https://openalex.org/W1595405651","https://openalex.org/W2011854888"],"abstract_inverted_index":{"Typestate":[0],"analysis":[1,32],"is":[2],"a":[3,15,25,35,61,98,123,154,165,178,200,264,269,325,353],"commonly":[4],"used":[5],"static":[6],"technique":[7,127],"to":[8,77,223,318,335],"identify":[9],"software":[10],"vulnerabilities":[11,80],"by":[12,24,39,109,145],"assessing":[13],"if":[14],"sequence":[16],"of":[17,51,68,118,187,205,227,249,252,256,259,266,273,316,328,333,356,368,379],"operations":[18],"violates":[19],"temporal":[20,82,112,131],"safety":[21],"specifications":[22],"defined":[23],"finite":[26],"state":[27],"automaton.":[28],"Path":[29],"sensitive":[30],"typestate":[31,79],"(PSTA)":[33],"offers":[34,169],"more":[36,179],"precise":[37],"solution":[38],"eliminating":[40],"false":[41],"alarms":[42],"stemming":[43],"from":[44],"infeasible":[45],"paths.":[46],"To":[47],"improve":[48],"the":[49,65,85,116,130,136,143,148,202,206,260,276,301,342,369],"efficiency":[50,204],"path-sensitive":[52],"analysis,":[53],"previous":[54],"efforts":[55],"have":[56],"incorporated":[57],"sparse":[58,119],"techniques,":[59],"with":[60,314,331,352],"focus":[62],"on":[63,275,300,321,338],"analyzing":[64],"path":[66,196],"feasibility":[67,197],"def-use":[69],"chains.":[70],"However,":[71],"they":[72],"cannot":[73],"be":[74],"directly":[75],"applied":[76],"detect":[78,224],"requiring":[81],"information":[83,113],"within":[84,135,191],"control":[86],"flow":[87],"graph":[88,161,183],"like":[89],"use-to-use":[90],"information.":[91],"In":[92,358],"this":[93],"paper,":[94],"we":[95],"introduce":[96],"FGS,":[97],"F":[99],"ast":[100],"G":[101],"raph":[102],"S":[103],"implification":[104],"approach":[105],"designed":[106],"for":[107,157,172],"PSTA":[108,174,207],"retaining":[110],"multi-point":[111,125],"while":[114],"harnessing":[115],"advantages":[117],"analysis.":[120],"We":[121,212],"propose":[122],"new":[124],"slicing":[126],"that":[128,285],"captures":[129],"and":[132,189,194,218,234,254,268,297,323],"spatial":[133],"correlations":[134],"program.":[137],"By":[138],"doing":[139],"so,":[140],"it":[141],"optimizes":[142],"program":[144,150],"only":[146,364],"preserving":[147],"necessary":[149],"dependencies,":[151],"resulting":[152],"in":[153],"sparser":[155],"structure":[156],"precision-preserving":[158,182],"PSTA.":[159],"Our":[160,280],"simplification":[162],"approach,":[163],"as":[164],"fast":[166],"preprocessing":[167],"step,":[168],"several":[170],"benefits":[171],"existing":[173],"algorithms.":[175],"These":[176],"include":[177],"concise":[180],"yet":[181],"structure,":[184],"decreased":[185],"numbers":[186],"variables":[188],"constraints":[190],"execution":[192],"states,":[193],"simplified":[195],"checking.":[198],"As":[199],"result,":[201],"overall":[203],"algorithm":[208],"exhibits":[209],"significant":[210],"improvement.":[211],"evaluated":[213],"FGS":[214,241,246,286,309,346],"using":[215],"NIST":[216,302],"benchmarks":[217],"ten":[219,343],"real-world":[220],"large-scale":[221,344],"projects":[222,278],"four":[225],"types":[226],"vulnerabilities,":[228],"including":[229],"memory":[230,270],"leaks,":[231],"double-frees,":[232],"use-after-frees,":[233],"null":[235],"dereferences.":[236],"On":[237],"average,":[238],"when":[239],"comparing":[240],"against":[242],"ESP":[243],"(baseline":[244],"PSTA),":[245],"reduces":[247],"89%":[248],"nodes,":[250],"86%":[251],"edges,":[253],"88%":[255],"calling":[257],"context":[258],"input":[261],"graphs,":[262],"obtaining":[263],"speedup":[265],"116\u00d7":[267],"usage":[271],"reduction":[272],"93%":[274],"large":[277],"evaluated.":[279],"experimental":[281],"results":[282],"also":[283,373],"demonstrate":[284],"outperforms":[287],"six":[288],"open-source":[289],"tools":[290,362],"(IKOS,":[291],"ClangSA,":[292],"Saber,":[293],"Cppcheck,":[294],"Infer":[295],",":[296],"Sparrow":[298],")":[299],"benchmarks,":[303],"which":[304],"comprises":[305],"846":[306],"programs.":[307],"Specifically,":[308],"achieves":[310],"significantly":[311],"higher":[312],"precision,":[313],"improvements":[315],"up":[317,334],"171%":[319],"(42%":[320],"average),":[322],"detects":[324],"greater":[326],"number":[327],"true":[329],"positives,":[330],"enhancements":[332],"245%":[336],"(52%":[337],"average).":[339],"Moreover,":[340],"among":[341],"projects,":[345],"successfully":[347],"found":[348],"105":[349],"real":[350,370],"bugs":[351,371],"precision":[354,377],"rate":[355,378],"82%.":[357],"contrast,":[359],"our":[360],"baseline":[361],"not":[363],"missed":[365],"over":[366],"42%":[367],"but":[372],"yielded":[374],"an":[375],"average":[376],"just":[380],"13%.":[381]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":4}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
