VLDB 2026 Research / reviewers in the wild / expert
Yit Phang Khoo
dblp:13/365
· DBLP profile ↗
8ranked-venue papers
4as first author
0since 2021 · last 2014
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 8 · 4 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
5 papers |
Program analysis · 41% Debugging and program repair · 30% Empirical software engineering · 20% | |
| Human-computer interaction and pervasive computing
1 paper |
Collaborative and social computing · 100% | |
| Databases, data mining, and information retrieval
1 paper |
Information retrieval · 100% |
Topics — the 11 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 | 1 | 2014 | Adapton: composable, demand-driven incremental computation · PLDI 2014 |
Debugging and program repair › debugging tools
scriptable debugging |
0.2 | 1 | 2013 | Expositor: scriptable time-travel debugging with first-class traces · ICSE 2013 |
Debugging and program repair
time-travel debugging |
0.2 | 1 | 2013 | Expositor: scriptable time-travel debugging with first-class traces · ICSE 2013 |
Empirical software engineering
developer studies |
0.1 | 1 | 2010 | WhoselsThat: finding software engineers with codebook · SIGSOFT FSE 2010 |
Empirical software engineering
mining software repositories |
0.1 | 1 | 2010 | Codebook: discovering and exploiting relationships in software repositories · ICSE (1) 2010 |
Program analysis
static analysis |
0.1 | 1 | 2010 | Mixing type checking and symbolic execution · PLDI 2010 |
Program analysis
symbolic execution |
0.1 | 1 | 2010 | Mixing type checking and symbolic execution · PLDI 2010 |
Programming languages and type systems
type checking |
0.1 | 1 | 2010 | Mixing type checking and symbolic execution · PLDI 2010 |
Program analysis › dynamic analysis
execution traces |
0.0 | 1 | 2013 | Expositor: scriptable time-travel debugging with first-class traces · ICSE 2013 |
Information retrieval
search engines |
0.0 | 1 | 2010 | WhoselsThat: finding software engineers with codebook · SIGSOFT FSE 2010 |
Information retrieval › web search
social search |
0.0 | 1 | 2010 | WhoselsThat: finding software engineers with codebook · SIGSOFT FSE 2010 |
Methods — techniques the papers use, named apart from their topics
survey · 0.2repository mining · 0.2memoization · 0.2dependency graph · 0.2lazy interval trees · 0.2edit hash array mapped trie · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2014 | Adapton: composable, demand-driven incremental computationabstractMany researchers have proposed programming languages that support incremental computation (IC), which allows programs to be efficiently re-executed after a small change to the input. However, existing implementations of such languages have two important drawbacks. First, recomputation is oblivious to specific demands on the program output; that is, if a program input changes, all dependencies will be recomputed, even if an observer no longer requires certain outputs. Second, programs are made incremental as a unit, with little or no support for reusing results outside of their original context, e.g., when reordered. Matthew A. Hammer, Yit Phang Khoo, Michael Hicks 0001, Jeffrey S. Foster |
PLDI | 2 |
| 2013 | Expositor: scriptable time-travel debugging with first-class tracesabstractWe present Expositor, a new debugging environment that combines scripting and time-travel debugging to allow programmers to automate complex debugging tasks. The fundamental abstraction provided by Expositor is the execution trace, which is a time-indexed sequence of program state snapshots. Programmers can manipulate traces as if they were simple lists with operations such as map and filter. Under the hood, Expositor efficiently implements traces as lazy, sparse interval trees whose contents are materialized on demand. Expositor also provides a novel data structure, the edit hash array mapped trie, which is a lazy implementation of sets, maps, multisets, and multimaps that enables programmers to maximize the efficiency of their debugging scripts. We have used Expositor to debug a stack overflow and to unravel a subtle data race in Firefox. We believe that Expositor represents an important step forward in improving the technology for diagnosing complex, hard-to-understand bugs. Yit Phang Khoo, Jeffrey S. Foster, Michael Hicks 0001 |
ICSE | 1 |
| 2011 | Directed Symbolic Execution
Kin-Keung Ma, Yit Phang Khoo, Jeffrey S. Foster, Michael Hicks 0001 |
SAS | 2 |
| 2010 | Codebook: discovering and exploiting relationships in software repositoriesabstractLarge-scale software engineering requires communication and collaboration to successfully build and ship products. We conducted a survey with Microsoft engineers on inter-team coordination and found that the most impactful problems concerned finding and keeping track of other engineers. Since engineers are connected by their shared work, a tool that discovers connections in their work-related repositories can help. Andrew Begel, Yit Phang Khoo, Thomas Zimmermann 0001 |
ICSE (1) | 2 |
| 2010 | Mixing type checking and symbolic executionabstractStatic analysis designers must carefully balance precision and efficiency. In our experience, many static analysis tools are built around an elegant, core algorithm, but that algorithm is then extensively tweaked to add just enough precision for the coding idioms seen in practice, without sacrificing too much efficiency. There are several downsides to adding precision in this way: the tool's implementation becomes much more complicated; it can be hard for an end-user to interpret the tool's results; and as software systems vary tremendously in their coding styles, it may require significant algorithmic engineering to enhance a tool to perform well in a particular software domain. Yit Phang Khoo, Bor-Yuh Evan Chang, Jeffrey S. Foster |
PLDI | 1 |
| 2010 | WhoselsThat: finding software engineers with codebookabstractIn this demo, we describe WhoseIsThat, a social search portal which we built using the Codebook framework. We improve the search experience in two ways: first, we search across multiple software repositories at once with a single query; second, we return not just a list of artifacts in the results, but also engineers. Andrew Begel, Yit Phang Khoo, Thomas Zimmermann 0001 |
SIGSOFT FSE | 2 |
| 2009 | Directing JavaScript with arrowsabstractJavaScript programmers make extensive use of event-driven programming to help build responsive web applications. However, standard approaches to sequencing events are messy, and often lead to code that is difficult to understand and maintain. We have found that arrows, a generalization of monads, are an elegant solution to this problem. Arrows allow us to easily write asynchronous programs in small, modular units of code, and flexibly compose them in many different ways, while nicely abstracting the details of asynchronous program composition. In this paper, we present Arrowlets, a new JavaScript library that offers arrows to the everyday JavaScript programmer. We show how to use Arrowlets to construct a variety of state machines, including state machines that branch and loop. We also demonstrate how Arrowlets separate computation from composition with examples such as a drag-and-drop handler and a bubblesort animation. Yit Phang Khoo, Michael Hicks 0001, Jeffrey S. Foster, Vibha Sazawal |
DLS | 1 |
| 2008 | Path projection for user-centered static analysis toolsabstractThe research and industrial communities have made great strides in developing sophisticated defect detection tools based on static analysis. To date most of the work in this area has focused on developing novel static analysis algorithms, but has neglected study of other aspects of static analysis tools, particularly user interfaces. In this work, we present a novel user interface toolkit called Path Projection that helps users visualize, navigate, and understand program paths, a common component of many tools' error reports. We performed a controlled user study to measure the benefit of Path Projection in triaging error reports from Locksmith, a data race detection tool for C. We found that Path Projection improved participants' time to complete this task without affecting accuracy, while participants felt Path Projection was useful and strongly preferred it to a more standard viewer. Yit Phang Khoo, Jeffrey S. Foster, Michael Hicks 0001, Vibha Sazawal |
PASTE | 1 |