Open Access. Powered by Scholars. Published by Universities.®

Physical Sciences and Mathematics Commons

Open Access. Powered by Scholars. Published by Universities.®

Articles 1 - 7 of 7

Full-Text Articles in Physical Sciences and Mathematics

Liboblivious: A C++ Library For Oblivious Data Structures And Algorithms, Scott D. Constable, Steve Chapin Oct 2018

Liboblivious: A C++ Library For Oblivious Data Structures And Algorithms, Scott D. Constable, Steve Chapin

Electrical Engineering and Computer Science - Technical Reports

Infrastructure as a service (IaaS) is an enormously beneficial model for centralized data computation and storage. Yet, existing network-layer and hardware-layer security protections do not address a broad category of vulnerabilities known as side-channel attacks. Over the past several years, numerous techniques have been proposed at all layers of the software/hardware stack to prevent the inadvertent leakage of sensitive data. This report discusses a new technique which integrates seamlessly with C++ programs. We introduce a library, libOblivious, which provides thin wrappers around existing C++ standard template library classes, endowing them with the property of memory-trace obliviousness.


Formal Development Of Secure Email, Dan Zhou, Joncheng C. Kuo, Susan Older, Shiu-Kai Chin Jan 1999

Formal Development Of Secure Email, Dan Zhou, Joncheng C. Kuo, Susan Older, Shiu-Kai Chin

Electrical Engineering and Computer Science - All Scholarship

Developing systems that are assured to be secure requires precise and accurate descriptions of specifications, designs, implementations, and security properties. Formal specification and verification have long been recognized as giving the highest degree of assurance. In this paper, we describe a software development process that integrates formal verification and synthesis. We demonstrate this process by developing assured sender and receiver C++ code for a secure electronic mail system, Privacy Enhanced Mail. We use higher-order logic for system-requirements specification, design specifications and design verification. We use a combination of higher-order logic and category theory and tools supporting these formalisms to refine …


Common Runtime Support For High Performance Languages, Geoffrey C. Fox Jan 1998

Common Runtime Support For High Performance Languages, Geoffrey C. Fox

Northeast Parallel Architecture Center

Widespread adoption of parallel computing depends on the availability of improved software environments. An essential component of these environments will be high-level languages. Several languages for exploiting data-parallelism (or task-parallelism) have been developed, or are under development. The stated goal of this project has been to provide a public domain infrastructure for runtime support of these high-level languages. The targeted languages include parallel versions of Fortran and C++, but our intention has been to provide uniform runtime support for many source languages.


A Simulation Model Of A Surveillance Radar Data Processing System Using Hi-Mass, Steven D. Farr, Alex F. Sisti, Douglas G. Fritz, Robert G. Sargent Jan 1995

A Simulation Model Of A Surveillance Radar Data Processing System Using Hi-Mass, Steven D. Farr, Alex F. Sisti, Douglas G. Fritz, Robert G. Sargent

Electrical Engineering and Computer Science - All Scholarship

This paper discusses the model specification, construction of the executable model, model execution, and the simulation results of a simulation model of a surveillance radar data processing system that was developed using the Hierarchical Modeling and Simulation System (HI-MASS). HI-MASS is an object oriented C++ based system that supports model specification (modeling) using the Hierarchical Control Flow Graph Model paradigm and executes simulation models using the sequential synchronous simulation execution algorithm. Models specified in this model paradigm use two complementary hierarchical specification structures, one to specify the model components and their interconnections and the other to specify the behaviors of …


A Generalized Expression Optimization Hook For C++ On High-Performance Architectures, David J. Edelsohn Jan 1994

A Generalized Expression Optimization Hook For C++ On High-Performance Architectures, David J. Edelsohn

Northeast Parallel Architecture Center

C++ has gained broad acceptance as an object-oriented evolutionary extension to the C language, but it severely constrains methods for operating on class objects by forcing all data manipulation through an interface which assumes that all basic operations can be implemented as they are written: as unary or binary operators. C++ allows great flexibility in the creation of complex data structures which can perform the same functionality as built-in types of many other languages, but unfortunately it does not allow an equivalent level of flexibility so that operators acting on those data types can achieve the same level of efficiency …


Flattening C++ Classes, Umesh Bellur, Al Villarica, Kevin Shank, Imram Bashir, Doug Lea Jan 1992

Flattening C++ Classes, Umesh Bellur, Al Villarica, Kevin Shank, Imram Bashir, Doug Lea

Center for Advanced Systems and Engineering

Inheritance with derived classes and virtual functions are key design concepts in C++. Despite this, their use can result in significant degradation of run time performance. We present a class flattening tool, which we believe will help eliminate the overhead associated with virtual functions in C++ programs. A flattener may also prove useful in the reuse, debugging, and understanding of C++ components. This report deals with the issues associated with flattening, and then presents a detailed design of such a tool.


Using Annotated C++, Marshall P. Cline, Doug Lea Jan 1990

Using Annotated C++, Marshall P. Cline, Doug Lea

Electrical Engineering and Computer Science - All Scholarship

A++ (‘‘Annotated C++’’) is both a formalism and a proposed CASE tool for annotating C++ code with object-oriented specifications, assertions, and related semantic information. Annotations provide programmers with a useful means for approaching class design, exceptions, correctness, standardization, software reusability and related issues in software engineering with C++. This paper shows how A++ provides arbitrarily fine granularity to the C++ type system, how it automates and streamlines exception testing, how it can aid in standardization of software components, and how it can safely remove redundant exception tests.