{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/81589"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/81589","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Local Reasoning for Stateful Programs","abstract":"\"Programs are called stateful when they manipulate the state of a computer explicitly, for example, by assignment. The main theme of the thesis is reasoning about stateful programs. In fact, for the past 30 years, significant efforts have been made for obtaining good reasoning principles to ensure that such programs work correctly. However, reasoning techniques developed so far often result in significantly more complex verification than an informal argument; consequently, they don't attract attention from real programmers. In the thesis, we develop O'Hearn's idea of local reasoning, which was recently proposed to overcome such complexity problem in reasoning. The key observation of local reasoning is that most programs show conceptual locality in their use of the store: even though a program is able to access all global variables and all heap data structures in principle, it usually uses only a few of them. Local reasoning uses such an observation to simplify verification: one starts reasoning about a program considering only the accessed portion of the store so as to obtain a \"\"local\"\" fact; then, a \"\"global\"\" fact is inferred simply by conjoining as an invariant a property that only involves the portion of the store not accessed by the program. In the thesis, we formulate a rule which allows one to derive a global property from a local one. The rule is an extension of O'Hearn's Frame Rule for programs with procedures. It uses a symmetric noninterference predicate and a spatial conjunction to ensure that a program phrase doesn't alter the portion of the store that a conjoined property depends on. We show completeness of the rule, which provides a sense that all properties can be inferred with the rule. We also study reasoning principles for the symmetric noninterference predicate and the spatial conjunction connective; reasoning about certain uses of the spatial conjunction connective is shown to be automated. The benefit of the formalism is illustrated with the verification of the Schorr-Waite graph marking algorithm.\"","abstract_html":"&quot;Programs are called stateful when they manipulate the state of a computer explicitly, for example, by assignment. The main theme of the thesis is reasoning about stateful programs. In fact, for the past 30 years, significant efforts have been made for obtaining good reasoning principles to ensure that such programs work correctly. However, reasoning techniques developed so far often result in significantly more complex verification than an informal argument; consequently, they don&#x27;t attract attention from real programmers. In the thesis, we develop O&#x27;Hearn&#x27;s idea of local reasoning, which was recently proposed to overcome such complexity problem in reasoning. The key observation of local reasoning is that most programs show conceptual locality in their use of the store: even though a program is able to access all global variables and all heap data structures in principle, it usually uses only a few of them. Local reasoning uses such an observation to simplify verification: one starts reasoning about a program considering only the accessed portion of the store so as to obtain a &quot;&quot;local&quot;&quot; fact; then, a &quot;&quot;global&quot;&quot; fact is inferred simply by conjoining as an invariant a property that only involves the portion of the store not accessed by the program. In the thesis, we formulate a rule which allows one to derive a global property from a local one. The rule is an extension of O&#x27;Hearn&#x27;s Frame Rule for programs with procedures. It uses a symmetric noninterference predicate and a spatial conjunction to ensure that a program phrase doesn&#x27;t alter the portion of the store that a conjoined property depends on. We show completeness of the rule, which provides a sense that all properties can be inferred with the rule. We also study reasoning principles for the symmetric noninterference predicate and the spatial conjunction connective; reasoning about certain uses of the spatial conjunction connective is shown to be automated. The benefit of the formalism is illustrated with the verification of the Schorr-Waite graph marking algorithm.&quot;","abstract_has_math":false,"creators":["Yang, Hongseok"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Reddy, Uday S."],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2015,"date_issued":"2015-09-25T20:19:21Z","date_published":"2015-09-25T20:19:21Z","updated_at":"2026-07-22T22:26:16Z","subjects":["Computer Science"],"languages":["eng"],"rights":[],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["(MiAaPQ)AAI3023240"],"render_values":[{"text":"(MiAaPQ)AAI3023240","href":null,"code":true}]}]},"links":{"outbound_url":"http://hdl.handle.net/2142/81589","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Reddy, Uday S."]},{"key":"dc:creator","label":"Author","values":["Yang, Hongseok"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2015-09-25T20:19:21Z","10000-01-01","2001"]},{"key":"dc:type","label":"Dc Type","values":["text"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Dissertation"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Ph.D."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Computer Science"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["eng"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["http://hdl.handle.net/2142/81589","(MiAaPQ)AAI3023240"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["\"Programs are called stateful when they manipulate the state of a computer explicitly, for example, by assignment. The main theme of the thesis is reasoning about stateful programs. In fact, for the past 30 years, significant efforts have been made for obtaining good reasoning principles to ensure that such programs work correctly. However, reasoning techniques developed so far often result in significantly more complex verification than an informal argument; consequently, they don't attract attention from real programmers. In the thesis, we develop O'Hearn's idea of local reasoning, which was recently proposed to overcome such complexity problem in reasoning. The key observation of local reasoning is that most programs show conceptual locality in their use of the store: even though a program is able to access all global variables and all heap data structures in principle, it usually uses only a few of them. Local reasoning uses such an observation to simplify verification: one starts reasoning about a program considering only the accessed portion of the store so as to obtain a \"\"local\"\" fact; then, a \"\"global\"\" fact is inferred simply by conjoining as an invariant a property that only involves the portion of the store not accessed by the program. In the thesis, we formulate a rule which allows one to derive a global property from a local one. The rule is an extension of O'Hearn's Frame Rule for programs with procedures. It uses a symmetric noninterference predicate and a spatial conjunction to ensure that a program phrase doesn't alter the portion of the store that a conjoined property depends on. We show completeness of the rule, which provides a sense that all properties can be inferred with the rule. We also study reasoning principles for the symmetric noninterference predicate and the spatial conjunction connective; reasoning about certain uses of the spatial conjunction connective is shown to be automated. The benefit of the formalism is illustrated with the verification of the Schorr-Waite graph marking algorithm.\"","Made available in DSpace on 2015-09-25T20:19:21Z (GMT). No. of bitstreams: 2 license.txt: 4848 bytes, checksum: 96035ab3f5e1c23cc7138a224ce498bd (MD5) 3023240.pdf: 10696445 bytes, checksum: 2e0d8c9947666e3bed0d6b2041054361 (MD5) Previous issue date: 2001","Embargo set by: Seth Robbins for item 82870 Lift date: Forever Reason: Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs","Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs","U of I Only","239 p.","Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 2001."]},{"key":"dc:title","label":"Title","values":["Local Reasoning for Stateful Programs"]}]}],"canonical_facts":{"dc:contributor":["Reddy, Uday S."],"dc:creator":["Yang, Hongseok"],"dc:date":["2015-09-25T20:19:21Z","10000-01-01","2001"],"dc:description":["\"Programs are called stateful when they manipulate the state of a computer explicitly, for example, by assignment. The main theme of the thesis is reasoning about stateful programs. In fact, for the past 30 years, significant efforts have been made for obtaining good reasoning principles to ensure that such programs work correctly. However, reasoning techniques developed so far often result in significantly more complex verification than an informal argument; consequently, they don't attract attention from real programmers. In the thesis, we develop O'Hearn's idea of local reasoning, which was recently proposed to overcome such complexity problem in reasoning. The key observation of local reasoning is that most programs show conceptual locality in their use of the store: even though a program is able to access all global variables and all heap data structures in principle, it usually uses only a few of them. Local reasoning uses such an observation to simplify verification: one starts reasoning about a program considering only the accessed portion of the store so as to obtain a \"\"local\"\" fact; then, a \"\"global\"\" fact is inferred simply by conjoining as an invariant a property that only involves the portion of the store not accessed by the program. In the thesis, we formulate a rule which allows one to derive a global property from a local one. The rule is an extension of O'Hearn's Frame Rule for programs with procedures. It uses a symmetric noninterference predicate and a spatial conjunction to ensure that a program phrase doesn't alter the portion of the store that a conjoined property depends on. We show completeness of the rule, which provides a sense that all properties can be inferred with the rule. We also study reasoning principles for the symmetric noninterference predicate and the spatial conjunction connective; reasoning about certain uses of the spatial conjunction connective is shown to be automated. The benefit of the formalism is illustrated with the verification of the Schorr-Waite graph marking algorithm.\"","Made available in DSpace on 2015-09-25T20:19:21Z (GMT). No. of bitstreams: 2 license.txt: 4848 bytes, checksum: 96035ab3f5e1c23cc7138a224ce498bd (MD5) 3023240.pdf: 10696445 bytes, checksum: 2e0d8c9947666e3bed0d6b2041054361 (MD5) Previous issue date: 2001","Embargo set by: Seth Robbins for item 82870 Lift date: Forever Reason: Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs","Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs","U of I Only","239 p.","Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 2001."],"dc:identifier":["http://hdl.handle.net/2142/81589","(MiAaPQ)AAI3023240"],"dc:language":["eng"],"dc:subject":["Computer Science"],"dc:title":["Local Reasoning for Stateful Programs"],"dc:type":["text"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Dissertation"],"thesis:degree_name":["Ph.D."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:26:16Z"}