| | Creator | Title | Description | Subject | Date |
---|
1 |  | Regehr, John | Atomicity and visibility in tiny embedded systems | Visibility is a property of a programming language's memory model that determines when values stored by one concurrent computation become visible to other computations. Our work exploits the insight that in nesC, a C-like language with explicit atomicity, the traditional way of ensuring timely visib... | | 2006-01-01 |
2 |  | Gerig, Guido | Automatic and robust computation of 3D medial models incorporating object variability | Abstract. This paper presents a novel processing scheme for the automatic and robust computation of a medial shape model which represents an object population with shape variability. The sensitivity of medial descriptions to object variations and small boundary perturbations are fundamental problems... | | 2003-01-01 |
3 |  | Regehr, John | Deriving abstract transfer functions for analyzing embedded software | This paper addresses the problem of creating abstract transfer functions supporting dataflow analyses. Writing these functions by hand is problematic: transfer functions are difficult to understand, difficult to make precise, and difficult to debug. Bugs in transfer functions are particularly seriou... | | 2006-01-01 |
4 |  | Regehr, John | Efficient memory safety for TinyOS | Reliable sensor network software is difficult to create: applications are concurrent and distributed, hardware-based memory protection is unavailable, and severe resource constraints necessitate the use of unsafe, low-level languages. Our work improves this situation by providing efficient memory an... | | 2007-01-01 |
5 |  | Regehr, John | Efficient type and memory safety for tiny embedded systems | We report our experience in implementing type and memory safety in an efficient manner for sensor network nodes running TinyOS: tiny embedded systems running legacy, C-like code. A compiler for a safe language must often insert dynamic checks into the programs it produces; these generally make progr... | | 2006-01-01 |
6 |  | Regehr, John | Eliminating stack overflow by abstract interpretation | An important correctness criterion for software running on embedded microcontrollers is stack safety: a guarantee that the call stack does not overflow. Our first contribution is a method for statically guaranteeing stack safety of interrupt-driven embedded software using an approach based on contex... | | 2005-01-01 |
7 |  | Regehr, John | Hierarchical schedulers, performance guarantees, and resource management | An attractive approach to scheduling applications with diverse CPU scheduling requirements is to use different schedulers for different applications. For example: real-time schedulers allow applications to perform computations before deadlines, time-sharing schedulers provide high throughput for com... | | 1999-01-01 |
8 |  | Regehr, John | Interface contracts for TinyOS | TinyOS applications are built with software components that communicate through narrow interfaces. Since components enable fine-grained code reuse, this approach has been successful in creating applications that make very efficient use of the limited code and data memory on sensor network nodes. How... | | 2007-01-01 |
9 |  | Regehr, John | Offline compression for on-chip RAM | We present offline RAM compression, an automated source-to-source transformation that reduces a program's data size. Statically allocated scalars, pointers, structures, and arrays are encoded and packed based on the results of a whole-program analysis in the value set and pointer set domains. We tar... | | 2007-01-01 |
10 |  | Regehr, John | Pluggable abstract domains for analyzing embedded software | Many abstract value domains such as intervals, bitwise, constants, and value-sets have been developed to support dataflow analysis. Different domains offer alternative tradeoffs between analysis speed and precision. Furthermore, some domains are a better match for certain kinds of code than others. ... | | 2006-01-01 |
11 |  | Regehr, John | The problems you're having may not be the problems you think you're having: results from a latency study of windows NT | This paper is intended to catalyze discussions on two intertwined systems topics. First, it presents early results from a latency study of Windows NT that identifies some specific causes of long thread scheduling latencies, many of which delay the dispatching of runnable threads for tens of millisec... | | 1999-01-01 |
12 |  | Regehr, John | Random testing of interrupt-driven software | Interrupt-driven embedded software is hard to thoroughly test since it usually contains a very large number of executable paths. Developers can test more of these paths using random interrupt testing-firing random interrupt handlers at random times. Unfortunately, na¨ıve application of random test... | | 2005-01-01 |