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...
Cryptographic devices leak timing and power consumption information that is easily measurable, radiation of various levels, and more. Such devices also have additional inputs, other than plaintext and keys, like voltage, which can be modified to force the device to produce certain faulty outputs that can be used to reveal...
The spreadsheet has become a common technology tool and is now a predominant form of end-user programming. Some of the same features that make spreadsheets excellent tools for ad-hoc development can introduce errors into the final product. Although a variety of research has been performed investigating methods to detect errors...
Personalization is defined as a process that facilitates interaction among consumers and providers such that individual consumers are enabled to more readily access the content and services of providers, and individual providers are enabled to more effectively and easily deliver their content and services to consumers. This project presents a...
Recent efforts in user-control of data-driven characters have focused on designing high-level graph data-structures that we call a Behavior Finite State Machine (BFSM). A BFSM is an interactive data-structure that benefits from the advantages of both motion graphs and blend-based techniques for generating animated motion. Each node in a BFSM...
Accessing information on the Web has become ingrained into our daily lives, and we seek information from many different sources, including conference and journal publications, personal web pages, and others. Increasingly, web-based information retrieval systems such as web-based search engines, library on-line catalog systems, and subscription-based federated search systems are...
Previous research has revealed gender differences that impact females’ willingness to adopt software features in end users’ programming environments. Since these features have separately been shown to help end users problem solve, it is important to female end users’ productivity that we find ways to make these features more acceptable...
Finding information can cost a significant amount of time, even when the information is already stored on the user’s local computer system. There is significant research aimed at reducing these time costs, but little research into exactly what these costs are or how they impact people’s use of tools and...
Open source software has become a powerful force in the world of computing. While once confined to the domain of technical specialists, people of all types have begun to adopt this software – from the casual web-surfer who uses Firefox, to the professional web developer who codes in PHP or...
Packet loss, delay and time-varying bandwidth are three main problems facing multimedia streaming applications over the Internet. Existing techniques such as Media-aware network protocol, network adaptive source and channel coding, etc. have been proposed to either overcome or alleviate these drawbacks of the Internet. But these techniques either need specialized...