Maintaining variation in software is a difficult problem that poses serious challenges for the understanding and editing of software artifacts. Although the C preprocessor (CPP) is often the default tool used to introduce variability to software, because of its simplicity and flexibility, it is infamous for its obtrusive syntax and...
The gradient of a velocity vector field is an asymmetric tensor field which can provide critical insight that is difficult to infer from traditional trajectory-based vector field visualization techniques. I describe the structures in the eigenvalue and eigenvector fields of the gradient tensor and how these structures can be used...
Advanced computer architectures are centered around the parallel computer systems. This project is focused on the experiment on two parallel computer architectures : Sequent Balance 21000 shared memory multiprocessor and Cogent XTM distributed system.
A set of benchmark programs are implemented using "C" language and Dynix parallel programming library on...
It is common practice in the unsupervised anomaly detection literature to create experimental benchmarks by sampling from existing supervised learning datasets. We seek to improve this practice by identifying four dimensions important to real-world anomaly detection applications --- point difficulty, clusteredness of anomalies, relevance of features, and relative frequency of...
This paper continues exploration in the area of
programming for parallel computers. The appendix to the
paper contains an extensive survey of the literature related
to parallel computers and parallel programming techniques.
The paper itself presents a new approach to solving
the Laplace equation on a. parallel computer. A new...
A project is described wherein a source code browser was implemented based upon tasks performed by software engineers looking for source code modules with only UNIX utilities. These tasks were discovered by observing the actions of software engineers looking for code modules in a library, The success of the implementation...
With sequential computing technology reaching its speed limits, parallel processing is emerging as the key to very-high-speed computation. However, developing a parallel program is by no means a simple task; neither is analyzing the performance of parallel programs.
C* is a high-level data-parallel language that hides explicit message passing and...
"Collaborative filtering algorithms’ performances have been evaluated using a variety of metrics.
These metrics, such as Mean Absolute Error and Precision, have often ignored recommendations for
which they do not have data. Ignoring these recommendations has provided numbers which do not
accurately represent the user experience. Qualitatively we have seen...
Distributed Version Control Systems (DVCS) have seen an increase in popularity relative to traditional Centralized Version Control Systems (CVCS). Yet we know little on whether VCS tools meet the needs of software developers when managing software change or whether developers are benefitting from the extra power of DVCS. Without such...
Farm machinery continues to increase in its importance to the agricultural sector. Depreciation, the decline in value of a durable asset over time, represents one of the largest costs of agricultural production. The general objectives of this study were to update and expand the number of Remaining Value (RV) functions...
This paper reviews McCabe's cyclomatic complexity and Halstead's laws; it discusses studies in current literature relating the metrics to software. The studies are reproduced using data obtained from a large software project developed in a major electronics firm. Problems that occur when deriving the metrics are discussed; the result of...
This paper compares three classes of algorithms for finding
Hamiltonian circuits in graphs. Two of the classes are exhaustive
search procedures and this study finds them to have an exponential
dependence on the size of the graph. The third class of algorithms,
based on Warnsdorff's rule, is found to be...
The data used for the construction of genome maps is imperfect, therefore the mapping of a physically linear structure must take place in a very uneven feature space. As the number of genes to be ordered grows, it appears to be impractical to use exhaustive search techniques to find the...
This thesis describes a syntax-directed compiler-compiler
called COMCOM which has been implemented by the author on the CDC
3300 under the OS-3 operating system. The theory and terminology
of the parsing method and compiler-compilers in general are briefly
discussed. COMCOM uses Floyd's operator precedence bottom-up
parsing technique which avoids backup...
This project aims at building a Java application and a Java applet that would simulate a Stern-Gerlach laboratory in Quantum Mechanics. The project provides a tool for allowing the student to quickly design and run on the computer screen a number of experiments involving spin systems. This application could be...
Although much effort has been invested to build applications that support group work, collaborative applications have not found easy success. The cost of adopting and maintaining collaborative applications has prevented their widespread use, especially among small distributed groups. Application developers have had difficulties recognizing the extra effort required by groups...
This thesis presents a model for simulating individual pedestrian motion based on empirical data. The model keeps track of a pedestrian’s position, orientation, and body configuration and leverages motion capture data to generate plausible motion. Our model can automatically incorporate a pedestrian’s physical limitations when making movement decisions, since it...
The objective of this thesis is to develop a tool
which can be used to implement query processing algorithms
produced by a query optimizer. The tool should have the
following properties:
(1) it should support a description of the query solution in a dataflow-like language,
(2) it should support data...
The aim of this thesis is to study past 10 years of security vulnerabilities reported against Linux Kernel and all existing mitigation techniques that prevent the exploitation of those vulnerabilities. To systematically study the security vulnerabilities, they were categorized into classes and sub-classes based on their type.
This thesis first...
This thesis addresses the problem of temporal action segmentation in videos, where the goal is to label every video frame with the appropriate action class present. We focus on the domain of NFL football videos, where action classes represent common football play types. For action segmentation, we use a temporal...
Advances in deep learning based image processing have led to their adoption for a wide range of applications, and in tow with these developments is a dramatic increase in the availability of high quality datasets. With this comes the need to accelerate and scale deep learning applications in order to...
This paper describes the design and performance of a distributed, multi-tier architecture for scientific information management and data exploration. A novel aspect of this framework is its integration of Java IDL, the CORBA distributed object computing middleware with JavaBeans, the Java Component model to provide a flexible, interactive framework for...
Functional programming is concerned with referential transparency, that is, given a certain function and its parameter, that the result will always be the same. However, it seems that this is violated in applications involving uncertainty, such as rolling a dice. This thesis defines the background of probabilistic programming and domain-specific...
Nonnegative matrices have a myriad of applications in the biological, social, and physical genres. Of particular importance are the primitive matrices. A nonnegative matrix, M, is primitive exactly when there is a positive integer, k, such that M[superscript k] has only positive entries; that is, all the entries in M[superscript...
This paper investigates the feasibility of compiling the functionality of a decision
theoretic problem solving engine into a set of rules or functionally similar construct.
The decision theoretic engine runs in exponential time, while the rule set runs in
linear time at worst. The main question that will determine the...
In this thesis, we present semantic equivalence rules for an extension of the choice calculus and sound operations for an implementation of variational lists. The choice calculus is a calculus for describing variation and the formula choice calculus is an extension with formulas. We prove semantic equivalence rules for the...
Smart home devices are becoming increasingly popular and by 2021, it is estimated to have 80 million devices in the households of the U.S. The privacy and security threats involved with devices, as a result, are also scaling up in recent years. Smart home cameras have been hacked, private conversations...
In this thesis we introduce alpha and beta tree acceptors,
generalizations of tree automata. The alpha tree acceptors recognize
a tree by final symbol and the beta tree acceptors by final state. We
show that alpha and beta tree acceptors recognize the same sets of
Gorn trees and demonstrate that...
In order to aid comparison of estimates of genetic parameters between dominant and codominant makers for population genetics society, we developed a genetic dominance simulation program to determine how the dominance and biallelism could affect the estimation of population genetic statistics. The simulation indicates that genetic diversities within populations based...
This report addresses the design and implementation of an internet-based grading tool for the "Translators" course. The motivation is to avoid exposing the instructor's Java byte-code to possible reverse-engineering tools and enable students to submit their homework virtually from any machine across the internet. This tool is intended to replace...
Development of graphical user interface (GUI) applications is difficult since the process can be both complicated and tedious. We propose a solution directed at reducing programming time and effort required to build a GUI application. Our solution is based on the Petri Network, the Oregon SpeedCode Universe (OSU) Application Framework,...
Various ecological and hydrological models require estimates of the amount and spatial distribution of monthly and annual precipitation. PRISM is an analytical model that distributes point measurements of monthly, seasonal and annual precipitation to a geographic grid. In order to use this model effectively, good graphical user interfaces were needed....
The task of designing and building the user interface portion of a Macintosh application is radically different than the same task on a more conventional computer with a conventional operating system. Just the fact that it is radically different makes it very time consuming to learn how to program this...
The new Technical Report Management System (TRMS) is a client/server web application developed for the Compute Science Department. It provides web services like online browsing, viewing, searching and online database administration including creating and modifying the existing bibliographic records. It is a multi-tiered, component-based application that deploys the latest J2EE...
The general problem of classroom scheduling is well known to be NP-complete. A typical classroom scheduling problem is that of assigning students to a limited number of pieces of laboratory equipment. Frequently several identical pieces of equipment are available only at fixed hours and have limited access due to physical...
The history of a software project plays a vital role in the software development process. Version control systems enable users of a software repository to look at the evolution of the source code, and see the changes that led to newer versions. Currently, version control systems provide commands that can...
Polyhedra are geometric representations of linear systems of equations and
inequalities. Since polyhedra are used to represent the iteration domains of nested
loop programs, procedures for operating on polyhedra can be used for doing loop
transformations and other program restructuring transformations which are needed
in parallelizing compilers. Thus a need...
Although there has been research into ways to design spreadsheet systems to improve the processes of creating new spreadsheets and of understanding existing ones, little attention has been given to helping users of these environments test their spreadsheets. To help address this need, we introduce two visual approaches to testing...
This paper demonstrates the effectiveness of a heuristic for
the Traveling Salesman Problem based purely on the efficient
storage of multiple partial sub-tours. The heuristic is among the
best available for the solution of large scale geometric Traveling
Salesman Problems. Additionally, a version of the heuristic can be
used to...
The minimal kernel for a network data base management
system is developed. It includes format specification for
the object schema and the data base file, and routines for
performing the basic network functions.
The object schema defines the relationship between the
schema, records, sets, and fields. It informs the system...
The reaction of fluid or gas flowing around an obstacle is a common engineering problem. Computer simulations are often used to measure and visualize the physical processes involved. In this report, we will discuss a parallel implementation of a simulation using the Smooth Particle Hydrodynamics (SPH) approach to fluid flow....
Cryptographic systems are used for secure communications in the government, in industry, and by individuals. Many cryptographic systems base their security on our inability to factor quickly. For this reason, in the last few decades several fast factoring algorithms have been developed. The Quadratic Sieve is one of the best...
Remote sensors are becoming the standard for observing and recording ecological data in the field. Such sensors can record data at fine temporal resolutions, and they can operate under extreme conditions prohibitive to human access. Unfortunately, sensor data streams exhibit many kinds of errors ranging from corrupt communications to partial...
Prettyprinters are software tools that format program source code so that it conforms to certain standards of consistency and hence improves readability. Traditionally, these standards were fixed for a particular prettyprinter as indicated by a literature survey, with very little or no supporting evidence that the formatting style improves readability....
Rapid Prototyping is a technique that has been created to alleviate some of the problems inherent in the traditional approach to software development. Various prototyping techniques currently employed are presented. The user interface aspect of system design is studied and where the benefit of prototyping user interfaces lies is shown....
Allegro is a network database management system being developed at Oregon State University. This project adds a user friendly query facility to the system. The user is presented with pictorial display of the network records and a query interface modeled on the Query-By-Example system. By request the user may be...
We took the back-propagation algorithms of Werbos for recurrent and feed-forward neural networks and implemented them on machines with graphics processing units (GPU). The parallelism of these units gave our implementations a 10 to 100 fold increase in speed. For nets with less than 20 neurons the machine performed faster...
Interconnection Networks have been used as a high performance communication fabric in parallel processor architectures. Parallel processors built using off-the-shelf components, called clusters, are becoming increasingly attractive because of their high performance to cost ratio over parallel computers.
Many web servers and database servers make efficient use of clustering from...