101 - 125 of 912
Number of results to display per page
CreatorTitleDescriptionSubjectDate
101 Regehr, JohnThread verification vs. interrupt verificationInterrupts are superficially similar to threads, but there are subtle semantic differences between the two abstractions. This paper compares and contrasts threads and interrupts from the point of view of verifying the absence of race conditions. We identify a small set of extensions that permit thre...2006-01-01
102 Regehr, JohnTwo case studies in predictable application scheduling using Rialto/NTThis paper analyzes the results of two case studies in applying the Rialto/NT scheduler to real Windows 2000 applications. The first study is of a soft modem-a modem whose signal processing work is performed on the host CPU, rather than on a dedicated signal processing chip. The second is of an audi...2001-01-01
103 Regehr, JohnVolatiles are miscompiled, and what to do about itC's volatile qualifier is intended to provide a reliable link between operations at the source-code level and operations at the memory-system level. We tested thirteen production-quality C compilers and, for each, found situations in which the compiler generated incorrect code for accessing volatile...2008-01-01
104 Cohen, ElaineVolume rendering with multidimensional peak findingPeak finding provides more accurate classification for direct volume rendering by sampling directly at local maxima in a transfer function, allowing for better reproduction of high-frequency features. However, the 1D peak finding technique does not extend to higherdimensional classification. In this...2012-01-01
105 Regehr, JohnHow to rapidly prototype a real-time schedulerImplementing a new scheduling algorithm in an OS kernel is often an important step in scheduling research because it permits evaluation of the algorithm's performance on real workloads. However, developing a new scheduler is not a trivial task because it requires sophisticated programming skills and...2002-01-01
106 Regehr, JohnFinding and understanding bugs in C compilersCompilers should be correct. To improve the quality of C compilers, we created Csmith, a randomized test-case generation tool, and spent three years using it to find compiler bugs. During this period we reported more than 325 previously unknown bugs to compiler developers. Every compiler we tested w...2011-01-01
107 Silva, Claudio T.ISP: An optimal out-of-core image-set processing streaming architecture for parallel heterogeneous systemsImage population analysis is the class of statistical methods that plays a central role in understanding the development, evolution, and disease of a population. However, these techniques often require excessive computational power and memory that are compounded with a large number of volumetric inp...2012-01-01
108 Regehr, JohnA practical logic framework for verifying safety properties of executablesWe present a novel program logic, Lf , which is designed on top of a Hoare logic, but is simpler, more flexible and more scalable. Based on Lf , we develop a framework for automatically verifying safety properties of executables. It utilizes a whole-program interprocedural abstract interpretation to...2011-01-01
109 Regehr, JohnDeriving abstract transfer functions for analyzing embedded softwareThis 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
110 Regehr, JohnDynamic CPU management for real-time, middleware-based systemsMany real-world distributed, real-time, embedded (DRE) systems, such as multi-agent military applications, are built using commercially available operating systems, middleware, and collections of pre-existing software. The complexity of these systems makes it difficult to ensure that they maintain h...2004-01-01
111 Regehr, JohnInterface contracts for TinyOSTinyOS 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
112 Regehr, JohnCPU reservations and time constraints: implementation experience on windows NTThis 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
113 Regehr, JohnScheduling Tasks with mixed preemption relations for robustness to timing faultsThis 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
114 Regehr, JohnSafe and structured use of interrupts in real-time and embedded softwareWhile 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
115 Regehr, JohnRuntime verification for wireless sensor network applicationsWireless 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
116 Regehr, JohnTest-case reduction for C compiler bugsTo 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
117 Regehr, JohnTesting static analyzers with randomly generated programsStatic 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
118 Regehr, JohnARMor: fully verified software fault isolationWe 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
119 Regehr, JohnEdicts: implementing features with flexible binding timesIn 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
120 Regehr, JohnPluggable abstract domains for analyzing embedded softwareMany 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
121 Regehr, JohnAugmented CPU reservations: towards predictable execution on general-purpose operating systemsOne 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
122 Hansen, Charles D.Combined surface and volumetric occlusion shadingIn 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
123 Regehr, JohnSome guidelines for proportional share CPU scheduling in general-purpose operating systemsOur 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
124 Regehr, JohnSurviving sensor network software faultsWe 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
125 Regehr, JohnSwarm testingSwarm 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
101 - 125 of 912