Madeline Endres

PhD Pre-Candidate, Full CV

Computer Science and Engineering

University of Michigan


I am a second-year computer science PhD student at the University of Michigan where I am advised by Westley Weimer. Broadly, my research is at the intersection of software engineering and human factors. In particular, I am interested in reducing computing barriers for both novice and expert programmers, especially through the lenses of program comprehension, education, and diversity. My recent work involves building a tool that automatically provides input-related hints to novice programmers by using a novel template-based automatic program repair algorithm to fix erroneous inputs. When I'm not working on research, I enjoy cooking, reading, traveling, hiking, and doing anything corgi related. I also play cello, and I'm always up for improvising and swapping music recommendations!

Academic Highlights

Automatic Input Repair

Around a third of all novice Python programs contain a call to standard input. These inputs can be surprisingly complex and can contain bugs. However, modern programming hint generators usually consider only the source code when identifying and fixing errors. With this work, I aim to understand input structures and and fix erroneous inputs for unique novice programs.

Software Tools

  • InFix: A tool for automatically repairing erroneous inputs for novice Python programs. Hopefully soon to be open source.
  • Conference and Journal Publications (Peer-Reviewed)

  • Benjamin Cosman, Madeline Endres, Georgios Sakkas, Leon Medvinsky, Yao-Yuan Yang, Ranjit Jhala, Kamalika Chaudhuri, Westley Weimer: PABLO: Helping Novices Debug Python Code Through Data-Driven Fault Localization: Special Interest Group on Computer Science Education (SIGCSE): to appear (2020).

  • Madeline Endres, Georgios Sakkas, Benjamin Cosman, Ranjit Jhala, Westley Weimer: InFix: Automatically Repairing Novice Program Inputs: Automated Software Engineering (ASE): to appear (2019). [ Slide Deck]
  • Posters and Presentations

  • Automatically Repairing Input Data for Novice Programs: IPIT Student talks, Ann Arbor Michigan, 2019. [ Slide Deck]
  • Computer Science Courses: Design Experience

    University of Michigan

    Computer Science Courses: TA Experience

    University of Michigan

    Other Teaching Experience

    • 2909 Bob and Betty Beyster Building
      Computer Science and Engineering
      University of Michigan
      2260 Hayward Street
      Ann Arbor, MI 48109-2121