Profile

My current role as a Research Computing Facilitator at Rochester Institute of Technology enables me to combine my passion for software engineering, security, research, and teaching to assist multi-disciplinary researchers in their quest to discover. Outside of work, I relax by reading (mostly non-fiction), building Lego (sets and custom designs), brewing beer (I’m not good at it yet), and studying the works of J.R.R. Tolkien.

Education

Ph.D. in Computing & Information Sciences

Aug 2018 - Dec 2023
Rochester Institute of Technology

Advisor: Dr. Andrew Meneely

Committee: Dr. Daniel Krutz, Dr. Mehdi Mirakhorli, Dr. Emily Prud’hommeaux

Dissertation Title: Human Error Assessment in Software Engineering

Dissertation Abstract: Software engineers work under strict constraints, balancing a complex, multi-phase development process on top of user support and professional development. Despite their best efforts, software engineers experience human errors, which manifest as software defects. While some defects are simple bugs, others can be costly security vulnerabilities. Practices such as defect tracking and vulnerability disclosure help software engineers reflect on the outcomes of their human errors (i.e. software failures), and even the faults that led to those failures, but not the underlying human behaviors. While human error theory from psychology research has been studied and applied to medical, industrial, and aviation accidents, researchers are only beginning to systematically reflect on software engineers’ human errors. Some software engineering research has used human error theories from psychology to help developers identify and organize their human errors (mistakes) during requirements engineering activities, but developers need an improved and systematic way to reflect on their human errors during other phases of software development. The goal of this dissertation is to help software engineers confront and reflect on their human errors by creating a process to document, organize, and analyze human errors. To that end, our research comprises three phases: (1) systematization (i.e. identification and taxonomization) of software engineers’ human errors from literature and development artifacts into a Taxonomy of Human Errors in Software Engineering (T.H.E.S.E.), (2) evaluation and refinement of T.H.E.S.E. based on software engineers’ perceptions and natural language insights, and (3) creation of a human error informed micro post-mortem process and the Human Error Reflection Engine (H.E.R.E.), a proof-of-concept GitHub workflow facilitating human error reflection. In demonstrating the utility of T.H.E.S.E. and our micro post-mortem process, the software development community will be closer to inculcating the wisdom of historical developer human errors, enabling them to engineer higher quality and more secure software.

Notable Coursework: Regression Analysis, Nonparametric Statistics & Bootstrapping, Fundamentals of Computer Networking, Cyberinfrastructure Foundations, Neural Networks for Data Science, Fundamentals of Instructional Technology, Teaching Skills Workshop, Introduction to Greographic Information Systems

B.S. in Software Engineering

Aug 2013 - May 2018
Rochester Institute of Technology

Concentration: Computational Linguistics

Notable Linguistics Coursework: Introduction to Language Science, Language & Linguistics, Evolving English Language, Psycholinguistics, Introduction to Natural Language Processing, Spoken Language Processing, Science & Analytics of Speech, Language & Culture, Language & Sexuality, Language Technology

Notable Software Engineering & Computer Science Coursework: Introduction to Computer Science Theory, Principles of Data Mining, Mathematical Models of Software, Engineering of Concurrent & Distributed Software Systems, Software Process & Project Management, Software Performance Engineering, Engineering of Software Subsystems, Personal Software Engineering, Engineering Secure Software, Discrete Mathematics for Computing, Linear Algebra, Applied Statistics

Research Publications

  • Taxonomy-Based Human Error Assessment for Senior Software Engineering Students
  • Benjamin S. Meyers, Andrew Meneely
    Conference: ACM Special Interest Group on Computer Science Education (SIGCSE) Technical Symposium. March 2024.
  • Human Error Assessment in Software Engineering
  • Benjamin S. Meyers
    Ph.D. Dissertation: Rochester Institute of Technology. December 2023.
  • What Happens When We Fuzz? Investigating OSS-Fuzz Bug History
  • Brandon N. Keller, Benjamin S. Meyers, Andrew Meneely
    Conference: Mining Software Repositories (MSR). May 2023.
  • Examining Penetration Tester Behavior in the Collegiate Penetration Testing Competition
  • Benjamin S. Meyers, Sultan Fahad Almassari, Brandon N. Keller, Andrew Meneely
    Journal: ACM Transactions on Software Engineering and Methodology (TOSEM). July 2022.
  • An Automated Post-Mortem Analysis of Vulnerability Relationships Using Natrual Language Word Embeddings
  • Benjamin S. Meyers, Andrew Meneely
    Conference: Symposium on Machine Learning and Big Data Analytics for Cybersecurity and Privacy. May 2021.
  • Developing a Geographic Information Capacity (GIC) Profile for Disaster Risk Management Under United Nations Framework Commitments
  • Brian M. Tomaszewski, Elizabeth A. Moore, Kyle Parnell, Alexandra M. Leader, William R. Armington, Omar Aponte, Leslie Brooks, Brienna K. Herold, Benjamin S. Meyers, Tayler Ruggero, Zachary Sutherby, Madeline Wolters, Sandy Wua, Jörg Szarzynski, Klaus Greve, and Robert Parody
    Journal: Disaster Risk Reduction (IJDRR). April 2020.
  • Pragmatic Characteristics of Security Conversations: An Exploratory Linguistic Analysis
  • Benjamin S. Meyers, Nuthan Munaiah, Andrew Meneely, Emily Prud'hommeaux
    Conference: International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE). May 2019.
  • A Dataset for Identifying Actionable Feedback in Collaborative Software Development
  • Benjamin S. Meyers, Nuthan Munaiah, Emily Prud'hommeaux, Andrew Meneely, Cecilia O. Alm, Josephine Wolff, Pradeep Murukannaiah
    Conference: Meeting for the Association for Computational Linguistics (ACL). July 2018.
  • An Analysis and Visualization Tool for Case Study Learning of Linguistic Concepts
  • Cecilia O. Alm, Benjamin S. Meyers, Emily Prud'hommeaux
    Conference: Empirical Methods in Natural Language Processing (EMNLP). September 2017.
  • Natural Language Insights from Code Reviews that Missed a Vulnerability
  • Nuthan Munaiah, Benjamin S. Meyers, Cecilia O. Alm, Andrew Meneely, Pradeep K. Murukannaiah, Emily Prud'hommeaux, Josephine Wolff, Yang Yu
    Conference: International Symposium for Engineering Secure Software and Systems (ESSoS). August 2017.

    Presentations

  • Introduction to Research Computing at RIT
  • Benjamin S. Meyers
    Conference: Upstate New York Statistics Conference (UPSTAT). April 2024.
  • Taxonomy-Based Human Error Assessment for Senior Software Engineering Students
  • Benjamin S. Meyers, Andrew Meneely
    Conference: ACM Special Interest Group on Computer Science Education (SIGCSE). March 2024.
  • Introduction to the Research Computing Cluster
  • Benjamin S. Meyers
    Doctoral Student Association at Rochester Institute of Technology. September 2023.
  • Human Error Assessment in Software Engineering
  • Benjamin S. Meyers
    Ph.D. Dissertation Defense: Rochester Institute of Technology. October 2023.
  • An Automated Post-Mortem Analysis of Vulnerability Relationships Using Natural Language Word Embeddings
  • Benjamin S. Meyers, Andrew Meneely
    Conference: Upstate New York Statistics Conference (UPSTAT). April 2023.
  • Introduction to the Research Computing High-Performance Computing (HPC) Cluster
  • Benjamin S. Meyers, Emilio Del Plato, Sidney Pendelberry
    Doctoral Student Association at Rochester Institute of Technology. September 2022.
  • Introduction to the Research Computing High-Performance Computing (HPC) Cluster
  • Benjamin S. Meyers, Emilio Del Plato, Sidney Pendelberry
    Teaching Skills Workshop at Rochester Institute of Technology. November 2019.
  • A Dataset for Identifying Actionable Feedback in Collaborative Software Development
  • Benjamin S. Meyers, Nuthan Munaiah, Emily Prud'hommeaux, Andrew Meneely, Cecilia O. Alm, Josephine Wolff, Pradeep Murkannaiah
    Conference: Association for Computational Linguistics (ACL). July 2018.
  • Natural Language Insights from Code Reviews that Missed a Vulnerability
  • Nuthan Munaiah, Benjamin S. Meyers, Cecilia O. Alm, Andrew Meneely, Pradeep K. Murukannaih, Emily Prud'hommeaux, Josephine Wolff, Yang Yu
    Golisano College of Computing & Information Sciences Graduate Research Showcase. April 2017.
  • Exploring Discourse of Individuals with Autism Spectrum Disorder
  • Benjamin S. Meyers, Cecilia O. Alm, Emily Prud'hommeaux
    Conference: International Meeting for Autism Research (IMFAR). May 2016.
  • Exploring Discourse of Individuals with Autism Spectrum Disorder
  • Benjamin S. Meyers, Cecilia O. Alm, Emily Prud'hommeaux
    Undergraduate Research Symposium at Rochester Institute of Technology. August 2015.

    Research Positions

    Graduate Research Assistant

    Sep 2018 - Dec 2023
    Dr. Andrew Meneely, Rochester Institute of Technology (Full-Time Ph.D. Research)

    Design, implementation, and analysis of research experiments in the areas of human factors in software engineering, notably applying human error theory, natural language processing, and machine learning to study software engineers’ behaviors, workplace interactions, and security posture.

    Graduate Research Assistant

    May 2019 - Jul 2019
    Dr. Brian Tomaszewski, Rochester Institute of Technology (Full-Time Paid Internship)

    Developed the concept of Geographic Information Capacity (GIC), a framework for measuring/analyzing the ability of communities (towns, cities, states, and countries) to understand, access, and utilize geographic information for disaster risk management, and identifying vulnerable communities for prioritizing disaster risk mitigation.

    Undergraduate Research Assistant

    Jan 2017 - May 2018
    Dr. Andrew Meneely, Rochester Institute of Technology (Full-Time Co-Op)

    Applied natural language processing techniques to a dataset of 788,437 code reviews from the Chromium project to examine the discourse of software developers through analysis of inquisitiveness, sentiment analysis, politeness, formality, propositional density, uncertainty detection, and syntactic complexity.

    Undergraduate Research Assistant

    Aug 2015 - Dec 2016
    Dr. Cecilia O. Alm & Dr. Emily Prud'hommeaux, Rochester Institute of Technology (Part-Time)

    Developed a set of distinct case study activities using genuine linguistic datasets to aid student learning and engagement in introductory linguistics classes. Enhanced the visualization capabilities of an existing web application, Linguine, that aided in the analysis of the case study data.

    Undergraduate Research Assistant

    Jun 2015 - Aug 2015
    Dr. Cecilia O. Alm & Dr. Emily Prud'hommeaux, Rochester Institute of Technology (Full-Time Co-Op)

    Adapted natural language processing techniques to a corpus of speech transcriptions collected from college-aged males with and without autism spectrum disorder. Examined the trajectories of linguistic development in autism through analysis of various syntactic-, semantic-, and discourse-based metrics.

    Academic Positions

    Presentation Judge

    May 2022 - Jun 2022
    GENIUS Olympiad, Rochester Institute of Technology (Volunteer)

    Responsible for judging 23 K-12 student presentations/papers related to climate change.

    Adjunct Professor

    Aug 2020 - May 2021
    Department of Software Engineering, Rochester Institute of Technology (Part-Time)

    Responsible for preparing coursework (slides, exams, quizzes, homework assignments, projects) and delivering lectures for 2 semesters of the Engineering Secure Software Course. This course covers the principles and practices forming the foundation for developing secure software systems. Coverage ranges across the entire development lifecycle, including requirements, design, implementation, and testing. Emphasis is on practices and patterns that reduce or eliminate security breaches in software intensive systems, and on testing systems to expose security weaknesses.

    Course Assistant, Software Performance Engineering

    Jan 2019 - Mar 2019
    Department of Software Engineering, Rochester Institute of Technology (Part-Time)

    Responsible for grading homework and project assignments. Responsible for assisting during lectures.

    Course Assistant, Engineering Secure Software

    Sep 2017 - Dec 2017
    Department of Software Engineering, Rochester Institute of Technology (Part-Time)

    Responsible for grading homework and project assignments. Responsible for assisting during lectures.

    Course Assistant, Language Technology

    Jan 2016 - May 2016
    College of Liberal Arts, Rochester Institute of Technology (Part-Time)

    Responsible for grading homework and project assignments. Responsible for assisting during lectures.

    Course Assistant, Introduction to Language Science

    Sep 2015 - Dec 2015
    College of Liberal Arts, Rochester Institute of Technology (Part-Time)

    Responsible for grading homework and project assignments. Responsible for assisting during lectures.

    Technical Positions

    Research Computing Facilitator II

    Jul 2022 - Present
    ITS Research Computing, Rochester Institute of Technology (Full-Time)

    Responsible for providing advanced computing support for RIT researchers. Assisting researchers with accessing Research Computing services, such as batch processing with Slurm, data storage on a Ceph cluster, software package management with Spack, and implementing high-performance computational workflows. Responsible for development of documentation and training resources for researchers. Responsible for planning and organizing professional and social events for researchers. Technologies include Spack, Slurm, Ceph, Ansible, Jekyll. Languages include Python, C, C++, Bash, HTML/CSS.

    Applications Developer

    Aug 2019 - Aug 2020
    Collegiate Penetration Testing Competition (Volunteer)

    Implementation of web browser history logging for Linux/Windows competition machines. Implementation of virtual machine backup scripts. Integration with Laforge, an in-house competition infrastructure management system. Technologies included Splunk, Veeam. Languages included Bash, PowerShell, Python.

    Applications Developer

    Aug 2017 - May 2018
    Kate Gleason College of Engineering, Rochester Institute of Technology (Senior Project)

    Implementation of new features and improvements to existing features in PICS, the purchasing and inventory control system for KGCOE’s multidisciplinary senior design projects. Technologies included Active Directory, AngularJS, CLAWS, GitLab, MySQL, oVirt. Lanuguages included HTML/CSS, JavaScript, PHP.

    Applications Developer

    May 2016 - May 2018
    Computational Linguistics & Speech Processing Lab, Rochester Institute of Technology (Part-Time)

    Implementation of improvements to Linguine, a pre-existing linguistics learning tool. Implementation of new linguistic analyses and visualizations. Technologies included MongoDB, NodeJS. Languages included HTML/CSS, JavaScript, Python.

    Website Administrator

    May 2015 - May 2018
    Computational Linguistics & Speech Processing Lab, Rochester Institute of Technology (Part-Time)

    Management of multiple linguistics websites. Design and implementation of Language Science Department website. Technologies included CLAWS, GitLab. Languages included HTML/CSS, JavaScript.

    Applications Developer

    May 2016 - Sep 2016
    Kate Gleason College of Engineering, Rochester Institute of Technology (Full-Time Co-Op)

    Implementation of ATLAS, a web application to facilitate management of IT service tickets within the Kate Gleason College of Engineering and self-service group management. Technologies included Active Directory, CLAWS, GitLab, MySQL. Languages included HTML/CSS, JavaScript, PHP.

    Assistant Systems Administrator

    Dec 2015 - May 2016
    Kate Gleason College of Engineering, Rochester Institute of Technology (Part-Time)

    Assisting with day-to-day maintenance of servers, user-support activities, as well as other duties as assigned. Technologies included CLAWS, oVirt.

    Programming Team Leader

    Sep 2009 - May 2013
    Greater Rochester Robotics F.I.R.S.T. Team 340, Churchville-Chili High School (Volunteer)

    Management of a team of 5-10 student programmers. Design and implementation of autonomous and user-controlled robot code using a variety of hardware sensors, including potentiometers, speed controllers and ultrasonics. Languages included Java, LabVIEW.

    Journal/Conference Co-Reviewer Experience

    Mining Software Repositories (MSR) (x2)

    2022

    IEEE Transactions on Software Engineering (TSE) (x2)

    2018, 2021

    ACM Transactions on Software Engineering and Methodology (TOSEM) (x1)

    2021

    International Conference on Technical Debt (ICTD) (x4)

    2019, 2021

    Software Quality Journal (SQJ) (x1)

    2019

    International Symposium on Engineering Secure Software and Systems (ESSoS) (x1)

    2017

    Mentorship Experience

    Brandon N. Keller, Graduate (Ph.D.) Research Assistant

    Apr 2022 - Dec 2023

    Sultan Fahad Almassari, Graduate (M.S.) Research Assistant

    Aug 2020 - May 2021

    Middle School Students on F.I.R.S.T. Lego League Teams

    Sep 2009 - May 2013

    Honors & Awards

    Language Science and Computational Linguistics Student Excellence Award

    Apr 2017
    College of Liberal Arts, Rochester Institute of Technology

    Dean's List

    May 2014, May 2016, Dec 2016, May 2017
    College of Computing & Information Sciences, Rochester Institute of Technology

    Presidential Volunteer Service Award, Silver Level

    May 2012, 2013
    President of the United States

    Computing Medal Award ($7,000/year Scholarship)

    Jun 2012
    Rochester Institute of Technology

    Projects

    H.E.R.E.: Human Error Reflection Engine - Scripts facilitating semi-automated human error reflection on GitHub.
    LUCI: Linguistic Uncertainty Classifier Interface - A Python implementation of the uncertainty classifier, based on the work of Veronika Vincze.
    Phonetta: (phonet)ic (t)ranscription (a)ssistant - A web interface for typing International Phonetic Alphabet (IPA) symbols.
    SPLAT: Speech Processing & Linguistic Analysis Tool - Simple command line tool for basic NLP.
    T-BAG: Text-Based Adventure Game Framework - Domain-Specific Language for writing text-based adventure games.

    Academic Organizations

    Association for Computing Machinery (ACM)

    Sep 2021 - Present

    Doctoral Student Association

    Sep 2021 - Dec 2023

    Computational Linguistics and Speech Processing (CLaSP) Lab

    Jun 2015 - May 2019

    Linguistics Society of America (LSA)

    2017

    OSS Contributions

    Spack - Package recipes for various open-source software libraries.
    Vulnerability History Project - A museum of mistakes to help us engineer secure software.