VLDB 2026 Research / reviewers in the wild / expert
John C. Kolesar
dblp:322/0412 · also John Charles Kolesar
· DBLP profile ↗
5ranked-venue papers
3as first author
5since 2021 · last 2025
0000-0002-6084-2387ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 4 · 3 first-author · 4 since 2021Security and privacy · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Checking equivalence in a non-strict languageabstractAbstract Program equivalence checking is the task of confirming that two programs have the same behavior on corresponding inputs. We develop a calculus based on symbolic execution and coinduction to check the equivalence of programs in a non-strict functional language. Additionally, we show that our calculus can be used to derive counterexamples for pairs of inequivalent programs, including counterexamples that arise from non-termination. We describe a fully automated approach for finding both equivalence proofs and counterexamples. Our implementation, nebula , proves equivalences of programs written in Haskell. We demonstrate nebula ’s practical effectiveness at both proving equivalence and producing counterexamples automatically by applying nebula to existing benchmark properties. John C. Kolesar, Ruzica Piskac, William T. Hallahan |
J. Funct. Program. | 1 |
| 2025 | Coinductive Proofs of Regular Expression Equivalence in Zero KnowledgeabstractZero-knowledge (ZK) protocols enable software developers to provide proofs of their programs’ correctness to other parties without revealing the programs themselves. Regular expressions are pervasive in real-world software, and zero-knowledge protocols have been developed in the past for the problem of checking whether an individual string appears in the language of a regular expression, but no existing protocol addresses the more complex PSPACE-complete problem of proving that two regular expressions are equivalent. We introduce Crêpe , the first ZK protocol for encoding regular expression equivalence proofs and also the first ZK protocol to target a PSPACE-complete problem. Crêpe uses a custom calculus of proof rules based on regular expression derivatives and coinduction, and we introduce a sound and complete algorithm for generating proofs in our format. We test Crêpe on a suite of hundreds of regular expression equivalence proofs. Crêpe can validate large proofs in only a few seconds each. John C. Kolesar, Shan Ali, Timos Antonopoulos, Ruzica Piskac |
Proc. ACM Program. Lang. | 1 |
| 2024 | ZKSMT: A VM for Proving SMT Theorems in Zero Knowledge
Daniel Luick, John C. Kolesar, Timos Antonopoulos, William R. Harris, James Parker, Ruzica Piskac, Eran Tromer, Xiao Wang 0012, Ning Luo 0002 |
USENIX Security Symposium | 2 |
| 2022 | Automated Feedback Generation for Competition-Level CodeabstractCompetitive programming has become a popular way for programmers to test their skills. Competition-level programming problems are challenging in nature, and participants often fail to solve the problem on their first attempt. Some online platforms for competitive programming allow programmers to practice on competition-level problems, and the standard feedback for an incorrect practice submission is the first test case that the submission fails. Often, the failed test case does not provide programmers with enough information to resolve the errors in their code, and they abandon the problem after making several more unsuccessful attempts. Jialu Zhang 0002, John C. Kolesar, Hanyuan Shi, Ruzica Piskac |
ASE | 3 |
| 2022 | Checking equivalence in a non-strict languageabstractProgram equivalence checking is the task of confirming that two programs have the same behavior on corresponding inputs. We develop a calculus based on symbolic execution and coinduction to check the equivalence of programs in a non-strict functional language. Additionally, we show that our calculus can be used to derive counterexamples for pairs of inequivalent programs, including counterexamples that arise from non-termination. We describe a fully automated approach for finding both equivalence proofs and counterexamples. Our implementation, Nebula, proves equivalences of programs written in Haskell. We demonstrate Nebula's practical effectiveness at both proving equivalence and producing counterexamples automatically by applying Nebula to existing benchmark properties. John C. Kolesar, Ruzica Piskac, William T. Hallahan |
Proc. ACM Program. Lang. | 1 |