Demo Data from EDBT 2026 / reviewers in the wild / expert
Deokhwan Kim
dblp:35/9698
· DBLP profile ↗
8ranked-venue papers
1as first author
0since 2021 · last 2020
0000-0002-0968-3827ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 6 · 1 first-authorSystems, architecture and hardware · 2Security and privacy · 1
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.
| Network and information security
3 papers |
Systems and software security · 83% Web and mobile security · 17% | |
| Software engineering, system software, and programming languages
5 papers |
Program verification · 86% Program analysis · 14% |
Topics — the 10 heaviest of 12, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program verification
equivalence checking |
0.4 | 1 | 2020 | Synthesizing replacement classes · Proc. ACM Program. Lang. 2020 |
Web and mobile security › mobile security
android application analysis |
0.2 | 1 | 2015 | Information Flow Analysis of Android Applications in DroidSafe · NDSS 2015 |
Systems and software security
exploitation |
0.2 | 1 | 2015 | Targeted Automatic Integer Overflow Discovery Using Goal-Directed Conditional Branch Enforcement · ASPLOS 2015 |
Systems and software security › information flow control
information flow analysis |
0.2 | 1 | 2015 | Information Flow Analysis of Android Applications in DroidSafe · NDSS 2015 |
Systems and software security
vulnerability discovery |
0.2 | 1 | 2015 | Targeted Automatic Integer Overflow Discovery Using Goal-Directed Conditional Branch Enforcement · ASPLOS 2015 |
Systems and software security › vulnerability discovery
integer overflow vulnerabilities |
0.2 | 1 | 2014 | Sound input filter generation for integer overflow errors · POPL 2014 |
Program verification › data structure verification
linked data structure verification |
0.1 | 1 | 2011 | Verification of semantic commutativity conditions and inverse operations on linked data structures · PLDI 2011 |
Program analysis
dynamic analysis |
0.1 | 1 | 2015 | Targeted Automatic Integer Overflow Discovery Using Goal-Directed Conditional Branch Enforcement · ASPLOS 2015 |
Program analysis
static analysis |
0.1 | 1 | 2015 | Information Flow Analysis of Android Applications in DroidSafe · NDSS 2015 |
Emerging computing paradigms
approximate computing |
0.0 | 1 | 2012 | Proving acceptability properties of relaxed nondeterministic approximate programs · PLDI 2012 |
Methods — techniques the papers use, named apart from their topics
static information flow analysis · 0.4fuzzing · 0.4binary instrumentation · 0.4synthesis · 0.4equivalence predicate · 0.4nondeterministic program transformation · 0.3static program analysis · 0.2abstract state reasoning · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | Synthesizing replacement classesabstractWe present a new technique for automatically synthesizing replacement classes. The technique starts with an original class O and a potential replacement class R, then uses R to synthesize a new class that implements the same interface and provides the same functionality as O. Critically, our technique works with a synthe- sized inter-class equivalence predicate between the states of O and R. It uses this predicate to ensure that original and synthesized methods leave corresponding O and R objects in equivalent states. The predicate therefore enables the technique to synthesize individual replacement methods in isolation while still obtain- ing a replacement class that leaves the original and replacement objects in equivalent states after arbitrarily long method invocation sequences. We have implemented the technique as part of a tool, named Mask, and evaluated it using open-source Java classes. The results highlight the effectiveness of Mask in synthesizing replacement classes. Malavika Samak, Deokhwan Kim, Martin C. Rinard |
Proc. ACM Program. Lang. | 2 |
| 2015 | Targeted Automatic Integer Overflow Discovery Using Goal-Directed Conditional Branch EnforcementabstractWe present a new technique and system, DIODE, for auto- matically generating inputs that trigger overflows at memory allocation sites. DIODE is designed to identify relevant sanity checks that inputs must satisfy to trigger overflows at target memory allocation sites, then generate inputs that satisfy these sanity checks to successfully trigger the overflow. DIODE works with off-the-shelf, production x86 binaries. Our results show that, for our benchmark set of applications, and for every target memory allocation site exercised by our seed inputs (which the applications process correctly with no overflows), either 1) DIODE is able to generate an input that triggers an overflow at that site or 2) there is no input that would trigger an overflow for the observed target expression at that site. Stelios Sidiroglou-Douskos, Eric Lahtinen, Nathan Rittenhouse, Paolo Piselli, Fan Long, Deokhwan Kim, Martin C. Rinard |
ASPLOS | 6 |
| 2015 | Information Flow Analysis of Android Applications in DroidSafe
Michael I. Gordon, Deokhwan Kim, Jeff H. Perkins, Limei Gilham, Nguyen Nguyen 0002, Martin C. Rinard |
NDSS | 2 |
| 2014 | Sound input filter generation for integer overflow errorsabstractWe present a system, SIFT, for generating input filters that nullify integer overflow errors associated with critical program sites such as memory allocation or block copy sites. SIFT uses a static pro- gram analysis to generate filters that discard inputs that may trigger integer overflow errors in the computations of the sizes of allocated memory blocks or the number of copied bytes in block copy operations. Unlike all previous techniques of which we are aware, SIFT is sound -- if an input passes the filter, it will not trigger an integer overflow error at any analyzed site. Our results show that SIFT successfully analyzes (and therefore generates sound input filters for) 56 out of 58 memory allocation and block memory copy sites in analyzed input processing modules from five applications (VLC, Dillo, Swfdec, Swftools, and GIMP). These nullified errors include six known integer overflow vulnerabilities. Our results also show that applying these filters to 62895 real-world inputs produces no false positives. The analysis and filter generation times are all less than a second. Fan Long, Stelios Sidiroglou-Douskos, Deokhwan Kim, Martin C. Rinard |
POPL | 3 |
| 2013 | Verified integrity properties for safe approximate program transformationsabstractApproximate computations (for example, video, audio, and image processing, machine learning, and many scientific computations) have the freedom to generate a range of acceptable results. Approximate program transformations (for example, task skipping and loop perforation) exploit this freedom to produce computations that can execute at a variety of points in an underlying accuracy versus performance trade-off space. One potential concern is that these transformations may change the semantics of the program and therefore cause the program to crash, perform an illegal operation, or otherwise violate its integrity. Michael Carbin, Deokhwan Kim, Sasa Misailovic, Martin C. Rinard |
PEPM | 2 |
| 2013 | Parallelizing Sequential Programs with Statistical Accuracy TestsabstractWe present QuickStep, a novel system for parallelizing sequential programs. Unlike standard parallelizing compilers (which are designed to preserve the semantics of the original sequential computation), QuickStep is instead designed to generate (potentially nondeterministic) parallel programs that produce acceptably accurate results acceptably often. The freedom to generate parallel programs whose output may differ (within statistical accuracy bounds) from the output of the sequential program enables a dramatic simplification of the compiler, a dramatic increase in the range of applications that it can parallelize, and a significant expansion in the range of parallel programs that it can legally generate. Results from our benchmark set of applications show that QuickStep can automatically generate acceptably accurate and efficient parallel programs---the automatically generated parallel versions of five of our six benchmark applications run between 5.0 and 7.8 times faster on eight cores than the original sequential versions. These applications and parallelizations contain features (such as the use of modern object-oriented programming constructs or desirable parallelizations with infrequent but acceptable data races) that place them inherently beyond the reach of standard approaches. Sasa Misailovic, Deokhwan Kim, Martin C. Rinard |
ACM Trans. Embed. Comput. Syst. | 2 |
| 2012 | Proving acceptability properties of relaxed nondeterministic approximate programsabstractApproximate program transformations such as skipping tasks [29, 30], loop perforation [21, 22, 35], reduction sampling [38], multiple selectable implementations [3, 4, 16, 38], dynamic knobs [16], synchronization elimination [20, 32], approximate function memoization [11],and approximate data types [34] produce programs that can execute at a variety of points in an underlying performance versus accuracy tradeoff space. These transformed programs have the ability to trade accuracy of their results for increased performance by dynamically and nondeterministically modifying variables that control their execution. Michael Carbin, Deokhwan Kim, Sasa Misailovic, Martin C. Rinard |
PLDI | 2 |
| 2011 | Verification of semantic commutativity conditions and inverse operations on linked data structuresabstractWe present a new technique for verifying commutativity conditions, which are logical formulas that characterize when operations commute. Because our technique reasons with the abstract state of verified linked data structure implementations, it can verify commuting operations that produce semantically equivalent (but not necessarily identical) data structure states in different execution orders. We have used this technique to verify sound and complete commutativity conditions for all pairs of operations on a collection of linked data structure implementations, including data structures that export a set interface (ListSet and HashSet) as well as data structures that export a map interface (AssociationList, HashTable, and ArrayList). This effort involved the specification and verification of 765 commutativity conditions. Deokhwan Kim, Martin C. Rinard |
PLDI | 1 |