{"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":{"id":"doi:10.1145/258915.258936","doi":"https://doi.org/10.1145/258915.258936","is_oa":false,"landing_page_url":"https://doi.org/10.1145/258915.258936","pdf_url":null,"source":{"id":"https://openalex.org/S4393917474","display_name":"ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)","issn_l":"1531-7102","issn":["1531-7102"],"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation","raw_type":"proceedings-article"},"volume":null,"type":"conference-paper","is_traditional":true,"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,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I204337017","display_name":"Aarhus University","ror":"https://ror.org/01aj84f44","country_code":"DK","type":"education","lineage":["https://openalex.org/I204337017"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Jakob L. Jensen","raw_affiliation_strings":["BRICS, Universit of Aarhus","BRICS, Universit of Aarhus#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"BRICS, Universit of Aarhus","institution_ids":["https://openalex.org/I204337017"]},{"raw_affiliation_string":"BRICS, Universit of Aarhus#TAB#","institution_ids":["https://openalex.org/I204337017"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5063204620","display_name":"Michael E. J\u00f8rgensen","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I204337017","display_name":"Aarhus University","ror":"https://ror.org/01aj84f44","country_code":"DK","type":"education","lineage":["https://openalex.org/I204337017"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Michael E. J\u00f8rgensen","raw_affiliation_strings":["BRICS, Universit of Aarhus","BRICS, Universit of Aarhus#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"BRICS, Universit of Aarhus","institution_ids":["https://openalex.org/I204337017"]},{"raw_affiliation_string":"BRICS, Universit of Aarhus#TAB#","institution_ids":["https://openalex.org/I204337017"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5066751232","display_name":"Michael I. Schwartzbach","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I204337017","display_name":"Aarhus University","ror":"https://ror.org/01aj84f44","country_code":"DK","type":"education","lineage":["https://openalex.org/I204337017"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Michael I. Schwartzbach","raw_affiliation_strings":["BRICS, Universit of Aarhus","BRICS, Universit of Aarhus#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"BRICS, Universit of Aarhus","institution_ids":["https://openalex.org/I204337017"]},{"raw_affiliation_string":"BRICS, Universit of Aarhus#TAB#","institution_ids":["https://openalex.org/I204337017"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5083488023","display_name":"Nils Klarlund","orcid":null,"observed_orcids":[]},"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"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"AT&T Research, New Jersey","institution_ids":["https://openalex.org/I1283103587"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":4.417,"has_fulltext":false,"cited_by_count":91,"citation_normalized_percentile":{"value":0.95874917,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":87,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"226","last_page":"234"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9901999831199646,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9901999831199646,"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/T10142","display_name":"Formal Methods in Verification","score":0.008100000210106373,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.0010000000474974513,"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/pointer-programs","display_name":"pointer programs","score":0.8999999761581421},{"id":"https://openalex.org/keywords/monadic-second-order-logic","display_name":"monadic second-order logic","score":0.8619999885559082},{"id":"https://openalex.org/keywords/decision-making-methods","display_name":"decision procedures","score":0.765999972820282},{"id":"https://openalex.org/keywords/hoare-triples","display_name":"Hoare triples","score":0.7900000214576721},{"id":"https://openalex.org/keywords/loop-invariants","display_name":"loop invariants","score":0.7940000295639038},{"id":"https://openalex.org/keywords/counterexample-generation","display_name":"counterexample generation","score":0.8090000152587891},{"id":"https://openalex.org/keywords/linked-lists","display_name":"linked lists","score":0.8450000286102295},{"id":"https://openalex.org/keywords/program-verification","display_name":"program verification","score":0.5410000085830688},{"id":"https://openalex.org/keywords/garbage-collection","display_name":"garbage collection","score":0.36500000953674316}],"concepts":[{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.8702670931816101},{"id":"https://openalex.org/C173856430","wikidata":"https://www.wikidata.org/wiki/Q3257964","display_name":"Separation logic","level":2,"score":0.820127010345459},{"id":"https://openalex.org/C7263679","wikidata":"https://www.wikidata.org/wiki/Q5978076","display_name":"Pointer analysis","level":3,"score":0.7845195531845093},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7596726417541504},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7523727416992188},{"id":"https://openalex.org/C136643341","wikidata":"https://www.wikidata.org/wiki/Q1361526","display_name":"Reachability","level":2,"score":0.6509293913841248},{"id":"https://openalex.org/C2779907942","wikidata":"https://www.wikidata.org/wiki/Q7239630","display_name":"Predicate abstraction","level":3,"score":0.5934075117111206},{"id":"https://openalex.org/C75608658","wikidata":"https://www.wikidata.org/wiki/Q44395","display_name":"Pascal (unit)","level":2,"score":0.49422457814216614},{"id":"https://openalex.org/C153269930","wikidata":"https://www.wikidata.org/wiki/Q430001","display_name":"Decidability","level":2,"score":0.48378488421440125},{"id":"https://openalex.org/C146101286","wikidata":"https://www.wikidata.org/wiki/Q7003418","display_name":"Linked list","level":2,"score":0.43611469864845276},{"id":"https://openalex.org/C162838799","wikidata":"https://www.wikidata.org/wiki/Q596077","display_name":"Counterexample","level":2,"score":0.43503430485725403},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.43303343653678894},{"id":"https://openalex.org/C2778583254","wikidata":"https://www.wikidata.org/wiki/Q2872598","display_name":"Tree automaton","level":3,"score":0.4161442220211029},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.35154104232788086},{"id":"https://openalex.org/C112505250","wikidata":"https://www.wikidata.org/wiki/Q787116","display_name":"Automaton","level":2,"score":0.3373318910598755},{"id":"https://openalex.org/C110251889","wikidata":"https://www.wikidata.org/wiki/Q1569697","display_name":"Model checking","level":2,"score":0.31943249702453613},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.2080971896648407},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.19190838932991028},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.16878294944763184},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.10966554284095764}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/258915.258936","doi":"https://doi.org/10.1145/258915.258936","is_oa":false,"landing_page_url":"https://doi.org/10.1145/258915.258936","pdf_url":null,"source":{"id":"https://openalex.org/S4393917474","display_name":"ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)","issn_l":"1531-7102","issn":["1531-7102"],"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation","raw_type":"proceedings-article"},{"id":"pmh:oai:pure.atira.dk:publications/6fc7f6e0-bfe7-11de-82fe-000ea68e967b","doi":null,"is_oa":false,"landing_page_url":"https://pure.au.dk/portal/en/publications/6fc7f6e0-bfe7-11de-82fe-000ea68e967b","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Schwartzbach, M I, Madsen, J L, J\u00f8rgensen, M E & Klarlund, N 1997, Automatic Verification of Pointer Programs using Monadic Scond-Order Logic. in Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation. Association for Computing Machinery, pp. 226-236, Conference on Programming Language Design and Implementation. PLDI'97, Las Vegas, United States, 16/06/1997. https://doi.org/10.1145/258915.258936","raw_type":"info:eu-repo/semantics/publishedVersion"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.22.5637","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.22.5637","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.brics.dk/mona/papers/auto-ver-pointer-prog-using-m2l/article.ps","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.50.2077","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.50.2077","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.daimi.aau.dk/~mis/pointers.ps","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":23,"referenced_works":["https://openalex.org/W237536699","https://openalex.org/W1493844047","https://openalex.org/W1547262205","https://openalex.org/W1560050980","https://openalex.org/W1578881602","https://openalex.org/W1797940162","https://openalex.org/W1980468060","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/W7099611739","https://openalex.org/W2391792514","https://openalex.org/W2040703459","https://openalex.org/W2149810189","https://openalex.org/W3003273878","https://openalex.org/W2321390020","https://openalex.org/W2127285616","https://openalex.org/W7095473037","https://openalex.org/W7097838934","https://openalex.org/W1556115420"],"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]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":2},{"year":2015,"cited_by_count":4},{"year":2013,"cited_by_count":2},{"year":2012,"cited_by_count":1}],"updated_date":"2026-11-10T11:39:43.021295","created_date":"2016-06-24T00:00:00"}
