Object oriented programming languages are noted for their ability to allow users to quickly construct large software systems. They achieve this ability by allowing the programmer to concentrate on what it is they want to do, ignoring details of how that functionality is achieved. Such characteristics should make the object...
Background: Although some previous research has found ways to find inclusivity bugs (biases in software that introduce inequities among cognitively diverse individuals), little attention has been paid to how to go about fixing such bugs. We hypothesized that Information Architecture (IA)--the way information is organized, structured and labeled--may provide the...
Enabled by a rich ecosystem of Machine Learning (ML) libraries, programming using learned models, i.e., Software-2.0, has gained substantial adoption. However, we do not know what challenges developers encounter when they use ML libraries. With this knowledge gap, researchers miss opportunities to contribute to new research directions, tool builders do...
The project (partially) described in this paper was the result of an attempt by the Navy to use software complexity metrics to assess the complexity of Naval avionics software. In particular, the project consisted of computing a variety of software complexity metrics for CMS-2M and AYK-14 assembler source code and...
This study involves logic design and switching theory, in particular their practical application to the logic design and understanding of digital machines. Digital machines, of course, play an extremely important role in that large class of machines known as digital computers. But they also play an important role in many...
Multimedia networking is one of the most exciting developments in today's Internet. Streaming technology; which allows the player to start playing audio/video data immediately instead of waiting for the entire file to be downloaded, presents an attractive vehicle for the distribution of multimedia content over the Internet. However, transmitting real-time...
Pattern matching is the process of comparing two objects to see if they are similar to each other. Objects can be physical objects, situations, facts or events. The criteria of matching can be exact or partial. Traditional pattern matching systems rely on exact matches, in which a small set of...
The Large-Grain Data-Flow (LGDF) Machine is a tightly-coupled multi-processor consisting of several independent nodes, upon each of which may run one or more tasks. These tasks must be able to communicate and synchronize with each other. This document describes a message-passing system developed to meet these requirements.
The message-passing system...
The Structural Active-Object System (SAOS) approach allows rapid development of various concurrent systems by structural and hierarchical object composition (SHOC). We implemented, as a SAOS program, a graphical editing and simulation program for automatic guided vehicle (AGV) systems, which carry around parts in automated factories. It is difficult to predict...
Code instrumenters play a vital role in the functionality of the Aristotle program analysis system, This project aims to replace Aristotle's existing code instrumenters, which process target programs at the, source level, with instrumenters that process target programs at the intermediate language level. This change absolves the instrumenters of responsibility...