{"id":{"repo_id":"rice","oai_identifier":"oai:repository.rice.edu:1911/20640"},"canonical_url":"https://search.dev.ndltd.org/etd/rice/oai:repository.rice.edu:1911/20640","repository":{"repo_id":"rice","name":"Rice University","base_url":"https://repository.rice.edu/server/oai/request"},"display":{"title":"Operating system-style protections for language-based systems","abstract":"Process-based separation has long been the prevalent model for providing security and isolation to protection domains in computer systems. However, the recent rise of component-based systems, which execute multiple plug-ins in the same process, has exposed a weakness of processes. At the same time, the recent spate of vulnerabilities in software has revealed the usefulness of language-based schemes to supplement the protections offered by processes. I propose a language-based protection model to replace processes as the basis for providing security and isolation. In this thesis, I present three different language-based mechanisms which add particular operating system-style protection semantics to the language. Soft termination provides a mechanism for guaranteed, safe termination of a task without interfering with other modules. Garbage collector memory accounting provides an accurate accounting of the memory used by each individual task running in the language-based system. Soft boundaries is a set of static analyses to verify that a specified task separation policy is followed by a particular codebase. These mechanisms provide the security and isolation that process-based separation provides, while tackling the problems of component-based architectures and malicious code head-on.","abstract_html":"Process-based separation has long been the prevalent model for providing security and isolation to protection domains in computer systems. However, the recent rise of component-based systems, which execute multiple plug-ins in the same process, has exposed a weakness of processes. At the same time, the recent spate of vulnerabilities in software has revealed the usefulness of language-based schemes to supplement the protections offered by processes. I propose a language-based protection model to replace processes as the basis for providing security and isolation. In this thesis, I present three different language-based mechanisms which add particular operating system-style protection semantics to the language. Soft termination provides a mechanism for guaranteed, safe termination of a task without interfering with other modules. Garbage collector memory accounting provides an accurate accounting of the memory used by each individual task running in the language-based system. Soft boundaries is a set of static analyses to verify that a specified task separation policy is followed by a particular codebase. These mechanisms provide the security and isolation that process-based separation provides, while tackling the problems of component-based architectures and malicious code head-on.","abstract_has_math":false,"creators":["Rudys, Algis"],"institution":"Rice University","degree_name":"Doctor of Philosophy","degree_level":"Doctoral","degree_discipline":"Engineering","degree_department":null,"school":null,"contributors":[],"advisors":["Wallach, Dan S."],"committee_chairs":[],"committee_members":[],"year":2007,"date_issued":"2007","date_published":"2007","updated_at":"2026-07-24T04:10:22Z","subjects":["Computer science"],"languages":["eng"],"rights":["Copyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder."],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"https://hdl.handle.net/1911/20640","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["Wallach, Dan S."]},{"key":"dc:creator","label":"Author","values":["Rudys, Algis"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2009-06-03T21:09:46Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2009-06-03T21:09:46Z"]},{"key":"dc:date.issued","label":"Date","values":["2007"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Engineering"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Doctoral"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Doctor of Philosophy"]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["Rice University"]}]},{"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.iso","label":"Language (ISO)","values":["eng"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder."]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://hdl.handle.net/1911/20640"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["Process-based separation has long been the prevalent model for providing security and isolation to protection domains in computer systems. However, the recent rise of component-based systems, which execute multiple plug-ins in the same process, has exposed a weakness of processes. At the same time, the recent spate of vulnerabilities in software has revealed the usefulness of language-based schemes to supplement the protections offered by processes. I propose a language-based protection model to replace processes as the basis for providing security and isolation. In this thesis, I present three different language-based mechanisms which add particular operating system-style protection semantics to the language. Soft termination provides a mechanism for guaranteed, safe termination of a task without interfering with other modules. Garbage collector memory accounting provides an accurate accounting of the memory used by each individual task running in the language-based system. Soft boundaries is a set of static analyses to verify that a specified task separation policy is followed by a particular codebase. These mechanisms provide the security and isolation that process-based separation provides, while tackling the problems of component-based architectures and malicious code head-on."]},{"key":"dc:format.mimetype","label":"Dc Format Mimetype","values":["application/pdf"]},{"key":"dc:title","label":"Title","values":["Operating system-style protections for language-based systems"]}]}],"canonical_facts":{"dc:contributor.advisor":["Wallach, Dan S."],"dc:creator":["Rudys, Algis"],"dc:date.accessioned":["2009-06-03T21:09:46Z"],"dc:date.available":["2009-06-03T21:09:46Z"],"dc:date.issued":["2007"],"dc:description.abstract":["Process-based separation has long been the prevalent model for providing security and isolation to protection domains in computer systems. However, the recent rise of component-based systems, which execute multiple plug-ins in the same process, has exposed a weakness of processes. At the same time, the recent spate of vulnerabilities in software has revealed the usefulness of language-based schemes to supplement the protections offered by processes. I propose a language-based protection model to replace processes as the basis for providing security and isolation. In this thesis, I present three different language-based mechanisms which add particular operating system-style protection semantics to the language. Soft termination provides a mechanism for guaranteed, safe termination of a task without interfering with other modules. Garbage collector memory accounting provides an accurate accounting of the memory used by each individual task running in the language-based system. Soft boundaries is a set of static analyses to verify that a specified task separation policy is followed by a particular codebase. These mechanisms provide the security and isolation that process-based separation provides, while tackling the problems of component-based architectures and malicious code head-on."],"dc:format.mimetype":["application/pdf"],"dc:identifier.uri":["https://hdl.handle.net/1911/20640"],"dc:language.iso":["eng"],"dc:rights":["Copyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder."],"dc:subject":["Computer science"],"dc:title":["Operating system-style protections for language-based systems"],"dc:type":["Thesis"],"thesis:degree_discipline":["Engineering"],"thesis:degree_level":["Doctoral"],"thesis:degree_name":["Doctor of Philosophy"],"thesis:institution_name":["Rice University"]},"updated_at":"2026-07-24T04:10:22Z"}