Research
Featured Projects
AlignAlign: Software for Optimally Aligning Alignments
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
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
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 last.fm music.
>Learn more
Graphael: A System for Generalized Force-Directed Layouts
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
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
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
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
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 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 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
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