Electrical Engineering and Computer Science - Technical ReportsCopyright (c) 2021 Syracuse University All rights reserved.
https://surface.syr.edu/eecs_techreports
Recent documents in Electrical Engineering and Computer Science - Technical Reportsen-usWed, 24 Mar 2021 14:36:16 PDT3600libOblivious: A C++ Library for Oblivious Data Structures and Algorithms
https://surface.syr.edu/eecs_techreports/184
https://surface.syr.edu/eecs_techreports/184Tue, 16 Oct 2018 07:44:43 PDT
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.
]]>
Scott D. Constable et al.Formal Verification of a Modern Boot Loader
https://surface.syr.edu/eecs_techreports/183
https://surface.syr.edu/eecs_techreports/183Thu, 06 Sep 2018 06:23:13 PDT
We introduce the Syracuse Assured Boot Loader Executive (SABLE), a trustworthy secure loader. A trusted boot loader performs a cryptographic measurement (hash) of program code and executes it unconditionally, allowing later-stage software to verify the integrity of the system through local or remote attestation. A secure loader differs from a trusted loader in that it executes subsequent code only if measurements of that code match known-good values. We have applied a rigorous formal verification technique recently demonstrated in practice by NICTA in their verification of the seL4 microkernel. We summarize our design philosophy from a high level and present our formal verification strategy.
]]>
Scott D. Constable et al.A Formally Veriﬁed Heap Allocator
https://surface.syr.edu/eecs_techreports/182
https://surface.syr.edu/eecs_techreports/182Wed, 29 Aug 2018 06:14:49 PDT
We present the formal verification of a heap allocator written in C. We use the Isabelle/HOL proof assistant to formally verify the correctness of the heap allocator at the source code level. The C source code of the heap allocator is imported into Isabelle/HOL using CParser and AutoCorres. In addition to providing the guarantee that the heap allocator is free of bugs and therefore is suitable for use in security critical projects, our work facilitates verification of other projects written in C that utilize Isabelle and AutoCorres.
]]>
Arash Sahebolamri et al.MetaProlog Design and Implementation
https://surface.syr.edu/eecs_techreports/181
https://surface.syr.edu/eecs_techreports/181Thu, 24 May 2012 06:52:59 PDT
Many researchers in the area of logic programming have recognized the limits of logic languages such as Prolog and suggested a meta level approach as an alternative. Some of the main drawbacks cited are the control strategy, the presence of a single database, and the ad hoc extensions to the base logic programming paradigm to allow the dynamic modification of the database. The MetaProlog language, which includes Prolog and some of its metalanguage, deals with some of these problems. In this paper, the design and implementation of MetaProlog are described and the changes to the Warren Abstract Machine (WAM) on which it is based are detailed. Familiarity with the WAM is assumed.
]]>
Hamid BachaBenchmarking the CM-5 for Image Processing Applications
https://surface.syr.edu/eecs_techreports/180
https://surface.syr.edu/eecs_techreports/180Mon, 07 May 2012 07:01:16 PDT
This paper presents benchmarking results for image processing algorithms on the Connection Machine model CM-5 and compares them with the results from the CM-2 and the Sun-4. Image processing algorithms with varying communication and computational requirements were implemented, tested and timed. The performance and the scalabilty of the CM-5 were analyzed and compared with that of the CM-2.
]]>
Ravi V. Shankar et al.Conceptual Background for Symbolic Computation
https://surface.syr.edu/eecs_techreports/179
https://surface.syr.edu/eecs_techreports/179Mon, 07 May 2012 07:01:14 PDT
This paper is a tutorial which examines the three major models of computation--the Turing Machine, Combinators, and Lambda Calculus--with respect to their usefulness to practical engineering of computing machines. While the classical von Neumann architecture can be deduced from the Turing Machine model, and Combinator machines have been built on an experimental basis, no serious attempts have been made to construct a Lambda Calculus machine. This paper gives a basic outline of how to incorporate a Lambda Calculus capability into a von Neumann type architecture, maintaining full backward compatibility and at the same time making optimal use of its advantages and technological maturity for the Lambda Calculus capability.
]]>
Klaus BerklingA Declarative Foundation of λProlog with Equality
https://surface.syr.edu/eecs_techreports/178
https://surface.syr.edu/eecs_techreports/178Mon, 07 May 2012 07:01:12 PDT
We build general model-theoretic semantics for higher-order logic programming languages. Usual semantics for first-order logic is two-level: i.e., at a lower level we define a domain of individuals, and then, we define satisfaction of formulas with respect to this domain. In a higher-order logic which includes the propositional type in its primitive set of types, the definition of satisfaction of formulas is mutually recursive with the process of evaluation of terms. As result of this in higher-order logic it is extremely difficult to define an effective semantics. For example to define T p operator for logic program P, we need a fixed domain without regard to interpretations. In usual semantics for higher-order logic, domain is dependent on interpretations. We overcome this problem and argue that our semantics provides a more suitable declarative basis for higher-order logic programming than the usual general model semantics. We develop a fix point semantics based on our model. We also show that a quotient of the domain of our model can be the domain of a model for higher-order logic programs with equality.
]]>
Mino BaiFault-Detection in Networks
https://surface.syr.edu/eecs_techreports/177
https://surface.syr.edu/eecs_techreports/177Mon, 07 May 2012 07:01:11 PDT
To find broken links in networks we use the cut-set space. Information on which nodes can talk, or not, to which other nodes allows reduction of the problem to that of decoding the cut-set code of a graph. Special classes of such codes are known to have polynomial-time decoding algorithms. We present a simple algorithm to achieve the reduction and apply it in two examples.
]]>
H. F. Mattson JrA Non-Deterministric Parallel Sorting Algorithm
https://surface.syr.edu/eecs_techreports/176
https://surface.syr.edu/eecs_techreports/176Mon, 07 May 2012 07:01:09 PDT
A miniswap Si,1 ≤ i < n, compares two adjacent keys Пi, Пi+1 in the sequence (П1, ... , Пn), and transposes them if they are out of order. A full sweep is any composition of all n - 1 possible miniswaps. We prove that the composition of any n- 1 full sweeps is a sorting function.
]]>
Xue Shirley Li et al.Embedding Data Mappers with Distributed Memory Machine Compilers
https://surface.syr.edu/eecs_techreports/175
https://surface.syr.edu/eecs_techreports/175Mon, 07 May 2012 07:01:07 PDT
In scalable multiprocessor systems, high performance demands that computational load be balanced evenly among processors and that interprocessor communication be limited as much as possible. Compilation techniques for achieving these goals have been explored extensively in recent years [3, 9, 11, 13, 17, 18]. This research has produced a variety of useful techniques, but most of it has assumed that the programmer specifies the distribution of large data structures among processor memories. A few projects have attempted to automatically derive data distributions for regular problems [12, 10, 8, 1]. In this paper, we study the more challenging problem of automatically choosing data distributions for irregular problems.
]]>
Ravi Ponnusamy et al.A Probabilistic Analysis of a Locality Maintaining Load Balancing Algorithm
https://surface.syr.edu/eecs_techreports/174
https://surface.syr.edu/eecs_techreports/174Mon, 07 May 2012 07:01:06 PDT
This paper presents a simple load balancing algorithm and its probabilistic analysis. Unlike most of the previous load balancing algorithms, this algorithm maintains locality. We show that the cost of this load balancing algorithm is small for practical situations and discuss some interesting applications for data remapping.
]]>
Kishan Mehrotra et al.General Model Theoretic Semantics for Higher-Order Horn Logic Programming
https://surface.syr.edu/eecs_techreports/173
https://surface.syr.edu/eecs_techreports/173Mon, 07 May 2012 07:01:04 PDT
We introduce model-theoretic semantics [6] for Higher-Order Horn logic programming language. One advantage of logic programs over conventional non-logic programs has been that the least fixpoint is equal to the least model, therefore it is associated to logical consequence and has a meaningful declarative interpretation. In simple theory of types [9] on which Higher-Order Horn logic programming language is based, domain is dependent on interpretation [10]. To define T p operator for a logic program P, we need a fixed domain without regard to interpretation which is usually taken to be a set of atomic propositions. We build a semantics where we can fix a domain while changing interpretations. We also develop a fixpoint semantics based on our model, and show that we can get the least fixpoint which is the least model. Using this fixpoint we prove the completeness of the interpreter of our language in [14].
]]>
Mino Bai et al.Designing Efficient Maximum-Likelihood Soft-Decision Decoding Algorithms for Linear Block Codes Using Algorithm A*
https://surface.syr.edu/eecs_techreports/172
https://surface.syr.edu/eecs_techreports/172Mon, 07 May 2012 07:01:02 PDT
In this report we present a class of efficient maximum-likelihood soft-decision decoding algorithms for linear block codes. The approach used here is to convert the decoding problem into a search problem through a graph which is a trellis for an equivalent code of the transmitted code. Algorithm A*, which uses a priority-first search strategy, is employed to search through this graph. This search is guided by an evaluation function f defined to take advantage of the information provided by the received vector and the inherent properties of the transmitted code. This function f is used to drastically reduce the search space and to make the decoding efforts of this decoding algorithm adaptable to the noise level. For example, simulation results for the (128,64) binary extended BCH code indicate that for most real channels the proposed decoding algorithm is at least fifteen orders of magnitude more efficient in time and in space than that proposed by Wolf. Simulation results for the (104, 52) binary extended quadratic residue code are also given. These simulation results indicate that the use of Algorithm A* for decoding has resulted not only in an efficient soft-decision decoding algorithm for hitherto intractable linear block codes, but an algorithm which is in fact optimal as well.
]]>
Yunghsiang S. Han et al.Parallel Monte Carlo Trials
https://surface.syr.edu/eecs_techreports/171
https://surface.syr.edu/eecs_techreports/171Mon, 07 May 2012 07:01:00 PDT
The best results of Monte Carlo methods are generally obtained by performing the same computation many times with different random numbers. We develop a generic algorithm for parallel execution of Monte Carlo trials on a multicomputer. The generic algorithm has been adapted for simulated annealing and primality testing by simple substitutions of data types and procedures. The performance of the parallel algorithms was measured on a Computing Surface.
]]>
Per Brinch HansenSimulated Annealing
https://surface.syr.edu/eecs_techreports/170
https://surface.syr.edu/eecs_techreports/170Mon, 07 May 2012 07:00:58 PDT
This tutorial describes simulated annealing, an optimization method based on the principles of statistical mechanics. Simulated annealing finds near-optimal solutions to optimization problems that cannot be solved exactly because they are NP-complete. The method is illustrated by a Pascal algorithm for the traveling salesperson problem. The performance of the algorithm was measured on a Computing Surface.
]]>
Per Brinch HansenPrimality Testing
https://surface.syr.edu/eecs_techreports/169
https://surface.syr.edu/eecs_techreports/169Mon, 07 May 2012 07:00:56 PDT
This tutorial describes the Miller-Rabin method for testing the primality of large integers. The method is illustrated by a Pascal algorithm. The performance of the algorithm was measured on a Computing Surface.
]]>
Per Brinch HansenNumerical Solution of Laplace's Equation
https://surface.syr.edu/eecs_techreports/168
https://surface.syr.edu/eecs_techreports/168Mon, 07 May 2012 07:00:55 PDT
This tutorial discusses Laplace's equation for steady state heat flow in a two-dimensional region with fixed temperatures on the boundaries. The equilibrium temperatures are computed for a square grid using successive overrelaxation with parity ordering of the grid elements. The numerical method is illustrated by a Pascal algorithm. We assume that the reader is familiar with elementary calculus.
]]>
Per Brinch HansenParallel Cellular Automata: A Model Program for Computational Science
https://surface.syr.edu/eecs_techreports/167
https://surface.syr.edu/eecs_techreports/167Mon, 07 May 2012 07:00:53 PDT
We develop a model program for parallel execution of cellular automata on a multicomputer. The model program is then adapted for simulation of forest fires and numerical solution of Laplace's equation for stationary heat flow. The performance of the parallel program is analyzed and measured on a Computing Surface configured as a matrix of transputers with distributed memory.
]]>
Per Brinch HansenMultiple-Length Division Revisited: A Tour of the Minefield
https://surface.syr.edu/eecs_techreports/166
https://surface.syr.edu/eecs_techreports/166Mon, 07 May 2012 07:00:51 PDT
Long division of natural numbers plays a crucial role in Cobol arithmetic, cryptography, and primality testing. Only a handful of textbooks discuss the theory and practice of long division, and none of them do it satisfactorily. This tutorial attempts to fill this surprising gap in the literature on computer algorithms. We illustrate the subtleties of long division by examples, define the problem concisely, summarize the theory, and develop a complete Pascal algorithm using a consistent terminology.
]]>
Per Brinch HansenAll-to-Many Communication Avoiding Node Contention
https://surface.syr.edu/eecs_techreports/165
https://surface.syr.edu/eecs_techreports/165Mon, 07 May 2012 07:00:49 PDT
In this paper we present several algorithms for all-too-many personalized communications which avoid node contention.
]]>
Sanjay Ranka et al.