Dr. Brittany I. Johnson

"Women who seek to be equal with men lack ambition."
- Marilyn Monroe

All I can be is me :)

Research made possible by:

  • Developer Liberation Front
  • National Science Foundation
  • NC State University

I'm Brittany, codename B.

A software engineering researcher with aspriations to do extraordinary things with extraordinary people!

I am a graduate of College of Charleston (BA in Computer Science) and a current PhD student in Computer Science at NC State University. I work in the Developer Liberation Front, under the direction of Drs. Emerson Murphy-Hill and Sarah Heckman. I am an NSF Graduate Research Fellow whose research lies at the intersection of software engineering and human-computer interaction. As a PhD student, my research focuses on improving developer productivity by improving the tools they use.

Outside of academics, I stay involved in the community, particularly for groups and events targeted at diversity in technology, another one of my passions. I plan to pursue a career in academia so I can follow my passion for research, spreading knowledge, and inspiring others like me to pursue a degree and career in technology.

My social media:
  • Twitter
  • Blogger
  • LinkedIn
  • GitHub
  • Facebook
The Developer Liberation Front

This is what I do


Rendering Dynamic Visualizations of Geological Data

The flagship CIRDLES software is called U-Pb_Redux, an open source Java application that performs full Uranium (U) and Lead (Pb) data reduction, including the propagation of measurement uncertainties using dynamic visualizations of the data. This was undergraduate research.
Learn more about my undergrad research here.

Improving Program Analysis Tool Usability

Despite the potential benefits of using program analysis tools, developers spend a lot of time figuring out the context of a defect and how to fix it, making infrequent use of these tools. This research aimed to find out why developers are or are not using program analysis tools and how we can help make using these tools easier and more efficient for the developer.


Fast-feedback static analysis tools
Expressive and Scalable Tool Notifications

Personalized Program Analysis Tools

Even though different developers have varying levels of expertise, the tools in one developer’s integrated development environment (IDE) behave the same as the tools in every other developers’ IDE. This research explores the idea of automatically customizing development tools based on developer experiences and what they know about software concepts.


Augmenting Program Analysis Tool Intelligence

Recent Publications


View all publications

Contact Information


  • Email: brittany_johnson 'at' ncsu 'dot' edu
  • Phone: +1 919 817-8371
  • Lab Location: Software Engineering Lab
    Engineering Building II, room 3228