Demo Data from SIGIR 2026 / reviewers in the wild / expert
Shangyin Tan
dblp:280/5457
· DBLP profile ↗
6ranked-venue papers
0as first author
5since 2021 · last 2024
0000-0001-9559-7417ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 4 · 3 since 2021Artificial intelligence and machine learning · 1 · 1 since 2021Human-computer interaction and ubiquitous computing · 1 · 1 since 2021
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
5 papers |
Program analysis · 41% Compilers and program optimization · 24% Programming languages and type systems · 16% | |
| Network and information security
1 paper |
Blockchain and cryptocurrency security · 50% Systems and software security · 50% |
Topics — the 12 heaviest of 12, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis
symbolic execution |
1.6 | 3 | 2023 | Compiling Parallel Symbolic Execution with Continuations · ICSE 2023 LLSC: a parallel symbolic execution compiler for LLVM IR · ESEC/SIGSOFT FSE 2021 Compiling symbolic execution with staging and algebraic effects · Proc. ACM Program. Lang. 2020 |
Program analysis › symbolic execution
parallel symbolic execution |
1.2 | 2 | 2023 | Compiling Parallel Symbolic Execution with Continuations · ICSE 2023 LLSC: a parallel symbolic execution compiler for LLVM IR · ESEC/SIGSOFT FSE 2021 |
Systems and software security › vulnerability discovery › fuzzing
smart contract fuzzing |
0.7 | 1 | 2023 | ItyFuzz: Snapshot-Based Fuzzer for Smart Contract · ISSTA 2023 |
Blockchain and cryptocurrency security
smart contract security |
0.7 | 1 | 2023 | ItyFuzz: Snapshot-Based Fuzzer for Smart Contract · ISSTA 2023 |
Compilers and program optimization › compiler construction
compilation techniques |
0.7 | 1 | 2023 | Compiling Parallel Symbolic Execution with Continuations · ICSE 2023 |
Programming languages and type systems › program manipulation
continuation-passing style |
0.7 | 1 | 2023 | Compiling Parallel Symbolic Execution with Continuations · ICSE 2023 |
Software testing
fuzzing |
0.7 | 1 | 2023 | ItyFuzz: Snapshot-Based Fuzzer for Smart Contract · ISSTA 2023 |
Program synthesis and code generation › interactive program synthesis
interactive code generation |
0.6 | 1 | 2022 | INTENT: Interactive Tensor Transformation Synthesis · UIST 2022 |
Compilers and program optimization
code generation |
0.5 | 1 | 2021 | LLSC: a parallel symbolic execution compiler for LLVM IR · ESEC/SIGSOFT FSE 2021 |
Programming languages and type systems › computational effects
algebraic effects |
0.4 | 1 | 2020 | Compiling symbolic execution with staging and algebraic effects · Proc. ACM Program. Lang. 2020 |
Compilers and program optimization
partial evaluation |
0.4 | 1 | 2020 | Compiling symbolic execution with staging and algebraic effects · Proc. ACM Program. Lang. 2020 |
Usability and user experience research › psychology of programming
program comprehension |
0.2 | 1 | 2022 | INTENT: Interactive Tensor Transformation Synthesis · UIST 2022 |
Methods — techniques the papers use, named apart from their topics
snapshot · 1.3dataflow waypoint · 1.3comparison waypoint · 1.3within-subjects user study · 1.1program inference · 1.1partial evaluation · 0.7generative programming · 0.7symbolic execution · 0.5constraint solving · 0.5algebraic effects · 0.4
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | SlimFit: Memory-Efficient Fine-Tuning of Transformer-based Models Using Training DynamicsabstractArash Ardakani, Altan Haan, Shangyin Tan, Doru Thom Popovici, Alvin Cheung, Costin Iancu, Koushik Sen. Proceedings of the 2024 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (Volume 1: Long Papers). 2024. Arash Ardakani, Altan Haan, Shangyin Tan, Doru-Thom Popovici, Alvin Cheung, Costin Iancu, Koushik Sen |
NAACL-HLT | 3 |
| 2023 | Compiling Parallel Symbolic Execution with ContinuationsabstractSymbolic execution is a powerful program analysis and testing technique. Symbolic execution engines are usually implemented as interpreters, and the induced interpretation over-head can dramatically inhibit performance. Alternatively, implementation choices based on instrumentation provide a limited ability to transform programs. However, the use of compilation and code generation techniques beyond simple instrumentation remains underexplored for engine construction, leaving potential performance gains untapped. In this paper, we show how to tap some of these gains using sophisticated compilation techniques: We present Gensym, an optimizing symbolic-execution compiler that generates symbolic code which explores paths and generates tests in parallel. The key insight of GensYmis to compile symbolic execution tasks into cooperative concurrency via continuation-passing style, which further enables efficient parallelism. The design and implementation of Gensym is based on partial evaluation and generative programming techniques, which make it high-level and performant at the same time. We compare the performance of Gensym against the prior symbolic-execution compiler LLSC and the state-of-the-art symbolic interpreter KLEE. The results show an average 4.6× speedup for sequential execution and 9.4× speedup for parallel execution on 20 benchmark programs. Guannan Wei 0001, Songlin Jia, Ruiqi Gao, Haotian Deng 0001, Shangyin Tan, Oliver Bracevac, Tiark Rompf |
ICSE | 5 |
| 2023 | ItyFuzz: Snapshot-Based Fuzzer for Smart ContractabstractSmart contracts are critical financial instruments, and their security is of utmost importance. However, smart contract programs are difficult to fuzz due to the persistent blockchain state behind all transactions. Mutating sequences of transactions are complex and often lead to a suboptimal exploration for both input and program spaces. In this paper, we introduce a novel snapshot-based fuzzer ItyFuzz for testing smart contracts. In ItyFuzz, instead of storing sequences of transactions and mutating from them, we snapshot states and singleton transactions. To explore interesting states, ItyFuzz introduces a dataflow waypoint mechanism to identify states with more potential momentum. ItyFuzz also incorporates comparison waypoints to prune the space of states. By maintaining snapshots of the states, ItyFuzz can synthesize concrete exploits like reentrancy attacks quickly. Because ItyFuzz has second-level response time to test a smart contract, it can be used for on-chain testing, which has many benefits compared to local development testing. Finally, we evaluate ItyFuzz on real-world smart contracts and some hacked on-chain DeFi projects. ItyFuzz outperforms existing fuzzers in terms of instructional coverage and can find and generate realistic exploits for on-chain projects quickly. Chaofan Shou, Shangyin Tan, Koushik Sen |
ISSTA | 2 |
| 2022 | INTENT: Interactive Tensor Transformation SynthesisabstractThere is a growing interest in adopting Deep Learning (DL) given its superior performance in many domains. However, modern DL frameworks such as TensorFlow often come with a steep learning curve. In this work, we propose INTENT, an interactive system that infers user intent and generates corresponding TensorFlow code on behalf of users. INTENT helps users understand and validate the semantics of generated code by rendering individual tensor transformation steps with intermediate results and element-wise data provenance. Users can further guide INTENT by marking certain TensorFlow operators as desired or undesired, or directly manipulating the generated code. A within-subjects user study with 18 participants shows that users can finish programming tasks in TensorFlow more successfully with only half the time, compared with a variant of INTENT that has no interaction or visualization support. Zhanhui Zhou, Man To Tang, Qiping Pan, Shangyin Tan, Xinyu Wang 0006, Tianyi Zhang 0001 |
UIST | 4 |
| 2021 | LLSC: a parallel symbolic execution compiler for LLVM IRabstractWe present LLSC, a prototype compiler for nondeterministic parallel symbolic execution of the LLVM intermediate representation (IR). Given an LLVM IR program, LLSC generates code preserving the symbolic execution semantics and orchestrating solver invocations. The generated code runs efficiently, since the code has eliminated the interpretation overhead and explores multiple paths in parallel. To the best of our knowledge, LLSC is the first compiler for fork-based symbolic execution semantics that can generate parallel execution code. Guannan Wei 0001, Shangyin Tan, Oliver Bracevac, Tiark Rompf |
ESEC/SIGSOFT FSE | 2 |
| 2020 | Compiling symbolic execution with staging and algebraic effectsabstractBuilding effective symbolic execution engines poses challenges in multiple dimensions: an engine must correctly model the program semantics, provide flexibility in symbolic execution strategies, and execute them efficiently. This paper proposes a principled approach to building correct, flexible, and efficient symbolic execution engines, directly rooted in the semantics of the underlying language in terms of a high-level definitional interpreter. The definitional interpreter induces algebraic effects to abstract over semantic variants of symbolic execution, e.g., collecting path conditions as a state effect and path exploration as a nondeterminism effect. Different handlers of these effects give rise to different symbolic execution strategies, making execution strategies orthogonal to the symbolic execution semantics, thus improving flexibility. Furthermore, by annotating the symbolic definitional interpreter with binding-times and specializing it to the input program via the first Futamura projection, we obtain a "symbolic compiler", generating efficient instrumented code having the symbolic execution semantics. Our work reconciles the interpretation- and instrumentation-based approaches to building symbolic execution engines in a uniform framework. We illustrate our approach on a simple imperative language step-by-step and then scale up to a significant subset of LLVM IR. We also show effect handlers for common path selection strategies. Evaluating our prototype's performance shows speedups of 10~30x over the unstaged counterpart, and ~2x over KLEE, a state-of-the-art symbolic interpreter for LLVM IR. Guannan Wei 0001, Oliver Bracevac, Shangyin Tan, Tiark Rompf |
Proc. ACM Program. Lang. | 3 |