photo of Tegan Brennan in the COE lobby

Tegan Brennan, PhD candidate in Computer Science

(Interviewed 2018)

  • Hometown: Johannesburg, South Africa
  • Degrees: B.A. Mathematics, Princeton University and M.Sc. Computational Science and Engineering, Harvard University
  • Degree sought from UCSB: Computer Science Ph.D. (5th year)
  • Graduate Study Area: Side-Channel Analysis
  • Advisor / Lab: Professor Tevfik Bultan / Verification Laboratory
  • Research Interests: program analysis, computer security, verification, side-channel analysis
  • Research Topic: My most recent paper was on detecting side-channel vulnerabilities in software through static analysis of control flow graphs and my current work is on inducing side-channels through JIT optimizations.
  • Important Conferences Attended: I’ve given talks for accepted papers at the 2018 International Symposium on Software Testing and Analysis (ISSTA) and the 2017 Foundations of Software Engineering (FSE). I also presented at the doctoral symposium at ISSTA 2017, spoke during a workshop of the 2017 Computer Security Foundations Symposium (CSF) and presented a poster at the 2017 Organization for Human Brain Mapping (OHBM). Additionally, I was a student volunteer at the 2016 Conference on Programming Languages Design and Implementation (PLDI) and the 2017 International Symposium on Software Testing and Analysis (ISSTA).
  • Most important publications to date: Symbolic Path Cost Analysis for Side Channel Detection (ISSTA 2018); Constraint Normalization and Parameterized Caching for Quantitative Program Analysis (FSE 2017); Analytic tractography: Using a closed-form solution for estimating local white matter connectivity with diffusion MRI (Neuroimage 2017)
  • What types of Financial Assistance have you received?: For my first two years, I was funded through an Integrative Graduate Education and Research Traineeship (IGERT) Fellowship from the NSF. Since then, I have mostly been a Graduate Student Researcher (GSR) working with Tevfik Bultan and Subhash Suri and I’ve also TA’d for Computer Science Project (CS 48) course.
  • Awards & Honors Received: IGERT Fellowship in Network Science; UCSB CS Recruitment Fellowship and NCWIT Collegiate Award Honorable Mention
  • Professional Memberships: Association for Computing Machinery (ACM) Member
  • UCSB Student Organizations: Cotillion Dance
  • Hobbies: Competitive ballroom dancing, aerial arts, attempts at photography and baking
  • Interesting Aside about You: I love to dance and have competed in competitions across many different states.

Favorite things about

CS department: Being surrounded by impactful, passionate researchers across a variety of disciplines!

UCSB: Friendly atmosphere, finally being at the point where I recognize people (from students I’ve taught to people I dance with) when walking around campus.

Santa Barbara: That we have both the mountains and the beach (I’m more a mountain person, though why choose?) Also, the warm and loving dance community I’ve made my outside-of-lab home.

Tegan and her research

Tell us about your research: Broadly, I’m interested in program analysis for security. My current research is focused on side-channel analysis in software. Recently I’ve published an approach to statically detect side channels in programs based on the program’s control flow graph. I plan to extend this work with a technique for quantifying the amount of information leaked. I am also developing techniques that leverage just-in-time compilation to induce timing side channels.

How and why did you get into your area of research?: As a member of the IGERT in Network Science, I had three modules to complete over the course of three different quarters. One quarter, my future advisor Tevfik and another professor Xifeng Yan brought a proposal for a module to the IGERT and I was intrigued. I signed up to work on that module and to take a class with Tevfik. Since I was enjoying the work, I began attending lab meetings where I was introduced to side-channel analysis.

Why did you select UCSB and the Computer Science Department in regards to your research?: Ultimately, I chose to attend UCSB because when I spoke with professors during a pre-decision visit, I was inspired by their passion for their work and attracted by their research proposals. Of all the places I visited, I left the most excited about the potential research I could do at UCSB.

What do you find rewarding about your research?: I love being able to explore questions that no one knows the answer to yet and having the freedom to create and define my own projects. The mathematical side of me is really motivated by the formalism of program analysis and verification. I also enjoy addressing security-related issues since their importance as the world becomes more and more connected is hard to overstate. Plus, getting to pretend I’m a Hollywood-style hacker among my family and outside-of-lab friends is fun!

UCSB prides itself on its collaborative atmosphere, give some examples of how you collaborate: When I joined USCB, I was actually part of an interdisciplinary IGERT program in network science. During that program, I began collaborating with researchers in the Psychology department and our joint work has led to peer-reviewed publications in neuroscience journals. I even attended a conference in Vancouver to present our work. Within the verification lab, I collaborate with researchers from CMU West and Vanderbilt as part of a DARPA-funded project.

Thoughts on working in a group research environment and your experience working with an advisor: There have been plenty of advantages working in a group research environment. Getting quick feedback about ideas and answers to questions has been extremely valuable. I’m able to learn from the expertise of my lab mates in different areas and the hard work and commitment of others in my lab (and the department as a whole) also inspires me to create better work.

Where will your research take you next?: Though I’m still debating between academia and industry, I do want to find a position where I can continue to pursue interesting research questions and challenge myself intellectually. I feel like the experience I’ve gained as a graduate student at UCSB has put me in a position to contribute to the greater community and develop impactful tools and techniques for security-related purposes. I am also interested in pursuing opportunities where my work can make a meaningful social impact.

Tegan's thoughts on the academics at UCSB

Strengths of the graduate program: I think a great strength on our department is that our professors are not only excellent researchers but wonderful teachers as well. I’ve learned a lot in my classes here, and I appreciate the time professors take to prepare their material and present it in an understandable and interesting manner. The CS 290 series of seminar classes in specialized topics is a particularly great way to get introduced to current topics across different fields.

Favorite courses: Modern Programming Languages and Their Implementation (CS 263) taught by Professor Chandra Krintz. The material in this course was so new to me at the time and I learned so much! I signed up because I needed another systems class for my course requirements, but I ended up finding the material really interesting and I honestly had so much fun in this class. My final project for the course actually sparked a direction of research I’ve continued to pursue after the class ended.

Experience with the exams and thesis: I completed my Major Area Exam (MAE) in Spring 2017 and am planning to present my thesis proposal soon. I remember being very nervous about my MAE, but overall it was a good experience and I received some valuable feedback. Delving so exhaustively into the literature surrounding my topic was intense but informative, and it was great to have another chance to learn how to deliver engaging, content-full presentations.  My advice is to give as many practice talks as possible (aim to reach the point where you’ve heard yourself so much that you’re bored) and seek feedback from anyone willing to watch you.

Describe your experience as a Teaching Assistant (TA): So far, I’ve TA’d for CS 48 -- the computer science project class. In this class, I had weekly meetings with students to discuss their groups’ progress and help with any difficulties they were having. I also presented background material relevant to their assignments and held office hours. I had a lot of opportunities to interact with the students in smaller, more personal environments than is common for many classes – so I really enjoyed seeing what motivated them and what they cared about achieving in the class. It was exceedingly rewarding to see their final presentations and working applications in regards to when they were first proposed their ideas.

Life as a graduate student

Quality of life as a graduate student and how you balance school, work, social, and family life: It’s pretty challenging! When I have a paper deadline looming, it’s pretty much all work, but I still try and make time for activities I love even when I am very busy with research. Much of my outside-of-lab time is spent in dance classes, practices and performances/competitions. Often, these are scheduled in advance which helps me provide structure to my days.

What is your social life like and where have you lived while at UCSB?: I have some very good friends that I’ve made over my years at UCSB both in the CS and in other departments. My social life consists of a combination of my UCSB and my dance community friends. My friends are also very busy, but we make time for each other and value each other’s perspectives. In terms of living arrangements, I live in Goleta, pretty close to UCSB. I like being a bit separate from the university but still close enough that working late at night poses no inconvenience!

What do you do over the summers?: This summer, I was an intern for Amazon’s Automated Reasoning Group in New York, working on verification of their encryption libraries. I had the chance to explore interesting work distinct from my thesis and interact with talented and motivated researchers working for AWS. Using formal methods and performing program analysis on real code was an empowering experience that excited me for what I might be able to do in the future.

Advice to prospective graduate students: I feel like graduate school is a very personal journey so, my biggest piece of advice is to remember that you’re in charge on your own direction. If there’s something that’s not working for you, you have the power to change it. I’d also encourage all graduate students to be open minded about what their trajectory and career will become and not get bogged down by a fixed notion of what they should be doing or by what defines “success” in graduate school.