1 - 25 of 29
Number of results to display per page
CreatorTitleDescriptionSubjectDate
1 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
2 Bargteil, Adam WadeAnimation of deformable bodies with quadratic bézier finite elementsIn this article, we investigate the use of quadratic finite elements for graphical animation of deformable bodies.We consider both integrating quadratic elements with conventional linear elements to achieve a computationally efficient adaptive-degree simulation framework as well as wholly quadratic ...2014-01-01
3 Venkatasubramanian, SureshApproximate Bregman near neighbors in sublinear time: beyond the triangle inequalityBregman divergences are important distance measures that are used extensively in data-driven applications such as computer vision, text mining, and speech processing, and are a key focus of interest in machine learning. Answering nearest neighbor (NN) queries under these measures is very important i...2012-01-01
4 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
5 Regehr, JohnAtomicity and visibility in tiny embedded systemsVisibility 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
6 Blair, StevenChannel routing for integrated opticsIncreasing scope and applications of integrated optics necessitates the development of automated techniques for physical design of optical systems. This paper presents an automated, planar channel routing technique for integrated optical waveguides. Integrated optics is a planar technology and lacks...2013-01-01
7 Bargteil, Adam WadeDeformation embedding for point-based elastoplastic simulationWe present a straightforward, easy-to-implement, point-based approach for animating elastoplastic materials. The core idea of our approach is the introduction of embedded space-the least-squares best fit of the material's rest state into three dimensions. Nearest neighbor queries in the embedded spa...2014-01-01
8 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
9 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
10 Regehr, JohnEfficient memory safety for TinyOSReliable 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
11 Gopalakrishnan, GaneshEfficient search for inputs causing high floating-point errorsTools for floating-point error estimation are fundamental to program understanding and optimization. In this paper, we focus on tools for determining the input settings to a floating point routine that maximizes its result error. Such tools can help support activities such as precision allocation, p...2014-01-01
12 Regehr, JohnEfficient type and memory safety for tiny embedded systemsWe 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
13 Regehr, JohnEliminating stack overflow by abstract interpretationAn 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
14 Regehr, JohnEliminating the call stack to save RAMMost programming languages support a call stack in the programming model and also in the runtime system.We show that for applications targeting low-power embedded microcontrollers (MCUs), RAM usage can be significantly decreased by partially or completely eliminating the runtime callstack. We presen...2009-01-01
15 Thompson, William B.Evaluating the accuracy of size perception in real and virtual environmentsAccurate perception of the size of 3D objects depicted on 2D desktop displays is important for many applications. Whether users perceive objects depicted on a display to be the same size as comparable real world objects is not well understood. We propose using affordances judgments as a way of measu...2012-01-01
16 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
17 Regehr, JohnHierarchical schedulers, performance guarantees, and resource managementAn 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
18 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
19 Regehr, JohnOffline compression for on-chip RAMWe 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
20 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
21 Regehr, JohnPoster abstract: TinyOS 2.1 adding threads and memory protection to tinyOSThe release of TinyOS 2.0 two years ago was motivated by the need for greater platform flexibility, improved robustness and reliability, and a move towards service oriented application development. Since this time, we have seen the community embrace these efforts and add support for additional hardw...2008-01-01
22 Regehr, JohnThe problems you're having may not be the problems you think you're having: results from a latency study of windows NTThis 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
23 Berzins, MartinRadiation modeling using the Uintah heterogeneous CPU/GPU runtime systemThe Uintah Computational Framework was developed to provide an environment for solving fluid-structure interaction problems on structured adaptive grids on large-scale, long-running, data-intensive problems. Uintah uses a combination of fluid-flow solvers and particle-based methods for solids, toget...2012-01-01
24 Regehr, JohnRandom testing of interrupt-driven softwareInterrupt-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
25 Bargteil, Adam WadeStrain limiting for clustered shape matchingIn this paper, we advocate explicit symplectic Euler integration and strain limiting in a shape matching simulation framework. The resulting approach resembles not only previous work on shape matching and strain limiting, but also the recently popular position-based dynamics. However, unlike this pr...2014-01-01
1 - 25 of 29