{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/17342"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/17342","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Inferring Method Effect Summaries for Nested Heap Regions","abstract":"Effect systems are important for reasoning about the side effects of a program. Although effect systems have been around for decades, they have not been widely adopted in practice because of the large number of annotations that they require. A tool that infers effects automatically can make effect systems practical. We present an effect inference algorithm and an Eclipse plug-in, DPJizer, that alleviate the burden of writing effect annotations for a language called Deterministic Parallel Java (DPJ). The key novel feature of the algorithm is the ability to infer effects on nested heap regions. Besides DPJ, we also illustrate how the algorithm can be used for a different effect system based on object ownership. Our experience shows that DPJizer is both useful and effective: inferring effects annotations automatically saves significant programming burden; and inferred effects are comparable to those in manually-annotated programs, while in many cases they are more accurate.","abstract_html":"Effect systems are important for reasoning about the side effects of a program. Although effect systems have been around for decades, they have not been widely adopted in practice because of the large number of annotations that they require. A tool that infers effects automatically can make effect systems practical. We present an effect inference algorithm and an Eclipse plug-in, DPJizer, that alleviate the burden of writing effect annotations for a language called Deterministic Parallel Java (DPJ). The key novel feature of the algorithm is the ability to infer effects on nested heap regions. Besides DPJ, we also illustrate how the algorithm can be used for a different effect system based on object ownership. Our experience shows that DPJizer is both useful and effective: inferring effects annotations automatically saves significant programming burden; and inferred effects are comparable to those in manually-annotated programs, while in many cases they are more accurate.","abstract_has_math":false,"creators":["Vakilian, Mohsen"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"M.S.","degree_level":"thesis","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Johnson, Ralph E."],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2010,"date_issued":"2010-09-25T22:14:30Z","date_published":"2010-09-25T22:14:30Z","updated_at":"2026-07-22T22:25:09Z","subjects":["refactoring","parallelism","type systems","inference","object-oriented programming"],"languages":["en"],"rights":[],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"http://hdl.handle.net/2142/17342","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Johnson, Ralph E."]},{"key":"dc:creator","label":"Author","values":["Vakilian, Mohsen"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2010-09-25T22:14:30Z","2009-07-23"]},{"key":"dc:relation","label":"Dc Relation","values":["\"Based on Mohsen Vakilian, Danny Dig, Robert Bocchino, Jeffrey Overbey, Vikram Adve, and Ralph Johnson. 2009 \"\"Inferring Method Effect Summaries for Nested Heap Regions.\"\" UIUC Department of Computer Science Technical Report. http://hdl.handle.net/2142/14152.\""]},{"key":"dc:type","label":"Dc Type","values":["Dissertation / Thesis","text"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["thesis"]},{"key":"thesis:degree_name","label":"Degree Name","values":["M.S."]},{"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":["refactoring","parallelism","type systems","inference","object-oriented programming"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["en"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["http://hdl.handle.net/2142/17342"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Effect systems are important for reasoning about the side effects of a program. Although effect systems have been around for decades, they have not been widely adopted in practice because of the large number of annotations that they require. A tool that infers effects automatically can make effect systems practical. We present an effect inference algorithm and an Eclipse plug-in, DPJizer, that alleviate the burden of writing effect annotations for a language called Deterministic Parallel Java (DPJ). The key novel feature of the algorithm is the ability to infer effects on nested heap regions. Besides DPJ, we also illustrate how the algorithm can be used for a different effect system based on object ownership. Our experience shows that DPJizer is both useful and effective: inferring effects annotations automatically saves significant programming burden; and inferred effects are comparable to those in manually-annotated programs, while in many cases they are more accurate.","not peer reviewed","Submitted by Mohsen Vakilian (mvakili2@illinois.edu) on 2010-09-25T22:14:30Z No. of bitstreams: 1 mohsen-msthesis-submitted.pdf: 482893 bytes, checksum: cb33249771c14705103b5e9955675880 (MD5)","Made available in DSpace on 2010-09-25T22:14:30Z (GMT). No. of bitstreams: 1 mohsen-msthesis-submitted.pdf: 482893 bytes, checksum: cb33249771c14705103b5e9955675880 (MD5) Previous issue date: 2009-07-23","unpublished"]},{"key":"dc:title","label":"Title","values":["Inferring Method Effect Summaries for Nested Heap Regions"]}]}],"canonical_facts":{"dc:contributor":["Johnson, Ralph E."],"dc:creator":["Vakilian, Mohsen"],"dc:date":["2010-09-25T22:14:30Z","2009-07-23"],"dc:description":["Effect systems are important for reasoning about the side effects of a program. Although effect systems have been around for decades, they have not been widely adopted in practice because of the large number of annotations that they require. A tool that infers effects automatically can make effect systems practical. We present an effect inference algorithm and an Eclipse plug-in, DPJizer, that alleviate the burden of writing effect annotations for a language called Deterministic Parallel Java (DPJ). The key novel feature of the algorithm is the ability to infer effects on nested heap regions. Besides DPJ, we also illustrate how the algorithm can be used for a different effect system based on object ownership. Our experience shows that DPJizer is both useful and effective: inferring effects annotations automatically saves significant programming burden; and inferred effects are comparable to those in manually-annotated programs, while in many cases they are more accurate.","not peer reviewed","Submitted by Mohsen Vakilian (mvakili2@illinois.edu) on 2010-09-25T22:14:30Z No. of bitstreams: 1 mohsen-msthesis-submitted.pdf: 482893 bytes, checksum: cb33249771c14705103b5e9955675880 (MD5)","Made available in DSpace on 2010-09-25T22:14:30Z (GMT). No. of bitstreams: 1 mohsen-msthesis-submitted.pdf: 482893 bytes, checksum: cb33249771c14705103b5e9955675880 (MD5) Previous issue date: 2009-07-23","unpublished"],"dc:identifier":["http://hdl.handle.net/2142/17342"],"dc:language":["en"],"dc:relation":["\"Based on Mohsen Vakilian, Danny Dig, Robert Bocchino, Jeffrey Overbey, Vikram Adve, and Ralph Johnson. 2009 \"\"Inferring Method Effect Summaries for Nested Heap Regions.\"\" UIUC Department of Computer Science Technical Report. http://hdl.handle.net/2142/14152.\""],"dc:subject":["refactoring","parallelism","type systems","inference","object-oriented programming"],"dc:title":["Inferring Method Effect Summaries for Nested Heap Regions"],"dc:type":["Dissertation / Thesis","text"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["thesis"],"thesis:degree_name":["M.S."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:25:09Z"}