James Dong

dblp:89/7354 · DBLP profile ↗
← Back
3ranked-venue papers
1as first author
2since 2021 · last 2026
0000-0001-9281-4156ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 3 · 1 first-author · 2 since 2021
YearPublicationVenuePosition
2026 A Compiler for Fused Relational Operations on Multisets
James Dong, Fredrik Kjolstad
Proc. ACM Program. Lang.1
2022 Synthesis-powered optimization of smart contracts via data type refactoring
abstract
Since executing a smart contract on the Ethereum blockchain costs money (measured in gas ), smart contract developers spend significant effort in reducing gas usage. In this paper, we propose a new technique for reducing the gas usage of smart contracts by changing the underlying data layout. Given a smart contract P and a type-level transformation, our method automatically synthesizes a new contract P ′ that is functionally equivalent to P . Our approach provides a convenient DSL for expressing data type refactorings and employs program synthesis to generate the new version of the contract. We have implemented our approach in a tool called Solidare and demonstrate its capabilities on real-world smart contracts from Etherscan and GasStation. In particular, we show that our approach is effective at automating the desired data layout transformation and that it is useful for reducing gas usage of smart contracts that use rich data structures.
Yanju Chen, Yuepeng Wang 0001, Maruth Goyal, James Dong, Yu Feng 0001, Isil Dillig
Proc. ACM Program. Lang.4
2019 Synthesizing database programs for schema refactoring
abstract
Many programs that interact with a database need to undergo schema refactoring several times during their life cycle. Since this process typically requires making significant changes to the program's implementation, schema refactoring is often non-trivial and error-prone. Motivated by this problem, we propose a new technique for automatically synthesizing a new version of a database program given its original version and the source and target schemas. Our method does not require manual user guidance and ensures that the synthesized program is equivalent to the original one. Furthermore, our method is quite efficient and can synthesize new versions of database programs (containing up to 263 functions) that are extracted from real-world web applications with an average synthesis time of 69.4 seconds.
Yuepeng Wang 0001, James Dong, Rushi Shah, Isil Dillig
PLDI2