{"id":"https://openalex.org/W2042465741","doi":"https://doi.org/10.1145/1273463.1273478","title":"Variably interprocedural program analysis for runtime error detection","display_name":"Variably interprocedural program analysis for runtime error detection","publication_year":2007,"publication_date":"2007-07-09","ids":{"openalex":"https://openalex.org/W2042465741","doi":"https://doi.org/10.1145/1273463.1273478","mag":"2042465741"},"language":"en","primary_location":{"id":"doi:10.1145/1273463.1273478","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1273463.1273478","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2007 international symposium on Software testing and analysis","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/A5043389542","display_name":"Aaron Tomb","orcid":null},"institutions":[{"id":"https://openalex.org/I185103710","display_name":"University of California, Santa Cruz","ror":"https://ror.org/03s65by71","country_code":"US","type":"education","lineage":["https://openalex.org/I185103710"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Aaron Tomb","raw_affiliation_strings":["Univ. of California, Santa Cruz","University of California/Santa Cruz"],"affiliations":[{"raw_affiliation_string":"Univ. of California, Santa Cruz","institution_ids":["https://openalex.org/I185103710"]},{"raw_affiliation_string":"University of California/Santa Cruz","institution_ids":["https://openalex.org/I185103710"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5082809845","display_name":"Guillaume Brat","orcid":null},"institutions":[{"id":"https://openalex.org/I143663144","display_name":"Research Institute for Advanced Computer Science","ror":"https://ror.org/022qmyy53","country_code":"US","type":"facility","lineage":["https://openalex.org/I1329765538","https://openalex.org/I143663144"]},{"id":"https://openalex.org/I1280536761","display_name":"Ames Research Center","ror":"https://ror.org/02acart68","country_code":"US","type":"facility","lineage":["https://openalex.org/I1280536761","https://openalex.org/I4210124779"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Guillaume Brat","raw_affiliation_strings":["RIACS/NASA Ames"],"affiliations":[{"raw_affiliation_string":"RIACS/NASA Ames","institution_ids":["https://openalex.org/I143663144","https://openalex.org/I1280536761"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5088454541","display_name":"Willem Visser","orcid":"https://orcid.org/0000-0002-0913-3091"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Willem Visser","raw_affiliation_strings":["SEVEN Networks"],"affiliations":[{"raw_affiliation_string":"SEVEN Networks","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5043389542"],"corresponding_institution_ids":["https://openalex.org/I185103710"],"apc_list":null,"apc_paid":null,"fwci":9.2054,"has_fulltext":false,"cited_by_count":58,"citation_normalized_percentile":{"value":0.98104575,"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":"97","last_page":"107"},"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.9998999834060669,"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.9998999834060669,"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/T12423","display_name":"Software Reliability and Analysis Research","score":0.9998000264167786,"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.9993000030517578,"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.8900977969169617},{"id":"https://openalex.org/keywords/symbolic-execution","display_name":"Symbolic execution","score":0.6921646595001221},{"id":"https://openalex.org/keywords/assertion","display_name":"Assertion","score":0.682783842086792},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6002863049507141},{"id":"https://openalex.org/keywords/pointer","display_name":"Pointer (user interface)","score":0.5914034247398376},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.5665743350982666},{"id":"https://openalex.org/keywords/program-analysis","display_name":"Program analysis","score":0.5367642045021057},{"id":"https://openalex.org/keywords/source-lines-of-code","display_name":"Source lines of code","score":0.5257792472839355},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.5193963646888733},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5037466883659363},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.47817355394363403},{"id":"https://openalex.org/keywords/path","display_name":"Path (computing)","score":0.45524826645851135},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.4245380163192749},{"id":"https://openalex.org/keywords/call-graph","display_name":"Call graph","score":0.4205266237258911},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.4156843423843384},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3635846674442291},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.13570374250411987},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.08777058124542236}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8900977969169617},{"id":"https://openalex.org/C2779639559","wikidata":"https://www.wikidata.org/wiki/Q7661178","display_name":"Symbolic execution","level":3,"score":0.6921646595001221},{"id":"https://openalex.org/C40422974","wikidata":"https://www.wikidata.org/wiki/Q741248","display_name":"Assertion","level":2,"score":0.682783842086792},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6002863049507141},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.5914034247398376},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.5665743350982666},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.5367642045021057},{"id":"https://openalex.org/C199519371","wikidata":"https://www.wikidata.org/wiki/Q942695","display_name":"Source lines of code","level":3,"score":0.5257792472839355},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.5193963646888733},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5037466883659363},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.47817355394363403},{"id":"https://openalex.org/C2777735758","wikidata":"https://www.wikidata.org/wiki/Q817765","display_name":"Path (computing)","level":2,"score":0.45524826645851135},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.4245380163192749},{"id":"https://openalex.org/C102379954","wikidata":"https://www.wikidata.org/wiki/Q2589940","display_name":"Call graph","level":2,"score":0.4205266237258911},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4156843423843384},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3635846674442291},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.13570374250411987},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.08777058124542236}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/1273463.1273478","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1273463.1273478","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2007 international symposium on Software testing and analysis","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.65.5985","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.65.5985","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://pag.lcs.mit.edu/reading-group/tomb07variably.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.85.6337","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.85.6337","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.visserhome.com/willem/papers/tomb07variably.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Peace, Justice and strong institutions","score":0.6800000071525574,"id":"https://metadata.un.org/sdg/16"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":33,"referenced_works":["https://openalex.org/W111098712","https://openalex.org/W128817107","https://openalex.org/W1515278398","https://openalex.org/W1539432158","https://openalex.org/W1574842323","https://openalex.org/W1611084195","https://openalex.org/W1720848645","https://openalex.org/W1845288303","https://openalex.org/W1983119041","https://openalex.org/W1983705309","https://openalex.org/W1984354572","https://openalex.org/W1986453394","https://openalex.org/W1993836075","https://openalex.org/W2009489720","https://openalex.org/W2069296844","https://openalex.org/W2087252615","https://openalex.org/W2094382938","https://openalex.org/W2096449544","https://openalex.org/W2101512909","https://openalex.org/W2104136059","https://openalex.org/W2117058582","https://openalex.org/W2120138937","https://openalex.org/W2146641295","https://openalex.org/W2150684130","https://openalex.org/W2155786233","https://openalex.org/W2167039649","https://openalex.org/W2171480813","https://openalex.org/W2172260321","https://openalex.org/W4237492309","https://openalex.org/W4247288895","https://openalex.org/W4255410821","https://openalex.org/W4285719527","https://openalex.org/W6667714211"],"related_works":["https://openalex.org/W2296034340","https://openalex.org/W345638404","https://openalex.org/W1574842323","https://openalex.org/W2919495556","https://openalex.org/W2134569009","https://openalex.org/W3147482974","https://openalex.org/W2951686222","https://openalex.org/W3003055204","https://openalex.org/W4250336630","https://openalex.org/W2545238856"],"abstract_inverted_index":{"This":[0],"paper":[1],"describes":[2],"an":[3,31,221],"analysis":[4,85,223],"approach":[5],"based":[6],"on":[7,123,131,145,192],"a":[8,34,71,81,121,129,146,156,166],"combination":[9],"of":[10,40,70,134,148,158,172,199,229],"static":[11],"and":[12,48,190],"dynamic":[13],"techniques":[14],"to":[15,26,53,67,98,118,169],"find":[16,27,54],"run-time":[17],"errors":[18,179,195,230],"in":[19,88,163,180,215],"Java":[20],"code.":[21,173],"It":[22,62],"uses":[23],"symbolic":[24,115],"execution":[25,116],"constraints":[28,52],"under":[29],"which":[30],"error":[32,73,217],"(e.g.,":[33],"null":[35],"pointer":[36],"dereference,":[37],"array":[38],"out":[39],"bounds":[41],"access,":[42],"or":[43,128],"assertion":[44],"violation)":[45],"may":[46,58],"occur":[47],"then":[49],"solves":[50],"these":[51],"test":[55],"inputs":[56],"that":[57,161],"expose":[59],"the":[60,65,68,77,109,114,124,132,143,151,181,202,208,216,227],"error.":[61],"only":[63],"alerts":[64],"user":[66],"possibility":[69],"real":[72],"when":[74],"it":[75],"detects":[76],"expected":[78],"exception":[79],"during":[80],"program":[82],"run.":[83],"The":[84,174],"is":[86],"customizable":[87],"two":[89],"important":[90],"ways.":[91],"First,":[92],"we":[93,106,231],"can":[94,107,138],"adjust":[95,108],"how":[96],"deeply":[97],"follow":[99],"calls":[100],"from":[101,150,165],"each":[102,136],"top-level":[103],"method.":[104],"Second,":[105],"path":[110,125],"termination":[111],"condition":[112,126],"for":[113,201,226],"engine":[117],"be":[119,139],"either":[120],"bound":[122,130],"length":[127],"number":[133,157],"times":[135],"instruction":[137],"revisited.":[140],"We":[141],"evaluated":[142],"tool":[144,175],"set":[147],"benchmarks":[149,182],"literature":[152],"as":[153,155,185],"well":[154,184],"real-world":[159],"systems":[160],"range":[162],"size":[164],"few":[167],"thousand":[168],"50,000":[170],"lines":[171,198],"discovered":[176],"all":[177],"known":[178],"(as":[183],"some":[186],"not":[187],"previously":[188],"known)":[189],"reported":[191],"average":[193],"8":[194],"per":[196],"1000":[197],"code":[200],"industrial":[203],"examples.":[204],"In":[205],"both":[206],"cases":[207],"interprocedural":[209],"call":[210],"depth":[211],"played":[212],"little":[213],"role":[214],"detection.":[218],"That":[219],"is,":[220],"intraprocedural":[222],"seems":[224],"adequate":[225],"class":[228],"detect.":[232]},"counts_by_year":[{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":3},{"year":2015,"cited_by_count":2},{"year":2014,"cited_by_count":3},{"year":2013,"cited_by_count":5},{"year":2012,"cited_by_count":10}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
