578 research outputs found

    A Parallel Stack Processor to Reduce Procedure-Call Overhead

    Get PDF
    Coordinated Science Laboratory was formerly known as Control Systems LaboratoryNaval Electronics Systems Command VHSIC / N00039-80-C-0556Joint Services Electronics Program / N00014-84-C-0149Ope

    Java Grande Forum Report: Making Java Work for High-End Computing

    Get PDF
    This document describes the Java Grande Forum and includes its initial deliverables.Theseare reports that convey a succinct set of recommendations from this forum to SunMicrosystems and other purveyors of Javaâ„¢ technology that will enable GrandeApplications to be developed with the Java programming language

    Application of numerical interval analysis for statistical computing in a massively parallel computing environment

    Get PDF
    Interval analysis is a relatively new method in performing scientific computation. It uses intervals as basic computing elements and has a set of arithmetic that is different from the traditional one. The shortcomings of conventional computation that motivate the development of interval analysis are the inaccuracy caused by the finite number systems of computers and the uncertainty of various approximations. Using interval analysis we can manage to have the theoretically true result after each computing step contained in the computed interval. Although the exact location of the true value is not determined (sometimes it is even not possible), we know a pair of guaranteed lower and upper bounds of it. Using various techniques we can shrink the length of the interval, hence obtain highly accurate results;This dissertation investigates the use of interval analysis in statistical computing. We focus on two major applications: bounding computational errors and global optimization. Bounding computational errors is demonstrated by high dimensional Normal and t probability computations. Both the rounding errors from the finite nature of machine computing and the approximation errors from mathematical approximation are taken into account. We are able to compute high dimensional probabilities to high accuracy, which can not be achieved using traditional methods. For global optimization, we use the capability of interval analysis to compute the range of a function over a finite region. This can give us idea of the variation of the objective function value over that region. Within a finite region, the algorithm can throw away local optima, and if there exists more than one global optimum we are able to locate them all. This application is demonstrated by several examples in Statistics and Probability;;The use of interval analysis is at the expense of running time being large. In order to make it practical to use, we develop all the algorithms on a massively parallel machine. This way we obtain guaranteed highly accurate results within reasonable running times

    EffectiveSan: Type and Memory Error Detection using Dynamically Typed C/C++

    Full text link
    Low-level programming languages with weak/static type systems, such as C and C++, are vulnerable to errors relating to the misuse of memory at runtime, such as (sub-)object bounds overflows, (re)use-after-free, and type confusion. Such errors account for many security and other undefined behavior bugs for programs written in these languages. In this paper, we introduce the notion of dynamically typed C/C++, which aims to detect such errors by dynamically checking the "effective type" of each object before use at runtime. We also present an implementation of dynamically typed C/C++ in the form of the Effective Type Sanitizer (EffectiveSan). EffectiveSan enforces type and memory safety using a combination of low-fat pointers, type meta data and type/bounds check instrumentation. We evaluate EffectiveSan against the SPEC2006 benchmark suite and the Firefox web browser, and detect several new type and memory errors. We also show that EffectiveSan achieves high compatibility and reasonable overheads for the given error coverage. Finally, we highlight that EffectiveSan is one of only a few tools that can detect sub-object bounds errors, and uses a novel approach (dynamic type checking) to do so.Comment: To appear in the Proceedings of 39th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI2018

    HardScope: Thwarting DOP with Hardware-assisted Run-time Scope Enforcement

    Full text link
    Widespread use of memory unsafe programming languages (e.g., C and C++) leaves many systems vulnerable to memory corruption attacks. A variety of defenses have been proposed to mitigate attacks that exploit memory errors to hijack the control flow of the code at run-time, e.g., (fine-grained) randomization or Control Flow Integrity. However, recent work on data-oriented programming (DOP) demonstrated highly expressive (Turing-complete) attacks, even in the presence of these state-of-the-art defenses. Although multiple real-world DOP attacks have been demonstrated, no efficient defenses are yet available. We propose run-time scope enforcement (RSE), a novel approach designed to efficiently mitigate all currently known DOP attacks by enforcing compile-time memory safety constraints (e.g., variable visibility rules) at run-time. We present HardScope, a proof-of-concept implementation of hardware-assisted RSE for the new RISC-V open instruction set architecture. We discuss our systematic empirical evaluation of HardScope which demonstrates that it can mitigate all currently known DOP attacks, and has a real-world performance overhead of 3.2% in embedded benchmarks
    • …
    corecore