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...
In many traditional computer graphics applications, rendered scenes typically utilize 3D meshes to represent objects within an environment. As the demand to further improve the realism of graphics applications increases, such as for movies and games, it is becoming more important to represent the inner volumes of object meshes. In...
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...
Scientists in the biological sciences need to retrieve information from a variety of data collections, traditionally maintained in SQL databases, in order to conduct research. Because current assistant tools are designed primarily for business and financial users, scientists have been forced to use the notoriously difficult command-line SQL interface, supplied...
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...
Recent studies have shown that novel continuous dropout methods can be viewed as a Bayesian interpretation of model parameters, though most such studies have shown results using normal distributions. As the posterior distributions over neural network nodes and parameters are intractable, given that they are a result of artificial construction...
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...
Through comparison and analysis of selected holidays in countries with significantly different features (Kyrgyzstan, Russia, and the United States), this study aims to gauge the impact of holiday celebrations in influencing cultural values in those countries studied. K. Zygulski’s classification system for holidays was applied to divide the holidays of...
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...
Reasoning about any realistic domain always involves a degree of uncertainty.
Probabilistic inference in belief networks is one effective way of reasoning under
uncertainty. Efficiency is critical in applying this technique, and many researchers
have been working on this topic. This thesis is the report of our research in this...
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...
A radix 2n non-restoring division algorithm is described. The
algorithm is designed to be compatible with hardware multiprecision
multiplication methods currectly used in high speed digital computers.
This enables the use of the same hardware, with only changes in
control logic, to be used to implement both multiplication and
division....
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...
Continuous Improvement (CI) of academic computing programs is a main requirement of accreditation. Academic computing programs must have a well-documented CI plan in order to be granted accreditation. Based on the existing literature, we developed a comprehensive CI (or 360-CI) model consisting of 8 components: course, curriculum, administration, faculty, research,...
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...
The local presence or absence of individual botanical species can be predicted with high accuracy by a simple feed-forward neural network, using only local climate data to make inference. This study proposes a framework for learning these predictive models, demonstrates highly accurate predictions for species with a sufficiently large area...
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 Elliptic Curve Digital Signature Algorithm (ECDSA) is a public key cryptosystem used for creation and verification of digital signatures in electronic documents. In this thesis, we created a Java applet that provides the functionality of the ECDSA using all of the NIST elliptic curves over GF(p). This applet was...
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...
The most important part of parallel computation is communication. Except in the most embarassingly parallel examples, processors cannot work cooperatively to solve a problem unless they can communicate. One way to solve the problem of communication is to use an interconnection network. Processors are located at nodes of the network,...
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...