• 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
  • Useful Software
  • Recent Posts
  • Media Appearances
  • Highlighted Courses
  • Status Updates

View source

Edit this page

Report an issue

Gregory M. Kapfhammer

from rich.console import Console
console = Console()
console.print(
    ":rocket: Hi! I'm a researcher, teacher, and software developer!"
)
πŸš€ Hi! I'm a researcher, teacher, 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 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 Automated Software Engineering, and a reviewer for journals like Transactions on Software Engineering. You can learn more about me and my work by reading my biography, downloading my curriculum vitae, and subscribing to my mailing list.

Get the Gist!

Research Expertise

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

  • Database Testing: Automatically test relational database schemas

  • Web Testing: Detecting and repairing responsive web page layout

Explore all of my areas of research expertise

Featured Papers

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

Automated repair of responsive web page layouts

Proceedings of the 15th International Conference on Software Testing, Verification and Validation

2022
Ibrahim Althomali, Gregory M. Kapfhammer, Phil McMinn

A survey of flaky tests

Transactions on Software Engineering and Methodology, 31:1

2022
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
    No matching items

      Review all of my research presentations

      Professional Service

      VenueYear(s)Role(s)Count
      PeerJ Computer Science Journal2023 - 2019Academic Editor3
      Journal of Software: Evolution and Process2023 - 2012Associate Editor, Reviewer7
      Information and Software Technology2023 - 2009Reviewer13
      No matching items

        Investigate all of my professional service

        Useful Software

        • GatorGrader: Automated assessment for source code and technical writing

        • TaDa: Automated order-of-growth analysis for Python functions

        • CommitCanvas: Extensible checking of Git commit messages with pre-commit

        Download all of my software tools

        Recent Posts

        Programming is not software engineering

        What is the best way to teach software engineering?

        2023
        Gregory M. Kapfhammer
        4 min

        Five words to (normally) avoid in your technical writing

        We should write to aid reader understanding!

        2021
        Gregory M. Kapfhammer
        3 min

        Can human testers understand automatically generated test cases?

        How well to humans understand automatically generated tests?

        2020
        Gregory M. Kapfhammer
        4 min
        No matching items

          Read all of my blog posts

          Media Appearances

          RoleDateEventVenue
          HostSep 14, 2023"Zach Lloyd on Terminal Emulators"Software Engineering Radio
          GuestSep 11, 2023"Taming Flaky Tests"Talk Python Podcast
          GuestJul 13, 2023"Greg Kapfhammer on Flaky Tests"Software Engineering Radio
          No matching items

            Learn more by reading my professional biography

            Highlighted Courses

            • 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

            Explore all of my teaching materials

            Status Updates

            GMK
            Top