I recently hosted an episode of Software Engineering Radio called "Eran Yahav on the Tabnine AI Coding Assistant"!

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

Contents

  • Research Expertise
  • Featured Papers
  • Featured Presentations
  • Professional Service
  • Recent Posts
  • Media Appearances
  • Highlighted Courses
  • Software Engineering
  • Status Updates

Gregory M. Kapfhammer

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

Innovating in technical areas such as software engineering and software testing, I teach courses, conduct research, write papers and a blog, give presentations, create software, and serve organizations. Working as an Associate Professor in the Department of Computer and Information Science at Allegheny College, 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 the International Conference on Software Engineering, and a reviewer for journals like Transactions on Software Engineering and the Journal of Software Testing, Verification and Reliability. Along with media appearances on podcasts like Stack Overflow and Talk Python, I interview the world’s leading experts on software engineering as a co-host of Software Engineering Radio. You can learn more about me and my work by reading my biography, downloading my curriculum vitae, and subscribing to my mailing list.

Research Expertise

  • Database Testing: Automatically test relational database schemas

  • Flaky Tests: Find and fix unpredictable and harmful test cases

  • Mutation Testing: Using automatically seeded defects to evaluate tests

  • Regression Testing: Efficiently and effectively rerunning test suites

  • Web Testing: Detecting and repairing responsive web page layout

Explore all of my areas of research expertise

Featured Papers

Beyond test flakiness: A manifesto for a holistic approach to test suite health

Proceedings of the 2nd International Flaky Tests Workshop
2025
Phil McMinn, Muhammad Firhard Roslan, Gregory M. Kapfhammer

Systemic flakiness: An empirical analysis of co-occurring flaky test failures

Proceedings of the 29th International Conference on Evaluation and Assessment in Software Engineering
2025
Owain Parry, Gregory M. Kapfhammer, Michael Hilton, Phil McMinn

Exploring pseudo-testedness: Empirically evaluating extreme mutation testing at the statement level

Proceedings of the 35th International Conference on Software Maintenance and Evolution
2024
Megan Maton, Gregory M. Kapfhammer, Phil McMinn

PseudoSweep: A pseudo-tested code identifier

Proceedings of the 35th International Conference on Software Maintenance and Evolution – Tool Demonstrations Track
2024
Megan Maton, Gregory M. Kapfhammer, Phil McMinn

Empirically evaluating flaky test detection techniques combining test case rerunning and machine learning models

Empirical Software Engineering Journal, 28:72
2023
Owain Parry, Gregory M. Kapfhammer, Michael Hilton, Phil McMinn
No matching items

Read all of my research papers

Featured Presentations

TaDa it’s magic: Predicting the performance of functions through automated doubling experiments

Code PaLOUsa
2021
Lancaster Wu, Enpu You, Gregory M. Kapfhammer

Type annotations in Python: Terribly intimidating or tremendously informative?

PyOhio
2021
Madelyn Kapfhammer, Gregory M. Kapfhammer

Committing to writing good commit messages: Supporting the creation of human- and machine-readable commit messages with Python

PyCon Lightning Talk Session
2021
Teona Bagashvili, Gregory M. Kapfhammer

Great on their own, even better together: Application development with Python, Typer, and Poetry

Code PaLOUsa
2021
Teona Bagashvili, Gregory M. Kapfhammer

Using Python and GitHub for team formation and assessment

PyCon Poster Symposium
2019
Jahlia Finney, Mohammad Khan, Carson Quigley, Gregory M. Kapfhammer
No matching items

Review all of my research presentations

Professional Service

VenueRole(s)Year(s)
International Flaky Tests WorkshopProgram Committee Member2025 - 2024
International Symposium on Software Testing and AnalysisTool Demonstrations Program Committee2025 - 2024
PeerJ Computer Science JournalAcademic Editor2025 - 2019
Journal of Software: Evolution and ProcessAssociate Editor, Reviewer2025 - 2012
International Workshop on Mutation AnalysisProgram Committee Member2025 - 2010
No matching items

Investigate all of my professional service

Recent Posts

Using eXtreme mutation testing to discover hidden test suite weaknesses

Can tools detect hidden weaknesses in test suites?
2024
Gregory M. Kapfhammer
3 min

Insights from my Software Engineering Radio interview with Goran Petrovic

How do Google’s engineers perform mutation testing?
2024
Gregory M. Kapfhammer
3 min

Insights from my Software Engineering Radio interview with Jonathan Schneider

How does OpenRewrite support automated refactoring?
2024
Gregory M. Kapfhammer
2 min

Insights from my Software Engineering Radio interview with Marcelo Trylesinski

Let’s learn more about the creation and use of FastAPI!
2024
Gregory M. Kapfhammer
2 min

Insights from my Software Engineering Radio interview with Wolf Wollprecht

What are the best practices for Python tooling in Rust?
2024
Gregory M. Kapfhammer
2 min
No matching items

Read all of my blog posts

Media Appearances

EventVenueRole
"Eran Yahav on the Tabnine AI Coding Assistant"Software Engineering RadioHost
"Itamar Friedman on Automated Testing with Generative AI"Software Engineering RadioHost
"Goran Petrovic on Mutation Testing at Google"Software Engineering RadioHost
"Jonathan Schneider on Automated Refactoring with OpenRewrite"Software Engineering RadioHost
"Marcelo Trylesinski on FastAPI"Software Engineering RadioHost
No matching items

Learn more by reading my professional biography

Highlighted Courses

  • Algorithm Analysis: Implement and evaluate correct and efficient algorithms

  • Data Abstraction: Build and manipulate correct and efficient data structures

  • Discrete Structures: Clearly connect mathematics to Python programming

  • Operating Systems: Build and understand operating system components

  • Software Engineering: Team-based introduction to building software systems

Explore all of my teaching materials

Software Engineering

  • Cellveyor: Easily convey reports from Google Sheets to GitHub

  • Chasten: Configurable linting tool that uses XPath expressions

  • GatorGrade: Python front-end for the GatorGrader assessment tool

  • GatorGrader: Automated assessment for source code and writing

  • SchemaAnalyst: Data generation and mutation analysis for database schemas

Benefit from my open-source software

Status Updates

pamelafox post

I gotta say, my poster for the #PyconUS poster session is looking realllll cute.

I'd share it here, but that'd be spoilers. Come by on Sunday if you're attending, otherwise I'll share after!

May 13, 2025
asx post

Looking forward to seeing all you lovely folks at PyCon!
#pycon #pycon2025

May 14, 2025
hugovk post

@offby1 There's a pycon-us channel in the big Python Discord server:
https://discord.gg/python
https://www.pythondiscord.com
#PyCon #PyConUS

May 13, 2025
nzakas post

Just learned about GitHub Models. Very generous free tier to use many LLMs with just your GitHub account. Great for use in OSS projects and for tinkering.

https://github.blog/news-insights/product-news/introducing-github-models/

May 12, 2025
bcantrill post

RIP USENIX ATC https://bcantrill.dtrace.org/2025/05/11/rip-usenix-atc/

May 11, 2025
See more posts at Mastodon

GMK

Top