{"id":"https://openalex.org/W2483461216","doi":"https://doi.org/10.1109/tr.2016.2570538","title":"Eliminating Redundant Bounds Checks in Dynamic Buffer Overflow Detection Using Weakest Preconditions","display_name":"Eliminating Redundant Bounds Checks in Dynamic Buffer Overflow Detection Using Weakest Preconditions","publication_year":2016,"publication_date":"2016-07-26","ids":{"openalex":"https://openalex.org/W2483461216","doi":"https://doi.org/10.1109/tr.2016.2570538","mag":"2483461216"},"language":"en","primary_location":{"id":"doi:10.1109/tr.2016.2570538","is_oa":false,"landing_page_url":"https://doi.org/10.1109/tr.2016.2570538","pdf_url":null,"source":{"id":"https://openalex.org/S87725633","display_name":"IEEE Transactions on Reliability","issn_l":"0018-9529","issn":["0018-9529","1558-1721"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319808","host_organization_name":"Institute of Electrical and Electronics Engineers","host_organization_lineage":["https://openalex.org/P4310319808"],"host_organization_lineage_names":["Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Transactions on Reliability","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"http://handle.unsw.edu.au/1959.4/unsworks_40444","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","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":["School of Computer Science and Engineering, UNSW, Sydney, NSW, Australia"],"raw_orcid":"https://orcid.org/0000-0002-9510-6574","affiliations":[{"raw_affiliation_string":"School of Computer Science and Engineering, UNSW, Sydney, NSW, Australia","institution_ids":["https://openalex.org/I31746571"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5101974630","display_name":"Ye Ding","orcid":"https://orcid.org/0000-0003-3460-1122"},"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":"Ding Ye","raw_affiliation_strings":["School of Computer Science and Engineering, UNSW, Sydney, NSW, Australia"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"School of Computer Science and Engineering, UNSW, Sydney, NSW, Australia","institution_ids":["https://openalex.org/I31746571"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5075435632","display_name":"Yu Su","orcid":"https://orcid.org/0000-0003-4306-0161"},"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":"Yu Su","raw_affiliation_strings":["School of Computer Science and Engineering, UNSW, Sydney, NSW, Australia"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"School of Computer Science and Engineering, UNSW, Sydney, NSW, Australia","institution_ids":["https://openalex.org/I31746571"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5024664385","display_name":"Jingling Xue","orcid":"https://orcid.org/0000-0003-0380-3506"},"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":"Jingling Xue","raw_affiliation_strings":["School of Computer Science and Engineering, UNSW, Sydney, NSW, Australia"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"School of Computer Science and Engineering, UNSW, Sydney, NSW, 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":3.0317,"has_fulltext":false,"cited_by_count":15,"citation_normalized_percentile":{"value":0.92811286,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":"65","issue":"4","first_page":"1682","last_page":"1699"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9998000264167786,"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"}},"topics":[{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9998000264167786,"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"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9990000128746033,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T11005","display_name":"Radiation Effects in Electronics","score":0.9987000226974487,"subfield":{"id":"https://openalex.org/subfields/2208","display_name":"Electrical and Electronic Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"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.8818646669387817},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.686360776424408},{"id":"https://openalex.org/keywords/buffer-overflow","display_name":"Buffer overflow","score":0.6731828451156616},{"id":"https://openalex.org/keywords/pointer","display_name":"Pointer (user interface)","score":0.65631502866745},{"id":"https://openalex.org/keywords/spec#","display_name":"Spec#","score":0.5905635952949524},{"id":"https://openalex.org/keywords/memory-safety","display_name":"Memory safety","score":0.5904803276062012},{"id":"https://openalex.org/keywords/symbolic-execution","display_name":"Symbolic execution","score":0.5489041805267334},{"id":"https://openalex.org/keywords/pointer-analysis","display_name":"Pointer analysis","score":0.49283480644226074},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4587225914001465},{"id":"https://openalex.org/keywords/disjoint-sets","display_name":"Disjoint sets","score":0.4438035786151886},{"id":"https://openalex.org/keywords/software-quality","display_name":"Software quality","score":0.43392807245254517},{"id":"https://openalex.org/keywords/runtime-verification","display_name":"Runtime verification","score":0.4183717668056488},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.39842861890792847},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.3930646479129791},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.33738046884536743},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.3134394884109497},{"id":"https://openalex.org/keywords/formal-verification","display_name":"Formal verification","score":0.19598856568336487},{"id":"https://openalex.org/keywords/computer-hardware","display_name":"Computer hardware","score":0.18244799971580505},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.17952650785446167}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8818646669387817},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.686360776424408},{"id":"https://openalex.org/C40842320","wikidata":"https://www.wikidata.org/wiki/Q19423","display_name":"Buffer overflow","level":2,"score":0.6731828451156616},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.65631502866745},{"id":"https://openalex.org/C2778565505","wikidata":"https://www.wikidata.org/wiki/Q2207566","display_name":"Spec#","level":2,"score":0.5905635952949524},{"id":"https://openalex.org/C28180684","wikidata":"https://www.wikidata.org/wiki/Q4080983","display_name":"Memory safety","level":3,"score":0.5904803276062012},{"id":"https://openalex.org/C2779639559","wikidata":"https://www.wikidata.org/wiki/Q7661178","display_name":"Symbolic execution","level":3,"score":0.5489041805267334},{"id":"https://openalex.org/C7263679","wikidata":"https://www.wikidata.org/wiki/Q5978076","display_name":"Pointer analysis","level":3,"score":0.49283480644226074},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4587225914001465},{"id":"https://openalex.org/C45340560","wikidata":"https://www.wikidata.org/wiki/Q215382","display_name":"Disjoint sets","level":2,"score":0.4438035786151886},{"id":"https://openalex.org/C117447612","wikidata":"https://www.wikidata.org/wiki/Q1412670","display_name":"Software quality","level":4,"score":0.43392807245254517},{"id":"https://openalex.org/C202973057","wikidata":"https://www.wikidata.org/wiki/Q7380130","display_name":"Runtime verification","level":3,"score":0.4183717668056488},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.39842861890792847},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3930646479129791},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.33738046884536743},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.3134394884109497},{"id":"https://openalex.org/C111498074","wikidata":"https://www.wikidata.org/wiki/Q173326","display_name":"Formal verification","level":2,"score":0.19598856568336487},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.18244799971580505},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.17952650785446167},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","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}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1109/tr.2016.2570538","is_oa":false,"landing_page_url":"https://doi.org/10.1109/tr.2016.2570538","pdf_url":null,"source":{"id":"https://openalex.org/S87725633","display_name":"IEEE Transactions on Reliability","issn_l":"0018-9529","issn":["0018-9529","1558-1721"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319808","host_organization_name":"Institute of Electrical and Electronics Engineers","host_organization_lineage":["https://openalex.org/P4310319808"],"host_organization_lineage_names":["Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Transactions on Reliability","raw_type":"journal-article"},{"id":"pmh:oai:unsworks.unsw.edu.au:1959.4/unsworks_40444","is_oa":true,"landing_page_url":"http://handle.unsw.edu.au/1959.4/unsworks_40444","pdf_url":null,"source":{"id":"https://openalex.org/S4377196481","display_name":"UNSWorks (UNSW Sydney)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I31746571","host_organization_name":"UNSW Sydney","host_organization_lineage":["https://openalex.org/I31746571"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"text"},{"id":"pmh:oai:unsworks.library.unsw.edu.au:1959.4/unsworks_40444","is_oa":true,"landing_page_url":"http://hdl.handle.net/1959.4/unsworks_40444","pdf_url":null,"source":{"id":"https://openalex.org/S4306401737","display_name":"UNSWorks (University of New South Wales, Sydney, Australia)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I40053085","host_organization_name":"Australian Defence Force Academy","host_organization_lineage":["https://openalex.org/I40053085"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"IEEE Transactions on Reliability, PP, 99, 1-18","raw_type":"http://purl.org/coar/resource_type/c_6501"}],"best_oa_location":{"id":"pmh:oai:unsworks.unsw.edu.au:1959.4/unsworks_40444","is_oa":true,"landing_page_url":"http://handle.unsw.edu.au/1959.4/unsworks_40444","pdf_url":null,"source":{"id":"https://openalex.org/S4377196481","display_name":"UNSWorks (UNSW Sydney)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I31746571","host_organization_name":"UNSW Sydney","host_organization_lineage":["https://openalex.org/I31746571"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"text"},"sustainable_development_goals":[{"display_name":"Industry, innovation and infrastructure","score":0.6000000238418579,"id":"https://metadata.un.org/sdg/9"}],"awards":[{"id":"https://openalex.org/G1145575863","display_name":"Sparse Demand-Driven Analysis to Improve Software Reliability and Security","funder_award_id":"DP150102109","funder_id":"https://openalex.org/F4320334704","funder_display_name":"Australian Research Council"},{"id":"https://openalex.org/G954699069","display_name":"Finding concurrency bugs in multithreaded software","funder_award_id":"DP130101970","funder_id":"https://openalex.org/F4320334704","funder_display_name":"Australian Research Council"}],"funders":[{"id":"https://openalex.org/F4320320965","display_name":"University of New South Wales","ror":"https://ror.org/03r8z3t63"},{"id":"https://openalex.org/F4320334704","display_name":"Australian Research Council","ror":"https://ror.org/05mmh0f86"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":80,"referenced_works":["https://openalex.org/W46012774","https://openalex.org/W51951760","https://openalex.org/W157156687","https://openalex.org/W951859702","https://openalex.org/W1497762419","https://openalex.org/W1499992849","https://openalex.org/W1535713556","https://openalex.org/W1573046885","https://openalex.org/W1579850852","https://openalex.org/W1611084195","https://openalex.org/W1710734607","https://openalex.org/W1825457006","https://openalex.org/W1878544538","https://openalex.org/W1966634194","https://openalex.org/W1969519208","https://openalex.org/W1973326708","https://openalex.org/W1996567876","https://openalex.org/W1998285060","https://openalex.org/W1999517284","https://openalex.org/W2008106620","https://openalex.org/W2037378467","https://openalex.org/W2037879546","https://openalex.org/W2040384644","https://openalex.org/W2043647957","https://openalex.org/W2047937237","https://openalex.org/W2051527230","https://openalex.org/W2056331235","https://openalex.org/W2063612156","https://openalex.org/W2067872619","https://openalex.org/W2070012519","https://openalex.org/W2072385532","https://openalex.org/W2074847015","https://openalex.org/W2075569702","https://openalex.org/W2080205938","https://openalex.org/W2096267728","https://openalex.org/W2098806455","https://openalex.org/W2106412703","https://openalex.org/W2112936713","https://openalex.org/W2117703831","https://openalex.org/W2119029078","https://openalex.org/W2121218648","https://openalex.org/W2122757982","https://openalex.org/W2124541207","https://openalex.org/W2126774541","https://openalex.org/W2128891167","https://openalex.org/W2130711572","https://openalex.org/W2134569009","https://openalex.org/W2138227076","https://openalex.org/W2138538192","https://openalex.org/W2141205188","https://openalex.org/W2141365240","https://openalex.org/W2155851497","https://openalex.org/W2156858199","https://openalex.org/W2158798798","https://openalex.org/W2160725972","https://openalex.org/W2165266180","https://openalex.org/W2171938395","https://openalex.org/W2189959137","https://openalex.org/W2289498116","https://openalex.org/W2606963276","https://openalex.org/W3092545530","https://openalex.org/W3140543042","https://openalex.org/W3147482974","https://openalex.org/W4236756281","https://openalex.org/W4242009960","https://openalex.org/W4242383889","https://openalex.org/W4250584194","https://openalex.org/W4251697482","https://openalex.org/W6606430823","https://openalex.org/W6629885503","https://openalex.org/W6632050797","https://openalex.org/W6634652938","https://openalex.org/W6637688222","https://openalex.org/W6638583435","https://openalex.org/W6639560864","https://openalex.org/W6664604063","https://openalex.org/W6685072004","https://openalex.org/W6736295056","https://openalex.org/W7005188035","https://openalex.org/W7028942890"],"related_works":["https://openalex.org/W2755634893","https://openalex.org/W176800827","https://openalex.org/W1637912404","https://openalex.org/W1507845365","https://openalex.org/W2899326588","https://openalex.org/W3016868552","https://openalex.org/W4244118184","https://openalex.org/W2905611097","https://openalex.org/W2966717793","https://openalex.org/W2483461216"],"abstract_inverted_index":{"Spatial":[0],"errors":[1,52,114],"(e.g.,":[2],"buffer":[3],"overflows)":[4],"continue":[5],"to":[6,13,33,53,84,132,240],"be":[7,46],"one":[8],"of":[9,76,112,147,200,221,235,245],"the":[10,22,74,97,103,110,116,120,125,145,231],"dominant":[11],"threats":[12],"software":[14,23,138],"reliability":[15],"and":[16,185,215,228],"security":[17],"in":[18,37,56,160,182,204],"C/C++":[19],"programs.":[20],"Presently,":[21],"industry":[24],"typically":[25],"enforces":[26],"spatial":[27,51,187],"memory":[28],"safety":[29,188],"by":[30,206],"instrumentation.":[31],"Due":[32],"high":[34],"overheads":[35,71],"incurred":[36],"bounds":[38,69,87,122],"checking":[39,70,172],"at":[40,89,115],"runtime,":[41],"many":[42],"program":[43],"inputs":[44],"cannot":[45],"exercised,":[47],"causing":[48],"some":[49],"input-specific":[50],"go":[54],"undetected":[55],"today's":[57],"commercial":[58],"software.":[59],"This":[60,127],"paper":[61],"introduces":[62],"a":[63,86,90,94,153,170,179,197,219,243],"new":[64,192],"compile-time":[65,154],"approach":[66,129,136,211],"for":[67,189],"reducing":[68],"based":[72],"on":[73],"notion":[75],"weakest":[77],"precondition":[78],"(WP).":[79],"The":[80],"basic":[81],"idea":[82],"is":[83,100,130,196],"guard":[85,99],"check":[88,123],"pointer":[91],"dereference":[92],"inside":[93,124],"loop,":[95,104],"where":[96],"WP-based":[98,128,209],"hoisted":[101],"outside":[102],"so":[105],"that":[106],"its":[107],"falsehood":[108],"implies":[109],"absence":[111],"out-of-bounds":[113],"dereference,":[117],"thereby":[118],"avoiding":[119],"corresponding":[121],"loop.":[126],"applicable":[131],"any":[133],"spatial-error":[134],"detection":[135],"(in":[137],"or":[139,141],"hardware":[140],"both).":[142],"To":[143],"evaluate":[144],"effectiveness":[146],"our":[148,166,208],"approach,":[149],"we":[150],"take":[151],"SoftBound,":[152,201],"tool":[155,181],"with":[156,174,247],"an":[157],"open-source":[158],"implementation":[159],"low-level":[161],"virtual":[162],"machine":[163],"(LLVM),":[164],"as":[165],"baseline.":[167],"SoftBound":[168],"adopts":[169],"pointer-based":[171],"scheme":[173],"disjoint":[175],"metadata,":[176],"making":[177],"it":[178],"state-of-the-art":[180],"providing":[183],"compatible":[184],"complete":[186],"C.":[190],"Our":[191],"tool,":[193],"called":[194],"WPBound,":[195],"refined":[198],"version":[199],"also":[202],"implemented":[203],"LLVM,":[205],"incorporating":[207],"compiler":[210],"comprising":[212],"both":[213],"intra":[214],"interprocedural":[216],"optimizations.":[217],"For":[218],"set":[220],"20":[222],"C":[223],"benchmarks":[224],"selected":[225],"from":[226,238],"SPEC":[227],"MiBench,WPBound":[229],"reduces":[230],"average":[232],"runtime":[233],"overhead":[234],"SoftB":[236],"ound":[237],"77%":[239],"47%":[241],"(by":[242],"reduction":[244],"39%),":[246],"small":[248],"code":[249],"size":[250],"increases.":[251]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":2},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":4},{"year":2017,"cited_by_count":3}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
