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

Jan 1, 2024 I started my new job as an Assistant Professor in ECE @ Purdue :purple_heart:
Dec 15, 2023 My dissertation is now available: Gradual Verification of Recursive Heap Data Structures!
Dec 1, 2023 Our paper Sound Gradual Verification with Symbolic Execution was accepted for publication at POPL’24! :sparkles:

selected publications

  1. arXiv
    Gradual C0: Symbolic Execution for Gradual Verification
    Jenna DiVincenzo, Ian McCormack, Hemant Gouni, Jacob Gorenburg, Jan-Paul Ramos-Dávila, Mona Zhang, Conrad Zimmerman, Joshua Sunshine, Éric Tanter, and Jonathan Aldrich
    arXiv preprint arXiv:2210.02428, Jan 2024
  2. POPL
    Sound Gradual Verification with Symbolic Execution
    Conrad Zimmerman, Jenna DiVincenzo, and Jonathan Aldrich
    Proc. ACM Program. Lang., Jan 2024
  3. PhD Thesis
    Gradual Verification of Recursive Heap Data Structures
    Jenna Wise DiVincenzo
    Carnegie Mellon University, Dec 2023
  4. 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
  5. 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
  6. 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
  7. TOG
    Penrose: from mathematical notation to beautiful diagrams
    Katherine Ye, Wode Ni, Max Krieger, Dor Ma’ayan, Jenna Wise, Jonathan Aldrich, Joshua Sunshine, and Keenan Crane
    ACM Transactions on Graphics (TOG), Dec 2020
  8. HPEC
    Performance of Graph Analytics Applications on Many-Core Processors
    Jenna Wise, Emily Lederman, Manoj Kumar, and Pratap Pattnaik
    In 2018 IEEE High Performance extreme Computing Conference (HPEC), Dec 2018
  9. IEEE
    Tracking Developers’ eyes in the IDE
    Bonita Sharif, Timothy Shaffer, Jenna Wise, and Jonathan I Maletic
    IEEE Software, Dec 2016
  10. 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