Faculty Research Areas
Computer, Network, and Usable Security
The study of cyber-security topics in computer science requires a broad perspective, touching on many facets of the discipline, from architecture, programming languages, computer networks, cryptography, as well as human computer interaction. It also requires viewing computer systems from both an offensive and defensive stance. Researchers must consider how an attacker may use resources improperly and how a defender, in turn, can secure those resources. The ultimate goal is to design, develop, and build computer systems that best serve the users, are secure against attacks, and can adapt to a changing cyber landscape.
Specific projects at USNA: Automated network security defenses; Human factors in mobile device security; Studying user perceptions of security; and developing password selection and usage tools.
Lead: Adam J. Aviv
Cryptography and Security
We are interested in cryptography and security with core research on the development of privacy-enhancing mechanisms. On the Internet, a huge number of privacy-sensitive transactions are being performed, e.g., financial transactions, medical transactions, and email transactions. Needless to say, the disclosure of these private pieces of information may inflict critical damage on the owners, and therefore it is imperative to develop mechanisms that guarantee privacy in various contexts. Dr. Choi leads the effort, having worked on privacy-enhancing mechanisms in various contexts such as secure multi-party computation, private database, anonymous reputation system, verifiable computing. He is also interested in foundational questions in cryptography such as general feasibility results and relationships between cryptographic primitives. See Dr. Choi's research page for more information.
Lead: Seung Geol Choi
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 situation. 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.79A on Midshipmen Research Project Courses.
Instructions for using the repository.
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.