{"id":"https://openalex.org/W2038053930","doi":"https://doi.org/10.1145/512950.512963","title":"Implementation of an array bound checker","display_name":"Implementation of an array bound checker","publication_year":1977,"publication_date":"1977-01-01","ids":{"openalex":"https://openalex.org/W2038053930","doi":"https://doi.org/10.1145/512950.512963","mag":"2038053930"},"language":"en","primary_location":{"is_oa":false,"landing_page_url":"https://doi.org/10.1145/512950.512963","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false},"type":"article","type_crossref":"proceedings-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/A5077995736","display_name":"Norihisa Suzuki","orcid":null},"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":"Norihisa Suzuki","raw_affiliation_strings":["Carnegie-Mellon University, Pittsburgh, PA."],"affiliations":[{"raw_affiliation_string":"Carnegie-Mellon University, Pittsburgh, PA.","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5051252183","display_name":"Kiyoshi Ishihata","orcid":null},"institutions":[{"id":"https://openalex.org/I74801974","display_name":"The University of Tokyo","ror":"https://ror.org/057zh3y96","country_code":"JP","type":"education","lineage":["https://openalex.org/I74801974"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Kiyoshi Ishihata","raw_affiliation_strings":["Univ. of Tokyo, Tokyo (Japan)"],"affiliations":[{"raw_affiliation_string":"Univ. of Tokyo, Tokyo (Japan)","institution_ids":["https://openalex.org/I74801974"]}]}],"institution_assertions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":2.138,"has_fulltext":true,"fulltext_origin":"ngrams","cited_by_count":114,"citation_normalized_percentile":{"value":0.930233,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":97,"max":98},"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9995,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9995,"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.9994,"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/T10142","display_name":"Formal Methods in Verification","score":0.9991,"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/programmer","display_name":"Programmer","score":0.75810456},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.51379853},{"id":"https://openalex.org/keywords/binary-decision-diagram","display_name":"Binary decision diagram","score":0.414491}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.82713497},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.7739186},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.75810456},{"id":"https://openalex.org/C77553402","wikidata":"https://www.wikidata.org/wiki/Q13222579","display_name":"Upper and lower bounds","level":2,"score":0.60073197},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.56040746},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.51379853},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.4630236},{"id":"https://openalex.org/C110251889","wikidata":"https://www.wikidata.org/wiki/Q1569697","display_name":"Model checking","level":2,"score":0.44775268},{"id":"https://openalex.org/C97137487","wikidata":"https://www.wikidata.org/wiki/Q729138","display_name":"Integer (computer science)","level":2,"score":0.43648762},{"id":"https://openalex.org/C3309909","wikidata":"https://www.wikidata.org/wiki/Q864155","display_name":"Binary decision diagram","level":2,"score":0.414491},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.36492345},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.33882472},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.20612848},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.15352103},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"is_oa":false,"landing_page_url":"https://doi.org/10.1145/512950.512963","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false}],"best_oa_location":null,"sustainable_development_goals":[],"grants":[],"datasets":[],"versions":[],"referenced_works_count":7,"referenced_works":["https://openalex.org/W1517987377","https://openalex.org/W1572470107","https://openalex.org/W1968482350","https://openalex.org/W1978367838","https://openalex.org/W2066210260","https://openalex.org/W2075913776","https://openalex.org/W2138162238"],"related_works":["https://openalex.org/W85300993","https://openalex.org/W4390481443","https://openalex.org/W4252501555","https://openalex.org/W3097218026","https://openalex.org/W2803843036","https://openalex.org/W2611966366","https://openalex.org/W2542904743","https://openalex.org/W2471151559","https://openalex.org/W2003848320","https://openalex.org/W1583869287"],"abstract_inverted_index":{"This":[0,507],"paper":[1],"describes":[2],"a":[3,26,41,114,363,366,416,420,422,438,485],"system":[4,352,369],"which":[5,154,167,432],"checks":[6],"correctness":[7],"of":[8,65,254,270,327,365,440,476,497,504,510,513,526],"array":[9,21,182,376,412],"accesses":[10],"automatically":[11],"without":[12],"any":[13],"inductive":[14,407],"assertions":[15,118,151,175,373,381,400],"or":[16,34,49,67,297,342,418],"human":[17],"interaction.":[18],"For":[19],"each":[20],"access":[22,395],"in":[23,135,283,329,391,529],"the":[24,29,37,44,52,58,62,139,146,162,223,227,266,284,302,330,386,389,394,434,495,502,511,523],"program":[25,95,105,228],"condition":[27,42,224],"that":[28,43,108,221,251,265,379,464],"subscript":[30,45],"is":[31,46,107,110,244,261,425],"greater":[32],"than":[33,48],"equal":[35,50],"to":[36,51,116,137,246,279,311,319,337,345,359,396,448,459,501],"lower":[38],"bound":[39,54],"and":[40,57,83,165,315,484],"smaller":[47],"upper":[53],"are":[55,69,149,184,194,199,205,401],"checked":[56,170],"results":[59],"indicating":[60],"within":[61,185],"bound,":[63,66],"out":[64,290],"undetermined":[68],"produced.":[70],"It":[71,243],"can":[72,124,275,288,305,334,444,455,466],"check":[73],"ordinary":[74],"programs":[75,153,163,323],"at":[76],"about":[77,119,133,152],"fifty":[78],"lines":[79],"per":[80],"ten":[81],"seconds,":[82],"it":[84,109,260,458],"shows":[85],"linear":[86],"time":[87],"complexity":[88],"behavior.It":[89],"has":[90,433],"been":[91,480],"long":[92],"discussed":[93],"whether":[94,291],"verification":[96,106,142],"will":[97,256,294,516],"ever":[98],"become":[99],"practical.":[100],"The":[101,368],"main":[102],"argument":[103],"against":[104],"very":[111,263],"hard":[112],"for":[113,171,393,437,488,522],"programmer":[115],"write":[117],"programs.":[120,331],"Even":[121],"if":[122,197,222],"he":[123,128],"supply":[125],"enough":[126,358],"assertions,":[127],"must":[129,155,382],"have":[130,247,354,479],"some":[131,150,248,280,450],"knowledge":[132],"logic":[134],"order":[136,392],"prove":[138,449],"lemmas":[140],"(or":[141],"conditions)":[143],"obtained":[144],"from":[145],"verifier.However,":[147],"there":[148],"always":[156],"be":[157,169,211,276,295,335,360,383,397],"true":[158,384],"no":[159],"matter":[160],"what":[161],"do;":[164],"yet":[166],"cannot":[168,210],"all":[172],"cases.":[173],"These":[174,233,399],"include:":[176],"integer":[177],"values":[178],"do":[179,188,346],"not":[180,189,195,206,257,298],"overflow,":[181],"subscripts":[183],"range,":[186],"pointers":[187],"fall":[190],"off":[191],"NIL,":[192],"cells":[193],"reclaimed":[196],"they":[198],"still":[200,262],"pointed":[201],"to,":[202],"uninitialized":[203],"variables":[204],"used.Since":[207],"these":[208,273,292,380],"conditions":[209,293],"completely":[212],"checked,":[213],"many":[214],"compilers":[215],"produce":[216,320],"dynamic":[217,234],"checking":[218,235,249],"code":[219,236,314,349],"so":[220,250,463],"fails,":[225],"then":[226],"terminates":[229],"with":[230],"proper":[231],"diagnostics.":[232],"sometimes":[237],"take":[238],"up":[239],"much":[240],"computation":[241,267,503],"time.":[242],"better":[245],"unexpected":[252],"overwriting":[253],"data":[255],"occur,":[258],"but":[259,453],"awkward":[264],"stops":[268],"because":[269],"error.":[271],"Moreover,":[272],"errors":[274,282,328],"traced":[277],"back":[278],"other":[281],"program.":[285],"If":[286,410],"we":[287,304,353,454,465],"find":[289],"met":[296],"before":[299,375],"actually":[300],"running":[301],"program,":[303],"benefit":[306],"both":[307],"by":[308,316,324],"being":[309,317],"able":[310,318],"generate":[312],"efficient":[313],"more":[321,347,468,519],"reliable":[322],"careful":[325],"examination":[326],"Similar":[332],"techniques":[333,405],"used":[336,361],"detect":[338],"semantically":[339],"equivalent":[340],"subexpressions":[341],"redundant":[343],"statements":[344],"elaborate":[348],"movement":[350],"optimization.The":[351],"constructed":[355],"runs":[356],"fast":[357],"as":[362,406],"preprocessor":[364],"compiler.":[367],"first":[370],"creates":[371],"logical":[372],"immediately":[374],"elements":[377],"such":[378],"whenever":[385],"control":[387],"passes":[388],"assertion":[390,408],"valid.":[398],"proved":[402],"using":[403],"similar":[404],"methods.":[409],"an":[411],"element":[413],"lies":[414],"inside":[415],"loop":[417,421,423,470,477,489,498,514,527],"after":[419],"invariant":[424,499,515],"synthesized.":[426],"A":[427],"theorem":[428],"prover":[429,447],"was":[430,491],"created":[431],"decision":[435],"capabilities":[436],"subset":[439],"arithmetic":[441],"formulas.":[442],"We":[443,493],"use":[445,457],"this":[446,505],"valid":[451],"formulas,":[452],"also":[456],"generalize":[460],"nonvalid":[461],"formulas":[462],"hypothesize":[467],"general":[469,530],"invariants.Theoretical":[471],"considerations":[472],"on":[473],"automatic":[474,524],"synthesis":[475,500,512],"invariants":[478,490,528],"taken":[481],"into":[482],"account":[483],"complete":[486],"formula":[487],"obtained.":[492],"reduced":[494],"problem":[496],"formula.":[506],"new":[508],"approach":[509],"probably":[517],"give":[518],"firmer":[520],"basis":[521],"generation":[525],"purpose":[531],"verifiers.":[532]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W2038053930","counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":1},{"year":2014,"cited_by_count":2},{"year":2013,"cited_by_count":2},{"year":2012,"cited_by_count":5}],"updated_date":"2025-01-02T17:56:08.531941","created_date":"2016-06-24"}