I recently hosted an episode of Software Engineering Radio called "Will McGugan on Text-Based User Interfaces"!

  • Home
  • Teaching
    • Overview
    • Data Abstraction
    • Operating Systems
  • Research
    • Overview
    • Papers
    • Presentations
  • Outreach
    • Software
    • Service
    • Blog
  • About
    • Biography
    • Schedule
    • Contact
    • Blog
    • Service
    • Papers
    • Presentations

Contents

  • Overview
  • Teaching
  • Research
  • Expertise
    • Research Service
    • Media Engagements

Biography

Code
from rich.console import Console
console = Console()
console.print(
    ":rocket: Hi! I'm a researcher, teacher, software developer, and podcaster!"
)
🚀 Hi! I'm a researcher, teacher, software developer, and podcaster!

Overview

Guided by my professional principles, I am an Associate Professor in the Department of Computer Science at Allegheny College. I earned a PhD from the Department of Computer Science at the University of Pittsburgh, writing a PhD dissertation on database application testing that was supervised by Mary Lou Soffa and published as (Kapfhammer 2007) . I also earned a BSc in Computer Science from Allegheny College and an MSc in Computer Science from the University of Pittsburgh. Previously I was a short-term visitor in the Department of Computer Science at the University of Virginia, the Institute of Applied Information Processing at the University of Ulm, and the Department of Computer Science at the University of Sheffield. In a prior position, I was a research associate at Cigital, a software company acquired by Synopsys. My work is partially funded by Facebook Research and the Mozilla Foundation.

Teaching

As an educator, I teach courses in the alphabetically ordered areas of algorithm analysis, computation theory, discrete structures, data management, distributed systems, software engineering, software testing, operating systems, and web development. I am also a research adviser for undergraduate and graduate theses and PhD dissertations. My expertise in teaching was recognized when Allegheny College presented me with the Thoburn Award for Excellence in Teaching. As a leader of software engineering teams, I create useful educational software that supports automated tasks such as project assessment and team formation.

Research

Funded by Facebook Research and the Mozilla Foundation, I conduct research in areas such as software engineering and software testing. Collaborating with a diverse and skilled group of students and colleagues, I complete research that results in award-winning and frequently cited research papers, oft-complimented presentations, useful free and open-source software, and valued service to a variety of organizations. I am an associate editor for the Journal of Software: Evolution and Process, an academic editor for the PeerJ Computer Science journal, a program committee member for conferences like the International Conference on Software Testing, Verification and Validation, and a reviewer for journals such as Transactions on Software Engineering. Along with serving as a review panelist at the U.S. National Science Foundation, I lead as a session chair, program chair, and general chair for international workshops and conferences. As a member of software engineering teams, I create useful research software for the purposes of experimentation, replication, and technology transfer.

My co-authors and I publish papers like (Walsh, Kapfhammer, and McMinn 2017) , (Alsharif, Kapfhammer, and McMinn 2018) , and (McMinn et al. 2019) at venues like the International Symposium on Software Testing and Analysis, the International Conference on Software Testing, Verification and Validation, and Transactions on Software Engineering. Several of these papers were recognized with awards. For instance, the paper (Kapfhammer and Soffa 2003) received the ACM SIGSOFT Distinguished Paper Award at the ACM SIGSOFT Foundations of Software Engineering Conference (ESEC/FSE 2003). The paper (Conrad, Roos, and Kapfhammer 2010) was the best paper in the Search-Based Software Engineering Track of the ACM SIGEVO Genetic and Evolutionary Computation Conference (GECCO 2010). My presentation for the paper (Kapfhammer, McMinn, and Wright 2016) won the best presentation award at the 9th International Workshop on Search-Based Software Testing (SBST 2016). The paper (Althomali, Kapfhammer, and McMinn 2019) at the 12th International International Conference on Software Testing, Verification and Validation (ICST 2019), won the distinguished paper award from the IEEE Technical Council on Software Engineering.

Expertise

Research Service

I recently leveraged my scientific expertise to serve the following venues:

VenueYear(s)Role(s)Count
International Flaky Tests Workshop2025 - 2024Program Committee Member2
International Symposium on Software Testing and Analysis2025 - 2024Tool Demonstrations Program Committee2
PeerJ Computer Science Journal2025 - 2019Academic Editor7
Journal of Software: Evolution and Process2025 - 2012Associate Editor, Reviewer10
International Workshop on Mutation Analysis2025 - 2010Program Committee Member6
International Conference on Software Engineering2025 - 2005Program Committee Member, Reviewer5
International Conference on Software Maintenance and Evolution2025Tool Demonstrations Program Committee1
International Workshop on Search-Based and Fuzz Testing2024 - 2023Program Committee Member2
Information and Software Technology2023 - 2009Reviewer13
International Symposium on Search-Based Software Engineering2023 - 2009Doctoral Symposium Chair, Program Committee Member, Publicity Chair13
No matching items

Media Engagements

My technical expertise enabled these successful media engagements:

DateRoleEventVenue
May 21, 2025Host"Will McGugan on Text-Based User Interfaces"Software Engineering Radio
Apr 30, 2025Host"Eran Yahav on the Tabnine AI Coding Assistant"Software Engineering Radio
Sep 11, 2024Host"Itamar Friedman on Automated Testing with Generative AI"Software Engineering Radio
Sep 5, 2024Host"Goran Petrovic on Mutation Testing at Google"Software Engineering Radio
Jul 16, 2024Host"Jonathan Schneider on Automated Refactoring with OpenRewrite"Software Engineering Radio
Jul 11, 2024Host"Marcelo Trylesinski on FastAPI"Software Engineering Radio
Jun 26, 2024Host"Wolf Vollprecht on Python Tooling in Rust"Software Engineering Radio
Mar 28, 2024Host"Hyrum Wright on Software Engineering at Google"Software Engineering Radio
Nov 9, 2023Host"Zac Hatfield-Dodds on Property-Based Testing in Python"Software Engineering Radio
Sep 14, 2023Host"Zach Lloyd on Terminal Emulators"Software Engineering Radio
Sep 11, 2023Guest"Taming Flaky Tests"Talk Python Podcast
Jul 13, 2023Guest"Greg Kapfhammer on Flaky Tests"Software Engineering Radio
Jan 15, 2023Guest"Flake it Till You Make It: How to Detect and Deal with Flaky Tests"Stack Overflow Podcast
Jan 5, 2023Guest"Dr. Gregory Kapfhammer Wants to Stop Flaky Tests"Hanselminutes Podcast
Oct 28, 2022Cited Author"How Flaky Tests Impact Developers"Engineering Enablement
No matching items
Enthusiastic Invitation

Do you work in one of my areas of expertise? Are you interested in collaborating with me on a research, software engineering, or educational project? Do you think that your knowledge and skills equip you to be guest on the Software Engineering Radio podcast that I co-host? Or, would you like me to be a guest on a podcast that you host? If you answered “yes” to one or more of these questions, then I invite you to contact me to share your ideas!

References

Alsharif, Abdullah, Gregory M. Kapfhammer, and Phil McMinn. 2018. “DOMINO: Fast and Effective Test Data Generation for Relational Database Schemas.” In Proceedings of the 11th International Conference on Software Testing, Verification and Validation.
Althomali, Ibrahim, Gregory M. Kapfhammer, and Phil McMinn. 2019. “Automatic Visual Verification of Layout Failures in Responsively Designed Web Pages.” In Proceedings of the 12th International Conference on Software Testing, Verification and Validation.
Conrad, Alexander P., Robert S. Roos, and Gregory M. Kapfhammer. 2010. “Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization.” In Proceedings of the 12th International Conference on Genetic and Evolutionary Computation.
Kapfhammer, Gregory M. 2007. “A Comprehensive Framework for Testing Database-Centric Applications.” PhD Dissertation, Department of Computer Science, University of Pittsburgh.
Kapfhammer, Gregory M., Phil McMinn, and Chris J. Wright. 2016. “Hitchhikers Need Free Vehicles! Shared Repositories for Statistical Analysis in SBST.” In Proceedings of the 9th International Workshop on Search-Based Software Testing.
Kapfhammer, Gregory M., and Mary Lou Soffa. 2003. “A Family of Test Adequacy Criteria for Database-Driven Applications.” In Proceedings of the 9th European Software Engineering Conference and the 11th Symposium on the Foundations of Software Engineering.
McMinn, Phil, Chris J. Wright, Colton McCurdy, and Gregory M. Kapfhammer. 2019. “Automatic Detection and Removal of Ineffective Mutants for the Mutation Analysis of Relational Database Schemas.”Transactions on Software Engineering 45 (5).
Walsh, Thomas A., Gregory M. Kapfhammer, and Phil McMinn. 2017. “Automated Layout Failure Detection for Responsive Web Pages Without an Explicit Oracle.” In Proceedings of the International Symposium on Software Testing and Analysis.

GMK

Top