EDBT 2026 Demo / reviewers in the wild / expert
Yan Chen 0001
dblp:88/2827-1
· DBLP profile ↗
9ranked-venue papers
6as first author
0since 2021 · last 2014
—ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 8 · 5 first-authorSystems, architecture and hardware · 1 · 1 first-authorTheory of computation · 1 · 1 first-author
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
3 papers |
Programming languages and type systems · 41% Compilers and program optimization · 30% Program analysis · 25% | |
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Electronic design automation · 100% | |
| Theoretical computer science
2 papers |
Algorithms and data structures · 78% Automated reasoning and model checking · 22% |
Topics — the 10 heaviest of 12, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis › static analysis
incremental analysis |
0.2 | 2 | 2011 | Self-adjusting stack machines · OOPSLA 2011 CEAL: a C-based language for self-adjusting computation · PLDI 2009 |
Programming languages and type systems › programming paradigms
self-adjusting computation |
0.2 | 2 | 2011 | Self-adjusting stack machines · OOPSLA 2011 CEAL: a C-based language for self-adjusting computation · PLDI 2009 |
Compilers and program optimization
program transformation |
0.1 | 1 | 2012 | Type-directed automatic incrementalization · PLDI 2012 |
Compilers and program optimization › intermediate representation
intermediate language |
0.1 | 1 | 2011 | Self-adjusting stack machines · OOPSLA 2011 |
Electronic design automation › hardware verification and test › formal verification
abstraction refinement |
0.1 | 1 | 2008 | Optimizing automatic abstraction refinement for generalized symbolic trajectory evaluation · DAC 2008 |
Electronic design automation
hardware verification and test |
0.1 | 1 | 2008 | Optimizing automatic abstraction refinement for generalized symbolic trajectory evaluation · DAC 2008 |
Electronic design automation › hardware verification and test › formal verification
symbolic trajectory evaluation |
0.1 | 1 | 2008 | Optimizing automatic abstraction refinement for generalized symbolic trajectory evaluation · DAC 2008 |
Algorithms and data structures
dynamic algorithms |
0.0 | 1 | 2012 | Type-directed automatic incrementalization · PLDI 2012 |
Algorithms and data structures › dynamic algorithms
incremental algorithms |
0.0 | 1 | 2012 | Type-directed automatic incrementalization · PLDI 2012 |
Automated reasoning and model checking › abstraction refinement
counterexample-guided abstraction refinement |
0.0 | 1 | 2008 | Optimizing automatic abstraction refinement for generalized symbolic trajectory evaluation · DAC 2008 |
Methods — techniques the papers use, named apart from their topics
type-directed compilation · 0.4counterexample-guided refinement · 0.2GSTE · 0.2soundness proof · 0.1operational semantics · 0.1change propagation · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2014 | Functional programming for dynamic and large data with self-adjusting computationabstractCombining type theory, language design, and empirical work, we present techniques for computing with large and dynamically changing datasets. Based on lambda calculus, our techniques are suitable for expressing a diverse set of algorithms on large datasets and, via self-adjusting computation, enable computations to respond automatically to changes in their data. To improve the scalability of self-adjusting computation, we present a type system for precise dependency tracking that minimizes the time and space for storing dependency metadata. The type system eliminates an important assumption of prior work that can lead to recording spurious dependencies. We present a type-directed translation algorithm that generates correct self-adjusting programs without relying on this assumption. We then show a probabilistic-chunking technique to further decrease space usage by controlling the fundamental space-time tradeoff in self-adjusting computation. We implement and evaluate these techniques, showing promising results on challenging benchmarks involving large graphs. Yan Chen 0001, Umut A. Acar, Kanat Tangwongsan |
ICFP | 1 |
| 2014 | Implicit self-adjusting computation for purely functional programsabstractAbstract Computational problems that involve dynamic data, such as physics simulations and program development environments, have been an important subject of study in programming languages. Building on this work, recent advances in self-adjusting computation have developed techniques that enable programs to respond automatically and efficiently to dynamic changes in their inputs. Self-adjusting programs have been shown to be efficient for a reasonably broad range of problems, but the approach still requires an explicit programming style, where the programmer must use specific monadic types and primitives to identify, create, and operate on data that can change over time. We describe techniques for automatically translating purely functional programs into self-adjusting programs. In this implicit approach, the programmer need only annotate the (top-level) input types of the programs to be translated. Type inference finds all other types, and a type-directed translation rewrites the source program into an explicitly self-adjusting target program. The type system is related to information-flow type systems and enjoys decidable type inference via constraint solving. We prove that the translation outputs well- typed self-adjusting programs and preserves the source program's input–output behavior, guaranteeing that translated programs respond correctly to all changes to their data. Using a cost semantics, we also prove that the translation preserves the asymptotic complexity of the source program. Yan Chen 0001, Jana Dunfield, Matthew A. Hammer, Umut A. Acar |
J. Funct. Program. | 1 |
| 2012 | Type-directed automatic incrementalizationabstractApplication data often changes slowly or incrementally over time. Since incremental changes to input often result in only small changes in output, it is often feasible to respond to such changes asymptotically more efficiently than by re-running the whole computation. Traditionally, realizing such asymptotic efficiency improvements requires designing problem-specific algorithms known as dynamic or incremental algorithms, which are often significantly more complicated than conventional algorithms to design, analyze, implement, and use. A long-standing open problem is to develop techniques that automatically transform conventional programs so that they correctly and efficiently respond to incremental changes. Yan Chen 0001, Jana Dunfield, Umut A. Acar |
PLDI | 1 |
| 2011 | Implicit self-adjusting computation for purely functional programsabstractComputational problems that involve dynamic data, such as physics simulations and program development environments, have been an important subject of study in programming languages. Building on this work, recent advances in self-adjusting computation have developed techniques that enable programs to respond automatically and efficiently to dynamic changes in their inputs. Self-adjusting programs have been shown to be efficient for a reasonably broad range of problems but the approach still requires an explicit programming style, where the programmer must use specific monadic types and primitives to identify, create and operate on data that can change over time. Yan Chen 0001, Jana Dunfield, Matthew A. Hammer, Umut A. Acar |
ICFP | 1 |
| 2011 | Self-adjusting stack machinesabstractSelf-adjusting computation offers a language-based approach to writing programs that automatically respond to dynamically changing data. Recent work made significant progress in developing sound semantics and associated implementations of self-adjusting computation for high-level, functional languages. These techniques, however, do not address issues that arise for low-level languages, i.e., stack-based imperative languages that lack strong type systems and automatic memory management. In this paper, we describe techniques for self-adjusting computation which are suitable for low-level languages. Necessarily, we take a different approach than previous work: instead of starting with a high-level language with additional primitives to support self-adjusting computation, we start with a low-level intermediate language, whose semantics is given by a stack-based abstract machine. We prove that this semantics is sound: it always updates computations in a way that is consistent with full reevaluation. We give a compiler and runtime system for the intermediate language used by our abstract machine. We present an empirical evaluation that shows that our approach is efficient in practice, and performs favorably compared to prior proposals. Matthew A. Hammer, Georg Neis, Yan Chen 0001, Umut A. Acar |
OOPSLA | 3 |
| 2009 | Formal Verification for High-Assurance Behavioral Synthesis
Sandip Ray, Kecheng Hao, Yan Chen 0001, Fei Xie 0004, Jin Yang 0006 |
ATVA | 3 |
| 2009 | CEAL: a C-based language for self-adjusting computationabstractSelf-adjusting computation offers a language-centric approach to writing programs that can automatically respond to modifications to their data (e.g., inputs). Except for several domain-specific implementations, however, all previous implementations of self-adjusting computation assume mostly functional, higher-order languages such as Standard ML. Prior to this work, it was not known if self-adjusting computation can be made to work with low-level, imperative languages such as C without placing undue burden on the programmer. Matthew A. Hammer, Umut A. Acar, Yan Chen 0001 |
PLDI | 3 |
| 2008 | Optimizing automatic abstraction refinement for generalized symbolic trajectory evaluationabstractIn this paper, we present a suite of optimizations targeting automatic abstraction refinement for Generalized Symbolic Trajectory Evaluation (GSTE). We optimize both model refinement and spec refinement supported by AutoGSTE: a counterexample-guided refinement loop for GSTE. Experiments on a family of benchmark circuits have shown that our optimizations lead to major efficiency improvements in verification involving abstraction refinement. Yan Chen 0001, Fei Xie 0004, Jin Yang 0006 |
DAC | 1 |
| 2007 | Automatic Abstraction Refinement for Generalized Symbolic Trajectory EvaluationabstractIn this paper, we present AutoGSTE, a comprehensive approach to automatic abstraction refinement for generalized symbolic trajectory evaluation (GSTE). This approach addresses imprecision of GSTE's quaternary abstraction caused by underconstrained input circuit nodes, quaternary state set unions, and existentially quantified-out symbolic variables. It follows the counterexample-guided abstraction refinement framework and features an algorithm that analyzes counterexamples (symbolic error traces) generated by GSTE to identify causes of imprecision and two complementary algorithms that automate model refinement and specification refinement according to the causes identified. AutoGSTE completely eliminates false negatives due to imprecision of quaternary abstraction. Application of AutoGSTE to benchmark circuits from small to large size has demonstrated that it can quickly converge to an abstraction upon which GSTE can either verify or falsify an assertion graph efficiently. Yan Chen 0001, Fei Xie 0004, Jin Yang 0006 |
FMCAD | 1 |