- Sponsor:
- sigops
This volume contains the proceedings of the Sixth Workshop on Programming Languages and Operating Systems (PLOS 2011). The PLOS workshop series brings together people from the programming language and operating system communities to discuss emerging work at the intersection of these fields. It is a venue for discussing new visions, experiences, problems, and solutions arising from the application of advanced programming and software engineering concepts to operating systems construction, and vice versa.
The program committee for PLOS 2011 received eighteen short papers for consideration, and of these, eight were selected for presentation at the workshop. Each submitted paper was assigned to four members of the program committee for review. Each paper from a program committee member received a fifth review in addition. One paper was submitted from the program chair's research group: for this paper, another member of the committee selected five reviewers, and the reviewers' identities were not revealed to the committee chair. In total, 75 reviews were written, many containing long and detailed comments. Once all the reviews were in, the program committee met by teleconference to decide upon the workshop program. Papers were evaluated based on technical quality, originality, relevance, and presentation. The committee's result is an exciting selection of papers describing work at the frontier of systems and language research.
Proceeding Downloads
Finding resource-release omission faults in Linux
The management of the releasing of allocated resources is a continual problem in ensuring the robustness of systems code. Missing resource-releasing operations lead to memory leaks and deadlocks. A number of approaches have been proposed to detect such ...
Configuration coverage in the analysis of large-scale system software
System software, especially operating systems, tends to be highly configurable. Like every complex piece of software, a considerable amount of bugs in the implementation has to be expected. In order to improve the general code quality, tools for static ...
Rounding pointers: type safe capabilities with C++ meta programming
Recent trends in secure operating systems indicate that an object-capability system is the security model with pre-eminent characteristics and practicality. Unlike traditional operating systems, which use a single global name space, object-capability ...
Preliminary design of the SAFE platform
- André DeHon,
- Ben Karel,
- Thomas F. Knight,
- Gregory Malecha,
- Benoît Montagu,
- Robin Morisset,
- Greg Morrisett,
- Benjamin C. Pierce,
- Randy Pollack,
- Sumit Ray,
- Olin Shivers,
- Jonathan M. Smith,
- Gregory Sullivan
Safe is a clean-slate design for a secure host architecture. It integrates advances in programming languages, operating systems, and hardware and incorporates formal methods at every step. Though the project is still at an early stage, we have assembled ...
Dynamic deadlock avoidance in systems code using statically inferred effects
Deadlocks can have devastating effects in systems code. We have developed a type and effect system that provably avoids them and in this paper we present a tool that uses a sound static analysis to instrument multithreaded C programs and then links ...
Using declarative invariants for protecting file-system integrity
We have been developing a framework, called Recon, that uses runtime checking to protect the integrity of file-system metadata on disk. Recon performs consistency checks at commit points in transaction-based file systems. We define declarative ...
Assessing the scalability of garbage collectors on many cores
Managed Runtime Environments (MRE) are increasingly used for application servers that use large multi-core hardware. We find that the garbage collector is critical for overall performance in this setting. We explore the costs and scalability of the ...
URDB: a universal reversible debugger based on decomposing debugging histories
Reversible debuggers have existed since the early 1970s. A novel approach, URDB, is introduced based on checkpoint/re-execute. It adds reversibility to a debugger, while still placing the end user within the familiar environment of their preferred ...
- Proceedings of the 6th Workshop on Programming Languages and Operating Systems