{"id":"https://openalex.org/W2032767692","doi":"https://doi.org/10.1145/258915.258936","title":"Automatic verification of pointer programs using monadic second-order logic","display_name":"Automatic verification of pointer programs using monadic second-order logic","publication_year":1997,"publication_date":"1997-05-01","ids":{"openalex":"https://openalex.org/W2032767692","doi":"https://doi.org/10.1145/258915.258936","mag":"2032767692"},"language":"en","primary_location":{"is_oa":false,"landing_page_url":"https://doi.org/10.1145/258915.258936","pdf_url":null,"source":{"id":"https://openalex.org/S4393917474","display_name":"Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation","issn_l":"1531-7102","issn":["1531-7102"],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"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/A5084375537","display_name":"Jakob L. Jensen","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Jakob L. Jensen","raw_affiliation_strings":["BRICS, Universit of Aarhus#TAB#"],"affiliations":[{"raw_affiliation_string":"BRICS, Universit of Aarhus#TAB#","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5063204620","display_name":"Michael E. J\u00f8rgensen","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Michael E. J\u00f8rgensen","raw_affiliation_strings":["BRICS, Universit of Aarhus#TAB#"],"affiliations":[{"raw_affiliation_string":"BRICS, Universit of Aarhus#TAB#","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5066751232","display_name":"Michael I. Schwartzbach","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Michael I. Schwartzbach","raw_affiliation_strings":["BRICS, Universit of Aarhus#TAB#"],"affiliations":[{"raw_affiliation_string":"BRICS, Universit of Aarhus#TAB#","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5083488023","display_name":"Nils Klarlund","orcid":null},"institutions":[{"id":"https://openalex.org/I1283103587","display_name":"AT&T (United States)","ror":"https://ror.org/02bbd5539","country_code":"US","type":"company","lineage":["https://openalex.org/I1283103587"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Nils Klarlund","raw_affiliation_strings":["AT&T Research, New Jersey"],"affiliations":[{"raw_affiliation_string":"AT&T Research, New Jersey","institution_ids":["https://openalex.org/I1283103587"]}]}],"institution_assertions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":3.464,"has_fulltext":false,"cited_by_count":88,"citation_normalized_percentile":{"value":0.880422,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":95,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"226","last_page":"234"},"is_retracted":false,"is_paratext":false,"primary_topic":{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9998,"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"}},"topics":[{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9998,"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"}},{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9997,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9991,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/separation-logic","display_name":"Separation Logic","score":0.820127},{"id":"https://openalex.org/keywords/pointer-analysis","display_name":"Pointer analysis","score":0.78451955},{"id":"https://openalex.org/keywords/predicate-abstraction","display_name":"Predicate abstraction","score":0.5934075},{"id":"https://openalex.org/keywords/pascal","display_name":"Pascal (unit)","score":0.49422458},{"id":"https://openalex.org/keywords/linked-list","display_name":"Linked list","score":0.4361147},{"id":"https://openalex.org/keywords/counterexample","display_name":"Counterexample","score":0.4350343},{"id":"https://openalex.org/keywords/tree-automaton","display_name":"Tree automaton","score":0.41614422}],"concepts":[{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.8702671},{"id":"https://openalex.org/C173856430","wikidata":"https://www.wikidata.org/wiki/Q3257964","display_name":"Separation logic","level":2,"score":0.820127},{"id":"https://openalex.org/C7263679","wikidata":"https://www.wikidata.org/wiki/Q5978076","display_name":"Pointer analysis","level":3,"score":0.78451955},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.75967264},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.75237274},{"id":"https://openalex.org/C136643341","wikidata":"https://www.wikidata.org/wiki/Q1361526","display_name":"Reachability","level":2,"score":0.6509294},{"id":"https://openalex.org/C2779907942","wikidata":"https://www.wikidata.org/wiki/Q7239630","display_name":"Predicate abstraction","level":3,"score":0.5934075},{"id":"https://openalex.org/C75608658","wikidata":"https://www.wikidata.org/wiki/Q44395","display_name":"Pascal (unit)","level":2,"score":0.49422458},{"id":"https://openalex.org/C153269930","wikidata":"https://www.wikidata.org/wiki/Q430001","display_name":"Decidability","level":2,"score":0.48378488},{"id":"https://openalex.org/C146101286","wikidata":"https://www.wikidata.org/wiki/Q7003418","display_name":"Linked list","level":2,"score":0.4361147},{"id":"https://openalex.org/C162838799","wikidata":"https://www.wikidata.org/wiki/Q596077","display_name":"Counterexample","level":2,"score":0.4350343},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.43303344},{"id":"https://openalex.org/C2778583254","wikidata":"https://www.wikidata.org/wiki/Q2872598","display_name":"Tree automaton","level":3,"score":0.41614422},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.35154104},{"id":"https://openalex.org/C112505250","wikidata":"https://www.wikidata.org/wiki/Q787116","display_name":"Automaton","level":2,"score":0.3373319},{"id":"https://openalex.org/C110251889","wikidata":"https://www.wikidata.org/wiki/Q1569697","display_name":"Model checking","level":2,"score":0.3194325},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.20809719},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.19190839},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.16878295},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.10966554}],"mesh":[],"locations_count":1,"locations":[{"is_oa":false,"landing_page_url":"https://doi.org/10.1145/258915.258936","pdf_url":null,"source":{"id":"https://openalex.org/S4393917474","display_name":"Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation","issn_l":"1531-7102","issn":["1531-7102"],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Peace, justice, and strong institutions","score":0.68,"id":"https://metadata.un.org/sdg/16"}],"grants":[],"datasets":[],"versions":[],"referenced_works_count":22,"referenced_works":["https://openalex.org/W1493844047","https://openalex.org/W1560050980","https://openalex.org/W1578881602","https://openalex.org/W1797940162","https://openalex.org/W1980468060","https://openalex.org/W2019709986","https://openalex.org/W2045326928","https://openalex.org/W2050320220","https://openalex.org/W2070869623","https://openalex.org/W2072858236","https://openalex.org/W2077734705","https://openalex.org/W2080267935","https://openalex.org/W2087612811","https://openalex.org/W2092774615","https://openalex.org/W2102440514","https://openalex.org/W2132750992","https://openalex.org/W2139356751","https://openalex.org/W2156541338","https://openalex.org/W2293879310","https://openalex.org/W2346299657","https://openalex.org/W2912166712","https://openalex.org/W2914074464"],"related_works":["https://openalex.org/W4232408220","https://openalex.org/W3141288313","https://openalex.org/W2520438138","https://openalex.org/W2392346949","https://openalex.org/W2074285438","https://openalex.org/W2032767692","https://openalex.org/W2011836220","https://openalex.org/W1523277742","https://openalex.org/W1517558204","https://openalex.org/W1502763953"],"abstract_inverted_index":{"We":[0],"present":[1,65],"a":[2,12,26,40,66,101,106,119,160],"technique":[3,121],"for":[4,15,53,70,128],"automatic":[5],"verification":[6],"of":[7,28,42,150],"pointer":[8,33,37,50,152],"programs":[9,153],"based":[10,73],"on":[11,20,74],"decision":[13,68,86],"procedure":[14,69,87],"the":[16,85],"monadic":[17],"second-order":[18],"logic":[19,41,76],"finite":[21],"strings.We":[22],"are":[23],"concerned":[24],"with":[25,44,81],"while-fragment":[27],"Pascal,":[29],"which":[30],"includes":[31],"recursively-defined":[32],"structures":[34],"but":[35,97],"excludes":[36],"arithmetic.We":[38],"define":[39],"stores":[43],"interesting":[45],"basic":[46],"predicates":[47],"such":[48],"as":[49,59,61],"equality,":[51],"tests":[52],"nil":[54],"pointers,":[55],"and":[56,125,132,154],"garbage":[57],"cells,":[58],"well":[60],"reachability":[62],"along":[63],"pointers.We":[64],"complete":[67],"Hoare":[71],"triples":[72],"this":[75],"over":[77],"loop-free":[78],"code.":[79],"Combined":[80],"explicit":[82],"loop":[83],"invariants,":[84],"allows":[88],"us":[89],"to":[90,104,137,146],"answer":[91],"surprisingly":[92],"detailed":[93],"questions":[94],"about":[95],"small":[96],"non-trivial":[98],"programs.":[99],"If":[100],"program":[102],"fails":[103],"satisfy":[105],"certain":[107],"property,":[108],"then":[109],"we":[110],"can":[111,143],"automatically":[112],"supply":[113],"an":[114],"initial":[115],"store":[116],"that":[117],"provides":[118],"counterexample.Our":[120],"had":[122],"been":[123],"fully":[124],"efficiently":[126],"implemented":[127],"linear":[129],"linked":[130],"lists,":[131],"it":[133],"extends":[134],"in":[135,159],"principle":[136],"tree":[138],"structures.":[139],"The":[140],"resulting":[141],"system":[142],"be":[144,156],"used":[145],"verify":[147],"extensive":[148],"properties":[149],"smaller":[151],"could":[155],"particularly":[157],"useful":[158],"teaching":[161],"environment.":[162]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W2032767692","counts_by_year":[{"year":2021,"cited_by_count":1},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":2},{"year":2015,"cited_by_count":3},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":1}],"updated_date":"2024-12-10T13:08:49.061814","created_date":"2016-06-24"}