Learn More
There is a growing awareness, both in industry and academia, of the crucial role of formally verifying the translation from high-level source-code into low-level object code that is typically performed by an optimizing compiler. Formally verifying an optimizing compiler, as one would verify any other large program, is not feasible due to its size, ongoing(More)
This paper describes generational reference counting, a new distributed storage reclamation scheme for loosely-coupled multiprocessors. It has a significantly lower communication overhead than distributed versions of conventional reference counting. Although generational reference counting has greater computational and space requirements than ordinary(More)
Several papers, have recently claimed that garbage collection can be performed on untagged data in the presence of ML-style type polymorphism. They rely on the ability to reconstruct the type of any reachable object during garbage collection. The bad news is that this is false—there can be reachable objects in the program whose type cannot be(More)
Research over the past several decades has elucidated some of the mechanisms behind high speed, highly efficient and robust locomotion in insects such as cockroaches. Roboticists have used this information to create biologically-inspired machines capable of running, jumping, and climbing robustly over a variety of terrains. To date, little work has been(More)
Onboard power remains a major challenge for miniature robotic platforms. Locomotion at small scales demands high power densities from all system components, while limited payload capacities place severe restrictions on the size of the energy source, resulting in integration challenges and short operating times when using conventional batteries. Wireless(More)
Higher order functional programs constantly allocate objects dynamically. These objects are typically cons cells, closures, and records and are generally allocated in the heap and reclaimed later by some garbage collection process. This paper describes a compile time analysis, called escape analysis, for determining the lifetime of dynamically created(More)