Tej Chajed
University of Wisconsin-Madison, WI·Computer Science·Early-career
Software is updated constantly, and each new version must work correctly with data and components left behind by the old version. Mistakes in updates remain a surprisingly common cause of catastrophic failures.
- Fields
Computer Science
- Topics
formal verification
software updates
update correctness
- Grants
- 1 known grant, through Aug 2031
What they work on
- Define specifications for data-format compatibility that require new code to correctly handle any data the previous software version might have produced.
- Specify how data migration changes a system's behavior, so that the effect of converting stored data to a new format can be stated precisely and proven.
- Develop techniques to verify rolling upgrades of distributed systems, where machines are updated one at a time while old and new versions run together.
- Build proof techniques in Perennial, a machine-checked program logic for Go, and apply them to example updates representative of real-world software changes.
More about the research
Formal verification, in which a program is mathematically proven to behave as intended, can make software more reliable. However, existing verification methods have no way to state, let alone prove, that an update is compatible with the code already running. The question matters more as AI coding agents write more code changes and as machine learning infrastructure itself changes rapidly.
Why it matters
Faulty software updates cause serious outages in real systems. Tools that prove an update is compatible before deployment could help developers ship more reliable software, including updates to distributed systems and machine learning infrastructure. They could also give AI coding agents feedback on whether their changes are compatible with deployed code.
Known grants
From NIH and NSF research grants. Labs often have other funding we can't see.
Closest labs
Milijana Surbatovich
University of Maryland, MD·Computer Science·Early-career
Develop the first formal model of an intermittence-safe operating system, with defined abstraction layers that separate tiers of trust and allow each component to be verified on its own.
Juan Zhai
University of Massachusetts, MA·Computer Science·Early-career
Build a repository-level dataset linking natural-language documentation, formal behavioral specifications and code, with an automated pipeline for reproducible evaluation of specification accuracy.
Andrew Hirsch
University at Buffalo, NY·Computer Science
Develop open choreographies, choreographic programs whose co-designed components can communicate safely with independently written, off-the-shelf software.
The school
University of Wisconsin-Madison: 91 labs on PI Pages, $1.9B a year on research, 854 research doctorates a year.
Reach out
A start for your email. Fill in the brackets.