Postdoctoral Researcher, LASER
Want to help? Here's some ways you can:
Gamer Bundle for Racial Justice and Equality
Petition for racial data on coronavirus
Sign other racial justice and equity related petitions
Make donations (there's ways that don't require money!)
If nothing else, educate yourself. Like movies? Check out Netflix for films on racial injustice and the Black experience. Also, Google (please don't expect us to do it for you).
If you're non-Black, listen and don't criticize.
Be our allies not just in emails and private meetings, but in public and loudly.
The fight is far from over.
I am a Postdoctoral Fellow in the College of Information and Computer Sciences at the University of Massachusetts Amherst. In Fall 2020, I will be joining the faculty in the Department of Computer Science at George Mason University.
I received my Ph.D. in Computer Science from North Carolina State University (2017), after getting my B.A. in Computer Science from the College of Charleston (2011). My research focuses on improving developer productivity and satisfaction through evaluating and improving the tools and processes they use to develop software. My current focus is on software fairness and ethical software engineering practices. My research is interdisciplinary, cross-cutting with research in software engineering, human-computer interaction, and machine learning.
Outside of work, I enjoy doing anything that allows me to be creative. From painting on canvas to painting my nails, I love to express myself! I also have a passion for mentoring and encouraging others to reach for the stars (while never forgetting who you are or where you started).
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.
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.
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
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.