Madeline Endres

PhD Candidate, Full CV (Updated as of October 2023)

Computer Science and Engineering, University of Michigan


As of September 2023, I am on the academic job market!

I am looking for tenure-track faculty positions starting in 2024. My research is in Software Engineering, where I study developer productivity and wellbeing. If you know of a position that you think might be a good fit, please email me at endremad@umich.edu!


Madeline

I am a sixth and final-year Computer Science PhD student at the University of Michigan advised by Westley Weimer. My research interests lie at the intersection of Software Engineering and human factors, where I explore programmer productivity and wellbeing.

Overall, my work uses a mix of quantitative and qualitative methods to enable developers to become experts faster and be more supported and productive. Along with core software engineering techniques, my work leverages interdisciplinary approaches from psychology and medicine to address human-factored software engineering problems. Current and recent projects include building and assessing tools based on type theory and program synthesis to support developers to write correct code more quickly, using medical imaging techniques to learn more about the cognitive basis of programming, and studying the impact of external influences, such as psychoactive substances, on software developers. When I am not doing research, I enjoy cooking, biking, and playing with my cat, Cleo. I also play cello, and I'm always up for improvising and swapping music recommendations!

ResearchOverview

Academic Highlights




Education

Designing Effective Developer Training

I am interested in improving programmer productivity through evidence-based educational interventions. I focus on training skills like technical reading and information search that generalize to multiple parts of software development. I thus use a variety of techniques, including both qualitative and quantitative analysis, psychological assessments, and medical imaging to better understand the cognitive factors behind such skills with the ultimate goal of helping novices become experts faster.

Indicative Papers

  • A Four-Year Study of Student Contributions to OSS vs. OSS4SG with a Lightweight Intervention (ESEC/FSE, 2022)
  • Relating Reading, Visualization, and Coding for New Programmers: A Neuroimaging Study (ICSE, 2021)
  • To Read or To Rotate? Comparing the Effects of Technical Reading Training and Spatial Skills Training on Novice Programming Ability (ESEC/FSE, 2021)

  • Ongoing Projects: Using VR to teach spatial reasoning for novice programmers, and investigating cognitive causality in programming more directly using TMS

    Developing Efficient and Usable Programming Tools

    My research improves programmer productivity via the development and user-focused evaluation of programming tools for finding and fixing software defects. Leveraging techniques from program synthesis, machine learning, and automated program repair, I design efficient programming support that can help both novice and expert programmers alike write more correct code faster.

    Indicative Projects

  • Seq2Parse: A neurosymbolic approach to parse error repair, combining symbolic error-correcting parsers with neural techniques (OOPSLA, 2022)
  • InFix: A tool for automatically repairing erroneous inputs to novice Python programs (ASE, 2019).
  • LLM4nl2post: Using LLMs to formalize natural language intent into executable postconditions (arXiv tech report, 2023)


  • ResearchOverview





    Wellness

    Understanding External Productivity Factors

    I improve programmer productivity and wellbeing through a data-driven understanding of the impact that external factors (such as gender-related bias or psychoactive substance use) have on software engineering. I believe that understanding the mechanisms and magnitudes of such environmental barriers is a necessary precursor to systematic policy reform. By gaining an evidence-based understanding of the impacts of these external factors, I hope to help developers produce higher-quality code and also feel happier while doing so.

    Indicative Papers

  • From Organizations to Individuals: Psychoactive Substance Use By Professional Programmers (ICSE 2023)
  • An Analysis of Sex Differences in Computing Teaching Evaluations (GE@ICSE, 2022)
  • Hashing It Out: A Survey of Programmers' Cannabis Usage, Perception, and Motivation, (ICSE 2022)

  • Ongoing Projects: A controlled study on the impact of cannabis on programming ability.

    For separation between conference papers, workshop papers, and technical reports see my CV.

    1. Hammad Ahmad, Madeline Endres, Kaia Newman, Priscila Santiesteban, Emma Shedden, Westley Weimer: Causal Relationships and Programming Outcomes: A Transcranial Magnetic Stimulation Experiment: International Conference on Software Engineering (ICSE), 2024.

    2. Madelne Endres, Sarah Fakhoury, Saikat Chakraborty, Shuvendu K. Lahiri: Formalizing Natural Language Intent into Program Specifications via Large Language Models: arXiv technical report, 2023.

    3. Zihan Fang, Madeline Endres, Thomas Zimmermann, Denae Ford, Westley Weimer, Kevin Leach, Yu Huang: A Four-Year Study of Student Contributions to OSS vs. OSS4SG with a Lightweight Intervention: Foundations of Software Engineering (ESEC/FSE), 2023. [ Research Artifact]

    4. Kaia Newman, Madeline Endres, Westley Weimer, Brittany Johnson: From Organizations to Individuals: Psychoactive Substance Use By Professional Programmers: International Conference on Software Engineering (ICSE), 2023. [ Research Artifact|  GitHub Project]

    5. Madeline Endres, André Brechmann, Bonita Sharif, Westley Weimer, Janet Siegmund: Foundations for a New Perspective of Understanding Programming: Dagstuhl Reports 12(10): 2192-5283, 2023. [ DOI]

    6. Georgios Sakkas, Madeline Endres, Philip Guo, Westley Weimer, Ranjit Jhala: Seq2Parse: Neurosymbolic Parse Error Repair: OOPSLA issue of the Proceedings of the ACM on Programming Languages (OOPSLA), 2022. [ Code and Stimuli|  Demo]

    7. Madeline Endres, Kevin Boehnke, Westley Weimer: Hashing It Out: A Survey of Programmers' Cannabis Usage, Perception, and Motivation: In the proceedings of the International Conference on Software Engineering (ICSE), 2022. [ Stimuli and Data|  Conference Talk]

    8. Annie Li, Madeline Endres, Westley Weimer: Debugging with Stack Overflow: Web Search Behavior in Novice and Expert Programmers: In the proceedings of the International Conference on Software Engineering — Software Engineering Education and Training (ICSE-SEET), 2022. [ Stimuli and Analysis|  Conference Talk]

    9. Madeline Endres, Pemma Reiter, Stephanie Forrest, Westley Weimer: What can Program Repair Learn from Code Review?: 3rd International Workshop on Automated Program Repair (APR@ICSE), 2022.

    10. Madeline Endres, Westley Weimer, Amir Kamil: Making a Gamble: Recruiting SE Participants on a Budget: 1st Workshop on Recruiting Participants for Empirical Software Engineering (ROPES@ICSE), 2022.

    11. Priscila Santiesteban, Madeline Endres, Westley Weimer: An Analysis of Sex Differences in Computing Teaching Evaluations: 3rd Workshop on Gender Equality, Diversity, and Inclusion in Software Engineering (GE@ICSE), 2022. [ DataSet]

    12. Madeline Endres, Madison Fransher, Priti Shah, Westley Weimer: To Read or To Rotate? Comparing the Effects of Technical Reading Training and Spatial Skills Training on Novice Programming Ability: Foundations of Software Engineering (ESEC/FSE), 2021. [ Replication Package]

    13. Madeline Endres, Zachary Karas, Xiaosu Hu, Ioulia Kovelman, Westley Weimer: Relating Reading, Visualization, and Coding for New Programmers: A Neuroimaging Study: International Conference on Software Engineering (ICSE), 2021. [ Stimuli and Data|  Slide Deck|  Conference Talk]

    14. Madeline Endres, Westley Weimer, Amir Kamil: An Analysis of Iterative and Recursive Problem Performance: Special Interest Group on Computer Science Education (SIGCSE), 2021. [ Stimuli and Data|  Conference Talk]

    15. Georgios Sakkas, Madeline Endres, Benjamin Cosman, Westley Weimer, Ranjit Jhala: Type Error Feedback via Analytic Program Repair: Conference on Programming Language Design and Implementation (PLDI), 2020.

    16. 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), 2020.

    17. Madeline Endres, Georgios Sakkas, Benjamin Cosman, Ranjit Jhala, Westley Weimer: InFix: Automatically Repairing Novice Program Inputs: Automated Software Engineering (ASE), 2019. [ Slide Deck|  Code Repository |  Stimuli and Data]

    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