Home Research Publications Teaching
Brittany Johnson

Dr. Brittany Johnson-Matthews

Assistant Professor
Dept. of Computer Science
George Mason University

Fairfax, VA

johnsonb@gmu.edu

(413) 461-0373





Interested in working with me as a student researcher or collaborating on a project? Feel free to contact me! Read more about the kind of work I do below.

Projects

Designing and Developing for the Black experience

Following the recent (and familiar) racially charged murders of innocent Black men and women, there have been concentrated efforts aimed at supporting the Black community. However, many of these efforts attempt to make blanket solutions that do not take into consideration the diversity even within a marginalized population, such as the Black community. Furthermore, there is often a focus on the challenges they face rather than the assets and triumphs that help define their experience. The goal of this project is to understand how we can design and develop technology that truly understands, considers, and supports the Black-lived experience.

Tech4BlackLives
Quintessence: A Quantitative Intersectional Data Analysis Support Framework
Ethical Software Development Practices

Advances in machine learning have led to advances in the software and services we build and provide. However, despite ethical concerns that come with these advances, such as software fairness, our approach to building software has remained relatively the same. The goal of this research is to explore and improve ethical software development tools and practices.

SPLASH 2020 Keynote

SEthics 2021 Presentation

Themis: Automatically testing software for discrimination (tool)
fairkit-learn: a model fairness evaluation and camparison toolkit (tool)
fairkit-learn study materials
Root Cause Debugging

Software testing is one method developers use to improve software quality and versatility. Current testing approaches help developers write and run tests, and may even present correlations to test failures. However, they do not attempt to point out the cause of a given test failure or unexpected result. The goal of this research is to create new testing techniques and tools that will help developers identify, trace, and compare passing and failing test executions and remove software defects.

ICSE 2020 Presentation

Holmes: A Causal Testing Prototype (tool and user study materials)
Effects of Work Environments on Productivity

The physical work environment of software engineers can have various effects on their satisfaction and the ability to get the work done. The goal of this research is to explore the work environments technical workers are in and how those environments affect their productivity. For this research, I analyze various types of work environments and various environmental factors that can, and have, had an effect on productivity as well as the relationship between satisfaction with work environment and productivity. We provide concrete, actionably results that can be applied in real world setting, as well as drive further research on improving developer productivity

The Effect of Work Environments on Productivity & Satisfaction of Software Engineers (Study Materials)
Evaluating & Improving Program Analysis Tools

Building quality software products, with as few defects as possible, is an important goal for software developers. Static analysis tools have the potential to provide quick feedback to developers, helping them to eliminate defects early in the development process, when they are cheap to fix. Despite the potential benefits of using these tools, developers end up spending a lot of time figuring out the context of the defect and how to fix it and therefore do not make frequent use of these tools. Our research aims to find out why developers are or are not using static analysis tools and how we can help make using these tools easier and more efficient for the developer. One direction for improvement my research is exploring is the ability to use programmer knowledge and experience to improve tool output.

Why Don't Developers Use Static Analysis Tools to Find Bugs? (Study Materials)
A Cross-Tool Communication Study on Program Analysis Tool Notifications (Study Materials)