Demo Data from EDBT 2026 / reviewers in the wild / expert
Jong-hoon (David) An
dblp:01/1080
· DBLP profile ↗
4ranked-venue papers
2as first author
0since 2021 · last 2011
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 4 · 2 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 · 67% Program analysis · 33% | |
| Network and information security
1 paper |
Web and mobile security · 100% |
Topics — the 7 heaviest of 9, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems › type inference
dynamic type inference |
0.1 | 1 | 2011 | Dynamic inference of static types for ruby · POPL 2011 |
Programming languages and type systems
type inference |
0.1 | 1 | 2011 | Dynamic inference of static types for ruby · POPL 2011 |
Program analysis
static analysis |
0.1 | 1 | 2009 | Static Typing for Ruby on Rails · ASE 2009 |
Programming languages and type systems › type inference
static type inference |
0.1 | 1 | 2009 | Profile-guided static typing for dynamic scripting languages · OOPSLA 2009 |
Programming languages and type systems › type systems
static typing |
0.1 | 1 | 2009 | Static Typing for Ruby on Rails · ASE 2009 |
Program analysis › type analysis
type error detection |
0.1 | 1 | 2009 | Static Typing for Ruby on Rails · ASE 2009 |
Web and mobile security
web application security |
0.0 | 1 | 2009 | Static Typing for Ruby on Rails · ASE 2009 |
Methods — techniques the papers use, named apart from their topics
static type inference · 0.2program translation · 0.2type inference · 0.1runtime instrumentation · 0.1dynamic analysis · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2011 | Dynamic inference of static types for rubyabstractThere have been several efforts to bring static type inference to object-oriented dynamic languages such as Ruby, Python, and Perl. In our experience, however, such type inference systems are extremely difficult to develop, because dynamic languages are typically complex, poorly specified, and include features, such as eval and reflection, that are hard to analyze. Jong-hoon (David) An, Avik Chaudhuri, Jeffrey S. Foster, Michael Hicks 0001 |
POPL | 1 |
| 2009 | The ruby intermediate languageabstractRuby is a popular, dynamic scripting language that aims to "feel natural to programmers" and give users the "freedom to choose" among many different ways of doing the same thing. While this arguably makes programming in Ruby easier, it makes it hard to build analysis and transformation tools that operate on Ruby source code. In this paper, we present the Ruby Intermediate Language (RIL), a Ruby front-end and intermediate representation that addresses these. RIL includes an extensible GLR parser for Ruby, and an automatic translation into an easy-to-analyze intermediate form. This translation eliminates redundant language constructs, unravels the often subtle ordering among side effecting operations, and makes implicit interpreter operations explicit. We also describe several additional useful features of RIL, such as a dynamic instrumentation library for profiling source code and a dataflow analysis engine. We demonstrate the usefulness of RIL by presenting a static and dynamic analysis to eliminate null pointer errors in Ruby programs. We hope that RIL's features will enable others to more easily build analysis tools for Ruby, and that our design will inspire the of similar frameworks for other dynamic languages. Michael Furr, Jong-hoon (David) An, Jeffrey S. Foster, Michael Hicks 0001 |
DLS | 2 |
| 2009 | Static Typing for Ruby on RailsabstractRuby on Rails (or just "Rails") is a popular web application framework built on top of Ruby, an object-oriented scripting language. While Ruby's powerful features such as dynamic typing help make Rails development extremely lightweight, this comes at a cost. Dynamic typing in particular means that type errors in Rails applications remain latent until run time, making debugging and maintenance harder. In this paper, we describe DRails, a novel tool that brings static typing to Rails applications to detect a range of run time errors. DRails works by translating Rails programs into pure Ruby code in which Rails's numerous implicit conventions are made explicit. We then discover type errors by applying DRuby, a previously developed static type inference system, to the translated program. We ran DRails on a suite of applications and found that it was able to detect several previously unknown errors. Jong-hoon (David) An, Avik Chaudhuri, Jeffrey S. Foster |
ASE | 1 |
| 2009 | Profile-guided static typing for dynamic scripting languagesabstractMany popular scripting languages such as Ruby, Python, and Perl include highly dynamic language constructs, such as an eval method that evaluates a string as program text. While these constructs allow terse and expressive code, they have traditionally obstructed static analysis. In this paper we present PRuby, an extension to Diamondback Ruby (DRuby), a static type inference system for Ruby. PRuby augments DRuby with a novel dynamic analysis and transformation that allows us to precisely type uses of highly dynamic constructs. PRuby's analysis proceeds in three steps. First, we use run-time instrumentation to gather per-application profiles of dynamic feature usage. Next, we replace dynamic features with statically analyzable alternatives based on the profile. We also add instrumentation to safely handle cases when subsequent runs do not match the profile. Finally, we run DRuby's static type inference on the transformed code to enforce type safety. Michael Furr, Jong-hoon (David) An, Jeffrey S. Foster |
OOPSLA | 2 |