Here is a summary of a couple of the projects I have worked on while at NCSU, arranged in reverse chronological order (the most recent is on top).

Developer Ethics

Understanding Software Developer Decisions in Ethical Situations

Software developers are uniquely capable of potentially affecting the lives of millions of users across multiple software categories. Since the ACM is updating is code of ethics for 2018, we wanted to determine if developers’ ethical decisions would be influenced by being aware of the code of ethics and having it available for reference. By conducting a study of 63 students, we found that a code of ethics did not affect decisions made, instead, individuals’ decisions were most affected by their belief that ethical behavior is important to success in an organization.


Continuous Integration (CI) Slackbot

For my Software Engineering course, we designed and created a bot to solve a problem within software engineering. We decided to integrate CI tools (TravisCI and Coveralls) into Slack in order to allow easier access these tools.

While the course project has completed, I might be occasionally publishing updates. Find the code here or look at our documentation (including some links to YouTube videos demonstrating the bot working). I also used PivotalTracker to track project tasks.

CiBot Report Demo

Security Recommender

Display security recommendations to project teams

In an effort to increase the presence of security knowledge among developers, I created an interface to display project-specific recommendations in a dedicated RESTful portal using Django. Not only would this make the security reviewers’ jobs easier, having the recommendations in one place would also let some security recommendations to be automated through machine learning on the project description and threat model.

While this interface provides benefits over current practices, the feedback indicated that a more drastic shift was needed to increase adoption. To achieve this, I proposed creating a complete review portal where all design documentation and requirements can be resented in context with conversations, review recommendations, and document revision history. Refactoring the entire review system would allow all team members to go to a single portal to view all documents, therefore reducing the amount of information necessary to keep in working memory.


System to help users create sharing policies

I created an interactive web-based interface in Django to allow users to generate policies for their personal data based on automatically generated data tags. You can see the interface in action in the short tutorial video I created for the project.

Project alt text

You can read the paper I wrote for OS Security on the project project here.

As always, you can contact me at the email to the left. If no links are showing up, disable ad blockers and reload. I promise never to display ads to you on this site.