I recently hosted an episode of Software Engineering Radio called "Jennings Anderson and Amy Rose on Overture Maps"!

  • Home
  • Teaching
    • Overview
    • Algorithm Analysis
    • Document Engineering
  • 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

Test flimsiness: Characterizing flakiness induced by mutation to the code under test

Proceedings of the 48th International Conference on Software Engineering

2026
Owain Parry, Gregory M. Kapfhammer, Michael Hilton, Phil McMinn

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

Where tests fall short: Empirically analyzing oracle gaps in covered code

Proceedings of the 19th International Symposium on Empirical Software Engineering and Measurement

2025
Megan Maton, Gregory M. Kapfhammer, 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
No matching items

Read all of my research papers

Featured Presentations

Building and deploying course websites with Python, Quarto, and Mkdocs

PyCon Education Summit

2025
Alish Chhetri, Gregory M. Kapfhammer

Automated and configurable programming project checking with Chasten

PyCon Education Summit

2025
Daniel Bekele, Jaclyn Pham, Gregory M. Kapfhammer

Chasten your Python program: Configurable program analysis and linting with XPath

PyOhio

2025
Daniel Bekele, Jaclyn Pham, Gregory M. Kapfhammer

Up and running with GitHub, GitHub Classroom, and GitHub Actions

PyCon Education Summit

2025
Hemani Alaparthi, Gregory M. Kapfhammer

ExecExam: Streamlining Python assessments with automation and personalized feedback

PyCon Poster Symposium

2025
Hemani Alaparthi, Pallas-Athena Cain, Gregory M. Kapfhammer
No matching items

Review all of my research presentations

Professional Service

VenueRole(s)Year(s)
International Conference on Software Maintenance and EvolutionTool Demonstrations Program Committee2026 - 2025
International Flaky Tests WorkshopProgram Committee Member2026 - 2024
International Symposium on Software Testing and AnalysisProgram Committee Member, Tool Demonstrations Program Committee Member2026 - 2023
PeerJ Computer Science JournalAcademic Editor2026 - 2019
Journal of Software: Evolution and ProcessAssociate Editor, Reviewer2026 - 2012
No matching items

Investigate all of my professional service

Recent Posts

Insights from my Software Engineering Radio interview with Samuel Colvin

How does Pydantic support Python programming?

2025
Gregory M. Kapfhammer
2 min

Is slicing or mutation testing better at automatically identifying weaknesses in your test suite?

How can we best find the blind spots of our test suites?

2025
Gregory M. Kapfhammer
3 min

When flaky tests fail together: Empirical evidence for systemic flakiness

Flaky tests often cluster together with shared root causes!

2025
Gregory M. Kapfhammer
4 min

Insights from my Software Engineering Radio interview with Will McGugan

How do you build text-based user interfaces?

2025
Gregory M. Kapfhammer
3 min

Insights from my Software Engineering Radio interview with Eran Yahav

How does Tabnine automate the engineering process?

2025
Gregory M. Kapfhammer
3 min
No matching items

Read all of my blog posts

Media Appearances

EventVenueRole
"2025 Python Year in Review"Talk Python PodcastGuest
"Gregory Kapfhammer on Flaky Tests"Code with Jason PodcastGuest
"Jennings Anderson and Amy Rose on Overture Maps"Software Engineering RadioHost
"Kacper Łukawski on Qdrant Vector Database"Software Engineering RadioHost
"Samuel Colvin on the Pydantic Ecosystem"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

tao post

Addendum: as portions of my text above have been quoted out of context, I would like to also draw attention to the various caveats listed at https://github.com/teorth/erdosproblems/wiki/AI-contributions-to-Erd%C5%91s-problems regarding the extent to which one can draw broader conclusions about AI mathematics capabilities from the progress in solving Erdos problems.

Jan 10, 2026
Drmowinckels post

My AI debugging pattern:

Isolate the problem
Share relevant code + expected behavior
Test suggested solutions
Iterate on edge cases
Document the fix

The best part? I learned why it broke, not just how to fix it. This helps with future debugging.
Do you use AI for technical debugging? What works for you?

Jan 10, 2026
ricci post

Wow, *two* big outages today, in the top web frontend (CloudFlare, in front of about 25% of sites), and the top git forge (github, with something like 97% of public git repositories).

Stuff like this is why I built https://arewedecentralizedyet.online/ to keep an eye on how centralized some of the services we rely on are.

Nov 18, 2025
squidfunk post

Zensical – a modern static site generator.

We're excited to release @zensical, our new SSG that is compatible with Material for MkDocs:

– 5x faster rebuilds
– Modern design
– Blazing-fast search

Read the full announcement on our blog:
https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/

A thread ⬇ 1/7

Nov 5, 2025
MartinEscardo post

Thanks all for the discussion in this thread.

To summarize, was puzzles me is the difference in behaviour of `cd ..` compared to `ls ..` when symlinks are involved, both in Linux and MacOS Unix (tested with `bash`).

It is reassuring that we get the same behaviour with both, but it is also rather odd that we get inconsistent behaviour for `ls` and `cd` regarding the meaning of `..` when symlinks are involved.

Of course, all of this goes back to the early 1970's.

I don't complain. I was just puzzled when this happened to me.

It is so nice that the rather old Unix is still available, in macOS, and with a newer incarnation as Linux.

I hate Windows so much, and luckily I don't have to deal with it.

Nov 2, 2025
See more posts at Mastodon

GMK

Top