|
|
Creator | Title | Description | Subject | Date |
126 |
|
Regehr, John | CPU reservations and time constraints: implementation experience on windows NT | This paper presents an implementation of scheduling abstractions originally developed for the Rialto real-time operating system within a research version of Windows NT called Rialto/NT. These abstractions, CPU Reservations and Time Constraints, as described in the 1997 SOSP paper [Jones et al. 97], ... | | 1999-01-01 |
127 |
|
Johnson, Christopher R. | Optimizing Inverse Electrocardiographic Problem: Hybrid and High-Order Finite Element Method | One type of inverse problems in electrocardiography (ECG) is to non-invasively reconstruct epicardial electric potentials from body-surface measurements. We study how to design the finite element discretization of such problem, so as to optimize the conditioning and stability of the resulting num... | | |
128 |
|
Regehr, John | Scheduling Tasks with mixed preemption relations for robustness to timing faults | This paper introduces and shows how to schedule two novel scheduling abstractions that overcome limitations of existing work on preemption threshold scheduling. The abstractions are task clusters, groups of tasks that are mutually non-preemptible by design, and task barriers, which partition the tas... | | 2002-01-01 |
129 |
|
Regehr, John | Safe and structured use of interrupts in real-time and embedded software | While developing embedded and real-time systems, it is usually necessary to write code that handles interrupts, or code the interacts with interrupt handlers. Interrupts are indispensable because they use hardware support to reduce both the latency and overhead of event detection, when compared to p... | | 2007-01-01 |
130 |
|
Regehr, John | Runtime verification for wireless sensor network applications | Wireless sensor networks are widely used to detect environment information that is not accessible by human. Developing such networks however requires low-level programming. The lack of sophisticated debugging tools for sensor networks makes it difficult to make the connection between a high-level fu... | | 2008-01-01 |
131 |
|
Regehr, John | Test-case reduction for C compiler bugs | To report a compiler bug, one must often find a small test case that triggers the bug. The existing approach to automated test-case reduction, delta debugging, works by removing substrings of the original input; the result is a concatenation of substrings that delta cannot remove. We have found this... | | 2012-01-01 |
132 |
|
Regehr, John | Testing static analyzers with randomly generated programs | Static analyzers should be correct. We used the random C-program generator Csmith, initially intended to test C compilers, to test parts of the Frama-C static analysis platform. Although Frama-C was already relatively mature at that point, fifty bugs were found and fixed during the process, in the f... | | 2012-01-01 |
133 |
|
Regehr, John | ARMor: fully verified software fault isolation | We have designed and implemented ARMor, a system that uses software fault isolation (SFI) to sandbox application code running on small embedded processors. Sandboxing can be used to protect components such as the RTOS and critical control loops from other, less-trusted components. ARMor guarantees m... | | 2011-01-01 |
134 |
|
Regehr, John | Edicts: implementing features with flexible binding times | In a software product line, the binding time of a feature is the time at which one decides to include or exclude a feature from a product. Typical binding site implementations are intended to support a single binding time only, e.g., compile time or run time. Sometimes, however, a product line must... | | 2008-01-01 |
135 |
|
Widanagamaachchi, Wathsala Nayomi; Pascucci, Valerio | Image registration | Image Registration is the process of overlaying two or more images of the same scene, taken at different times, from different viewpoints and/or by different sensors. | | |
136 |
|
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 |
137 |
|
Regehr, John | Augmented CPU reservations: towards predictable execution on general-purpose operating systems | One problem with performing soft real-time computations on general-purpose operating systems is that these OSs may spend significant amounts of time in the kernel instead of performing work on behalf of the application that is nominally scheduled: the OS effectively steals time from the running appl... | | 2001-01-01 |
138 |
|
Hansen, Charles D. | Combined surface and volumetric occlusion shading | In this paper, a method for interactive direct volume rendering is proposed that computes ambient occlusion effects for visualizations that combine both volumetric and geometric primitives, specifically tube shaped geometric objects representing streamlines, magnetic field lines or DTI fiber tracts.... | | 2012-01-01 |
139 |
|
Zhao, Lu; Regehr, John | Comparing program logics for reasoning about safety properties | To prove memory write and controls transfers do not interfere with other programs in embedded systems. Hoare Logic with Bale Predicate; Hoare Logic with Separation Conjunction. | | 2010-10-06 |
140 |
|
Regehr, John | Some guidelines for proportional share CPU scheduling in general-purpose operating systems | Our premise is that since there already exists a large, mature body of literature on real-time scheduling in general-purpose operating systems, it is time to spend more effort deciding which of these algorithms should be used and when, and less effort on generating new algorithms. In this paper we f... | | 2001-01-01 |
141 |
|
Regehr, John | Surviving sensor network software faults | We describe Neutron, a version of the TinyOS operating system that efficiently recovers from memory safety bugs. Where existing schemes reboot an entire node on an error, Neutron's compiler and runtime extensions divide programs into recovery units and reboot only the faulting unit. The TinyOS kerne... | | 2009-01-01 |
142 |
|
Regehr, John | Swarm testing | Swarm testing is a novel and inexpensive way to improve the diversity of test cases generated during random testing. Increased diversity leads to improved coverage and fault detection. In swarm testing, the usual practice of potentially including all features in every test case is abandoned. Rather,... | | 2012-01-01 |
143 |
|
Sudan, Kshitij | Efficient scrub mechanisms for error-prone emerging memories | Many memory cell technologies are being considered as possible replacements for DRAM and Flash technologies, both of which are nearing their scaling limits. While these new cells (PCM, STT-RAM, FeRAM, etc.) promise high density, better scaling, and non-volatility, they introduce new challenges. Solu... | | 2012-01-01 |
144 |
|
Thulasinathan, Aravindan; Pascucci, Valerio; Tierny, Julien | Topology Based Surface Meshing and Morphing | Morphing is a seamless transition from one image to the other, used in animation and motion pictures. Mesh Parameterization used in this process is a fundamental tool used for domain remeshing. In case of 2-manifolds for example, most approaches require that the input mesh be cut into one or mor... | | 2010-10-06 |
145 |
|
Gopalakrishnan, Ganesh; Humphrey, Alan Parker; Derrick, Christopher Glade | An integration of dynamic MPI formal verification within eclipse PTP | Our research goals were to verify practical MPI programs for deadlocks, resource leaks, and assertion violations at the push of a button and be able to easily visualize the results. We also sought to integrate these capabilities with the Eclipse IDE via an Eclipse plug-in for the Parallel Tools Plat... | Verification; Graphical User Interfaces; Dynamic Interleaving Reduction; Message Passing; MPI; Multi-core; Eclipse Parallel Tools Platform; Trapeze Interactive Poster | 2010-03-15 |
146 |
|
Li, Guodong; Gopalakrishnan, Ganesh; Kirby, Robert Michael Ii | PUG : A Symbolic Verifier of GPU Programs | PUG is a automated verifier for GPU programs written in C/CUDA. PUG verifies GPU kernels for Data Races, Barrier mismatches, Totally wrong results, and Weak memory model related bugs. SMT-based correctness checking methods for these error are often more scalable, general and modular. | | 2010-10-06 |
147 |
|
Awasthi, Manu; Nellans, David W.; Sudan, Kshitij; Balasubramonian, Rajeev | ABP : predictor based management of DRAM row buffers | DRAM accesses are costly, especially in multicore systems. Future CMPs will run a mixed load of workloads/threads. Destructive interference at memory controller, spatio-temporal locality lost! DRAM row-buffer hits are least expensive, row-conflicts are most. Randomized memory access patterns re... | | 2010-10-06 |
148 |
|
Balasubramonian, Rajeev | Staged reads: mitigating the impact of DRAM writes on DRAM reads | Main memory latencies have always been a concern for system performance. Given that reads are on the criti- cal path for CPU progress, reads must be prioritized over writes. However, writes must be eventually processed and they often delay pending reads. In fact, a single channel in the main memory ... | | 2012-01-01 |
149 |
|
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 |
150 |
|
Regehr, John | Evolving real-time systems using hierarchical scheduling and concurrency analysis | We have developed a new way to look at real-time and embedded software: as a collection of execution environments created by a hierarchy of schedulers. Common schedulers include those that run interrupts, bottom-half handlers, threads, and events. We have created algorithms for deriving response tim... | | 2003-01-01 |