5,324 research outputs found

    Using Low Level Linear Memory Management for Type-Preserving Mark-Sweep Garbage Collector

    Get PDF
    Efficient low-level systems such as garbage collectors need more control over memory than safe high-level languages usually provide. Due to this constraint, garbage collectors are typically written in unsafe languages such as C. A collector of this form usually resides as a trusted primitive runtime service outside the model of the programming language. The type safety of these languages depends on the assumption that the garbage collector will not violate any typing invariants. However, no realistic systems provide proof of this assumption. A garbage collector written in a strongly typed language can guarantee not only the safety of the garbage collector and the program being garbage collected (mutator), but also the interaction between the collector and the mutator. Removing the garbage collector from the trusted computing base has many additional benefits: Untrusted code could be given more control over memory management without sacrificing security. Low-level code such as device drivers could interface in a safe way with a garbage collector. For these and the growing prevalence of garbage collectors in the typical programming system necessitate a safe solution. Previous research by Wang et al introduced a safe copying collector based on regions, where the live graph structure of the heap is copied from an old region to a newer region. This paper seeks to improve the efficiency of type-preserving garbage collection with the introduction of a type-preserving mark and sweep garbage collector

    Automated Verification of Practical Garbage Collectors

    Full text link
    Garbage collectors are notoriously hard to verify, due to their low-level interaction with the underlying system and the general difficulty in reasoning about reachability in graphs. Several papers have presented verified collectors, but either the proofs were hand-written or the collectors were too simplistic to use on practical applications. In this work, we present two mechanically verified garbage collectors, both practical enough to use for real-world C# benchmarks. The collectors and their associated allocators consist of x86 assembly language instructions and macro instructions, annotated with preconditions, postconditions, invariants, and assertions. We used the Boogie verification generator and the Z3 automated theorem prover to verify this assembly language code mechanically. We provide measurements comparing the performance of the verified collector with that of the standard Bartok collectors on off-the-shelf C# benchmarks, demonstrating their competitiveness

    Formal Derivation of Concurrent Garbage Collectors

    Get PDF
    Concurrent garbage collectors are notoriously difficult to implement correctly. Previous approaches to the issue of producing correct collectors have mainly been based on posit-and-prove verification or on the application of domain-specific templates and transformations. We show how to derive the upper reaches of a family of concurrent garbage collectors by refinement from a formal specification, emphasizing the application of domain-independent design theories and transformations. A key contribution is an extension to the classical lattice-theoretic fixpoint theorems to account for the dynamics of concurrent mutation and collection.Comment: 38 pages, 21 figures. The short version of this paper appeared in the Proceedings of MPC 201

    The Economics of Residential Solid Waste Management

    Get PDF
    This paper provides a broad overview of recent trends in solid waste and recycling, related public policy issues, and the economics literature devoted to these topics. Public attention to solid waste and recycling has increased dramatically over the past decade both in the United States and in Europe. In response, economists have developed models to help policy makers choose the efficient mix of policy levers to regulate solid waste and recycling activities. Economists have also employed different kinds of data to estimate the factors that contribute to the generation of residential solid waste and recycling and to estimate the effectiveness of many of the policy options employed.

    5th SC@RUG 2008 proceedings:Student Colloquium 2007-2008

    Get PDF

    5th SC@RUG 2008 proceedings:Student Colloquium 2007-2008

    Get PDF

    5th SC@RUG 2008 proceedings:Student Colloquium 2007-2008

    Get PDF

    5th SC@RUG 2008 proceedings:Student Colloquium 2007-2008

    Get PDF

    5th SC@RUG 2008 proceedings:Student Colloquium 2007-2008

    Get PDF
    • …
    corecore