Faculty Research Areas
Databases and distributed systems
The Database field is concerned with organization and management of
data. Database technologies make online shopping, banking, social
media, and many other applications possible. The dramatic increase in
data availability, collection, and storage poses new challenges to
traditional databases. Most of the data is now stored not on a single
machine, but distributed among many machines. Research at USNA lies at
the intersection of databases and distributed systems, with a focus on
finding information in dynamic, large, decentralized systems
(designing efficient index structures and algorithms). Another focus
is on organizing, storing and ultimately processing different
types of data (relational, XML, RDF, etc).
Specific projects include building systems and algorithms for distributed data provenance to keep track of data as it is created, modified, and transmitted between multiple users/systems, and creating a distributed index for XML data to allow fast query processing for XPath queries.
Lead: Adina Crainiceanu
Natural Language Processing
Computational approaches to understanding human languages. Main areas of research include knowledge extraction from written text, connecting real-world events based on their textual descriptions, and temporal reasoning. One of our main research thrusts is identifying the central entities of a document and their semantic roles in the text. For instance, teasing apart the perpetrator from the victim of a crime is a challenging and open problem when the computer does not know that such roles exist in the first place. This requires learning the semantics of verbs and nouns in documents, as well as the syntactic cues that help identify the central people. We are building unsupervised learning algorithms to do this identification on very large datasets.
Other NLP research at the USNA includes how to make real-world predictions from text, including social media analysis. Some specific recent projects include entity role extraction without labeled data, ordering events in time, determining the date of authorship of unlabeled documents, and mapping the emotions expressed by Twitter users to presidential approval polls.
Lead: Nate Chambers
Reinforcement Learning and Autonomy
We humans learn through experiences. For example, when learning how
to ride a bike, perhaps you once went around a corner too quickly, and after
falling and skinning your knee, you learned how to avoid that situtation. The
goal of reinforcement learning is to allow machines to undergo the same
process, ultimately learning enough to autonomously achieve a task. Problems
in this domain include how best to seek out the most useful experiences and
how to recognize features of the domain that correspond to success or failure.
My own research focuses on improving these learning algorithms to allow for
application to physical systems capable of weathering real-life uncertainty.
Specific projects at the Naval Academy include the development of an autopilot for a Boeing 747, and anomalous state detection with applications to UAV autopilots and cybersecurity.
Lead: Gavin Taylor
Security of Processor Design
Although software security has been studied for many years, the field of hardware security has evolved more recently. What does it mean to say that a processor design is secure? How can we specify prohibited and permissible hardware behaviors? This research investigates how the security requirements of a processor architecture can be specified formally as temporal-logic assertions, and how those assertions can be converted into 'checker' circuits that dynamically evaluate the behavior of the target processor, with the goal of identifying prohibited behaviors, which may result from a design error, or from the insertion of a hardware trojan horse.
Lead: Mike Bilzor
Statistical Relation Learning
What do Facebook users, research publications, cellphone accounts, and biological proteins all have in common? All of these represent real-world situations where there are a large number of "nodes" (e.g., users, publications, accounts, etc.) that are "linked" together by interesting connections (e.g., friendships, citations, phone calls, metabolic interactions). In addition, for each of these situations, there is a very large (and growing!) amount of data that describe them, and a number of important questions that we would like to be able to answer. For instance, what Facebook users are likely to become "friends" in the next year? What pairs of cellphone accounts are probably engaging in fraudulent activity? Which new publications are likely to be the most influential?
Statistical Relational Learning (SRL) is a relatively new field of Computer Science research that addresses all of these questions. At USNA, recent research has focused on developing new techniques for "collective classification", which involves predicting a label for every node in a network based on that node's connections to other nodes. Other projects have included developing hybrid classifiers for using linked and non-linked information, and developing techniques that are able to learn effective prediction models even when only a very small number of labeled examples are available.
Lead: Luke McDowell
Mathematics forms the basis of a scientific understanding of the
world, and mathematical problems underlie important questions in a
wide range of areas, from astronomy and physics to medical imaging and
information assurance. Symbolic computation is the pursuit of exact
and reliable answers to these important mathematical problems.
In the USNA Computer Science Department, we are developing algorithms and software to advance the state of the art in symbolic computation. Our research in algorithms is focused on understanding and pushing the limits of what is possible for mathematical computing, both from a theoretical and a practical standpoint. For example, some of our work has shown that the basic multiplication problem underlying many modern encryption schemes can be computed using less memory than previously though possible. We are also developing software programs that provide highly optimized and efficient implementations of these advanced algorithms for mathematicians, engineers, and scientists around the world. An example of this work is the QEPCAD software which is currently developed at USNA and can be used to solve or simplify certain kinds of mathematical formulas.
Information for Students
Students seeking to be involved in research should contact individual faculty members. The above research areas may help align your interests with active research in our department. Contact the lead of any area that interests you.
Curious about research courses? Read this old guidance about independent work. It is out of date and will be updated, but can give you an idea of what a typical research course involves. Also, read the Academic Dean Instruction 1531.79 on Midshipmen Research Project Courses.
Instructions for using the repository.
Repository entry system (USNA only)
Evaluating Faculty Research
USNA faculty involved in evaluation and assessment of faculty research will find this memo on computer science research evaluation extremely useful. Please contact the department chair with any further questions.