This page summarizes the research areas in which I worked as a PhD student at Carnegie Mellon University (and, before that, an undergraduate at Macalester College).
- Architecture evolution (PhD thesis topic)
-
Conventional understandings of software architecture focus on modeling and analyzing a target system. While highly useful, these models cannot readily account for the evolutionary aspect of software architecture: software systems change architecturally over time, for both planned and unexpected reasons. We have developed a framework to allow architects to reason about the evolutionary path that a software architecture will follow, to express architectural constraints over these paths, and to aid in the planning of development activities.
Collaborators: David Garlan, Bradley Schmerl, Ipek Ozkaya, Ashutosh Pandey, Orieta Celiku
Papers: WICSA’09, SoSyM, TOPI’13, ASE’13
Technical reports: CMU-ISR-13-116, CMU-ISR-13-118 (PhD thesis) - Architectural analysis of security (additional PhD research topic)
-
Analyzing software systems for security poses special challenges. Architecture-level approaches to security analysis tend to be broad and do not provide assurance of implementation correctness. Implementation-level approaches are often narrowly focused and do not lend themselves to enforcement of naturally expressed architectural ideas. We have developed an approach that enables both reasoning in terms of a run-time architecture and tying the architecture to code. This allows architects to enforce architectural security constraints and have some confidence that they hold in an actual implementation.
Collaborator: Marwan Abi-Antoun
Paper: ASE’10
Technical reports: CMU-ISR-09-113, CMU-ISR-10-106 - Object-relational mapping (undergraduate honors project)
-
My undergraduate honors thesis was a survey of object-relational mapping technology. Many object-oriented applications, especially Web applications, use relational databases for persistence. This often results in duplication of structure between the classes in the application and the tables in the database. Object-relational mapping is a way to automate the mapping between classes and tables.
Advisor: Elizabeth Shoop
Other readers: G. Michael Schneider, Daniel KaplanPaper: Undergraduate honors thesis
- Combinatorial representation theory (undergraduate mathematics capstone)
-
As an undergraduate, I researched an issue in the subfield of mathematics called representation theory. Via a classical construction, we associated a family of algebras {CGk} to each finite subgroup G of the special unitary group SU2. We proved that the dimension of {CGk} equals the number of closed walks of length 2k on the Coxeter–Dynkin graph or McKay quiver. We also produced a natural bijection between most of these walks and a basis for CGk.
Advisor: Tom Halverson
Second reader: Dan Flath