Information Foraging Theory (IFT) has successfully explained how people seek information in various domains, in turn, informing the design of several tools and information-intensive environments. However, prior research has not explored foraging in the presence of several, very similar variants of the same artifact. Such variants are commonplace in several...
Mutation analysis is the gold standard for evaluating test-suite adequacy. It involves exhaustive seeding of all small faults in a program and evaluating the effectiveness of test suites in detecting these faults. Mutation analysis subsumes numerous structural coverage criteria, approximates fault detection capability of test suites, and the faults produced...
Data variations are prevalent in real-world applications. For example, software vendors have to handle numerous variations in the business requirements, conventions, and environmental settings of a software product. In database-backed software, the database of each version may have a different schema and content. As another example, data scientists often need...
Tree-like patterns are ubiquitous in nature. Botanical trees, river networks, and blood systems are the most well-known examples of complex hierarchical systems met in observations. Interestingly, many of such systems exhibit statistical self-similarity. There are two main types of self-similarity: Horton self-similarity and Tokunaga self-similarity. Although there is an increased...
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...
An interdisciplinary study into the theory of design decisions has yielded a model for tracking design changes in hardware/software systems, but it still needs to be applied to a larger system to test its efficiency at tracking important data. This thesis creates an implementation of PLEXIL, a language in development...
In the current education environment, many instructors make use of some type of software, such as Visual Studio or a software library like OpenGL, in the classroom. Incorrect setup and configuration on an individual’s own system is a common problem when using these software tools. This thesis explores the difficulty...
In a software development cycle, programs go through many iterations. Identifying and
understanding program changes is a tedious but necessary task for programmers, especially when
software is developed in a collaborative environment. Existing tools used by the programmers
either lack in finding the structural differences, or report the differences as...
This thesis consists of two major components. The first is Laboring-Class Poets Online (LCPO), a database-driven website that provides information about the more than 2,000 British laboring-class poets who published between 1700 and 1900 and their writing, lives, and literary relationships. I developed LCPO to demonstrate the importance of laboring-class...
Full Text:
this process. I would also like to thank EricWalkingshaw for serving as my Graduate Council
The increasing level of complexity in systems creates a growing challenge
for engineers to design safe and reliable systems. The growing complexity can
lead to possible moments when situations occur that were unanticipated or were
not known that they could occur by designers and leave the system in an
undesirable...