Jenna DiVincenzo (Wise)

prof_pic.jpg

Assistant Professor

Electrical and Computer Engineering

Purdue University

jennad@purdue.edu

I am an Assistant Professor in the Elmore Family School of Electrical and Computer Engineering @ Purdue University. I am broadly interested in research spanning software verification, programming languages, and software engineering, especially research aimed at making verification techniques and programming languages more usable and scalable. My goal is to make it easier for developers to create more secure, higher-quality software!

My main line of work is on gradual verification, which smoothly and seamlessly combines static (compile time) and dynamic (run time) verification techniques to support the incremental specification and verification of code. I make advancements in gradual verification by taking a holistic approach to research; that is, I explore new techniques, designs, and features using mathematical formalizations, theories, and proofs, user studies, and through engineering and building related tools. If you are curious about my research projects in this space, check out the projects page of my website.

I am currently hiring PhD students! If you are interested in doing research with me, feel free to reach out. I am looking for students with a strong potential to conduct independent research (after some training). No direct experience with verification/programming languages techniques is necessary, but a strong background and interest in CS, SE, HCI, and/or Mathematics is preferred.

I graduated with my PhD in Software Engineering from Carnegie Mellon University in December 2023, where I was co-advised by Dr. Jonathan Aldrich and Dr. Joshua Sunshine. My dissertation focused on gradual verification technology for recursive heap data structures. During my PhD, I was a Google PhD Fellow, NSF GRFP Fellow, and 2022 Rising Star in EECS. I also hold a BS in Mathematics and Computer Science from Youngstown State University (YSU). Previously, I interned at IBM Research, the MIT Lincoln Laboratory, and the Software Engineering Research and Empirical Studies Lab at YSU. I also previously contributed to the language designs of Penrose—which generates diagrams from mathematical prose—and Obsidian—a programming language that facilitates the development of secure blockchain applications.

On a personal note, I am married to my wonderful husband, Michael DiVincenzo, and we have two adorable cats Cosmo and Zuko. We hope to get a third. In my free time, I enjoy playing video games, reading manga, watching anime, and bowling.

news

Apr 9, 2025 Congrats to Conrad Zimmerman (now a PhD student at Northeastern University) for winning an NSF GRFP award! 🥳
Jan 14, 2025 Our paper Evaluating the Ability of GPT-4o to Generate Verifiable Specifications in VeriFast will be presented at FORGE’25! Congrats to first authors Marilyn Rego and Wen Fan. :sparkles:
Jan 10, 2025 Our paper Gradual C0: Symbolic Execution for Gradual Verification presenting our gradual verifier Gradual C0 has been published at TOPLAS! :sparkles:
Oct 24, 2024 Craig Liu won first place in the undergraduate category of the SPLASH’24 SRC for his work titled Design of Fractional Permissions for a Gradual Verifier! :sparkles:
Jan 1, 2024 I started my new job as an Assistant Professor in ECE @ Purdue :purple_heart:

selected publications

  1. arXiv (FORGE)
    Evaluating the Ability of Large Language Models to Generate Verifiable Specifications in VeriFast
    Wen Fan, Marilyn Rego, Xin Hu, Sanya Dod, Zhaorui Ni, Danning Xie, Jenna DiVincenzo, and Lin Tan
    arXiv preprint arXiv:2411.02318, Dec 2024
  2. TOPLAS
    Gradual C0: Symbolic Execution for Gradual Verification
    Jenna DiVincenzo, Ian McCormack, Conrad Zimmerman, Hemant Gouni, Jacob Gorenburg, Jan-Paul Ramos-Dávila, Mona Zhang, Joshua Sunshine, Éric Tanter, and Jonathan Aldrich
    ACM Trans. Program. Lang. Syst., Jan 2025
  3. POPL
    Sound Gradual Verification with Symbolic Execution
    Conrad Zimmerman, Jenna DiVincenzo, and Jonathan Aldrich
    Proc. ACM Program. Lang., Jan 2024
  4. PhD Thesis
    Gradual Verification of Recursive Heap Data Structures
    Jenna Wise DiVincenzo
    Carnegie Mellon University, Dec 2023
  5. ECOOP
    Gradual Program Analysis for Null Pointers
    Sam Estep, Jenna L Wise, Jonathan Aldrich, Éric Tanter, Johannes Bader, and Joshua Sunshine
    In 35th European Conference on Object-Oriented Programming (ECOOP 2021), Dec 2021
  6. TOCHI
    PLIERS: a process that integrates user-centered methods into programming language design
    Michael Coblenz, Gauri Kambhatla, Paulette Koronkevich, Jenna L Wise, Celeste Barnaby, Joshua Sunshine, Jonathan Aldrich, and Brad A Myers
    ACM Transactions on Computer-Human Interaction (TOCHI), Dec 2021
  7. OOPSLA
    Gradual Verification of Recursive Heap Data Structures
    Jenna Wise, Johannes Bader, Cameron Wong, Jonathan Aldrich, Éric Tanter, and Joshua Sunshine
    Proceedings of the ACM on Programming Languages, Dec 2020
  8. IEEE
    Tracking Developers’ eyes in the IDE
    Bonita Sharif, Timothy Shaffer, Jenna Wise, and Jonathan I Maletic
    IEEE Software, Dec 2016
  9. ESEC/FSE
    iTrace: Enabling Eye Tracking on Software Artifacts Within the IDE to Support Software Engineering Tasks
    Timothy R Shaffer, Jenna L Wise, Braden M Walters, Sebastian C Müller, Michael Falcone, and Bonita Sharif
    In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, Dec 2015