The University of Arizona


Featured Projects

AlignAlign: Software for Optimally Aligning Alignments

grid of colored characters

Sequence alignment is fundamental to unraveling the secrets of DNA. The AlignAlign software finds the optimal combination of two smaller alignments.
>Learn more

Dragoon: Tamper Detection and Forensic Analysis in Databases

process diagram

Enron and WorldCom have shown that insiders, even official auditors, may tamper with corporate databases. Here's how to catch the bad guys.
>Learn more

GMap: An Algorithm for Visualizing Graphs as Maps

Bookland snapshot

GMap is an algorithm for visualizing graphs as maps. Information visualization can be invaluable in making sense out of large data sets. However, traditional graph visualization methods often fail to capture the underlying structural information, clustering, and neighborhoods. GMap, provides a way to overcome some of the shortcomings with the help of the geographic map metaphor. While graphs, charts, and tables often require considerable effort to comprehend, a map representation is more intuitive, as most people are very familiar with maps and even enjoy carefully examining maps. The effectiveness of GMap is illustrated with examples from several domains, namely TV shows, Amazon books, and music.
>Learn more

Graphael: A System for Generalized Force-Directed Layouts

colorful graph

Graphael implements several classic force-directed layout methods, plus several novel non-Euclidean geometric approaches including hyperbolic and spherical. The system can handle large graphs, using multi-scale variations of the force-directed methods.
>Learn more

GraphSet: A Simultaneous Embedding Tool

complex graph

Problems in simultaneous graph drawing involve the layout of several graphs on a shared vertex set. This tool can be used for several types of these problems: simultaneous geometric embedding, simultaneous embedding with fixed edges, and colored simultaneous embedding. The tool can be used in two ways: (i) to study theoretical problems in simultaneous graph drawing; and (ii) to produce drawings from known algorithms for these problems.
>Learn more

iPlant: Cyberinfrastructure for Plant Sciences

iPlant logo

Several Computer Science faculty and students are involved in the iPlant Collaborative, which is building a national cyberinfrastructure to enable the solution of "grand challenge" problems in the plant sciences. The national project is led by a University of Arizona team and is funded by a $50 million grant from the National Science Foundation. Gregory Andrews is on the leadership team for the project. He and John Hartman are supervising a research project to build tools for reproducing software experiments. Kobus Barnard is leading a project to evaluate the use of educational video searching and browsing in the context of iPlant. John Hartman and David Lowenthal are supervising a project to evaluate the use of graphical processing units to speed the construction of evolutionary trees for the iPlant tree-of-life grand challenge. Suzanne Westbrook is leading efforts to develop materials for teaching computational thinking to college students in the physical and life sciences.
>Learn more

LoCuS: Student Labs for Testing CS Theories

graphic image of test tubes

LoCuS (Laboratory fOr CompUter Science) is instructional software for teaching computer science theories through online labs in which students can run their own experiments. Experiments within the context of LoCuS are laboratory exercises akin to those found in other sciences like biology, chemistry, and physics. Labs are available at middle school, high school, and undergraduate levels.
>Learn more

Lynx: Automatic Simplification of Obfuscated Malware Code

Picture of a Lynx

The Lynx Project aims to develop techniques and tools to automate the process of analysis and simplification of malware code. In particular, it aims to identify and undo code obfuscations so as to simplify the malware program and make its inner logic easier to understand.
>Learn more

Micro-Specialization: Speeds up DBMS at runtime by exploiting invariants.

Micro-Specialization flowchart

Micro-Specialization uses relation- and query-specific information to specialize database management systems at runtime based on identified invariants. This invariant is often of the form of variable(s) in the code that are constant during query evaluation. Micro-specialization is applied to eliminate from the original program unnecessary code such as branching statements that reference such invariants in branch-condition evaluation. The resulting specialized code greatly reduces the code complexity to significantly improve efficiency during code execution.
>Learn more

Stork: Scalable Software Management for Distributed Systems

stork with wrapped packages

Stork provides an intelligent, secure, and scalable way to manage software. In VM environments such as PlanetLab, software is securely shared to minimize disk, network, and memory costs. For scalability, Stork provides a simple way to manage software on a large number of nodes.
>Learn more

tauBerkeleyDB: A relational DBMS with added transaction-time support

tau Berkeley DBMS Project logo

Transaction-time support in a database allows it to store all the information that was ever entered into the system. All data, changed and deleted included, can be retrieved at a later stage thus forming a complete historical trace of the temporal evolution of the data. Such support is useful for answering complex temporal queries as well as highly applicable to the domains of provenance and audit log security.
>Learn more