Carousel imageCarousel imageCarousel imageCarousel imageCarousel image

I am a Ph.D. candidate in the School of Computing at KAIST.
I research for developers striving for creative and stable mobile applications.


  • Ph.D. in School of Computing, KAIST, 2016 ~ present

  • M.S. in Department of Electrical Engineering, KAIST, 2014 ~ 2016

  • B.S. in Department of Electrical Engineering, KAIST, 2009 ~ 2014

Research Experience

Networking and Mobile Systems Laboratory, KAIST MAR. 2016 ∼ present

    • Ph.D. Student. Research on mobile OS & application framework

Networked and Distributed Computing Systems Laboratory, KAIST AUG. 2012 ∼ FEB. 2016

    • M.S. Student. Research on networking stack for middlebox (mOS project.)

    • Undergraduate Intern. Research on mobile networking (Cedos project.)

Electronics and Telecommunications Research Institute (ETRI) JUN. 2012 ∼ AUG. 2012

    • Undergraduate Intern. Developed Linux USB driver for a SPARC based mobile processor.

Electronics and Telecommunications Research Institute (ETRI) JUN. 2011 ∼ AUG. 2011

    • Undergraduate Intern. Developed software audio codec for a SPARC based mobile processor.


  1. Hyunsung Cho, DaEun Choi, Donghwi Kim, Wan Ju Kang, Eun Kyoung Choe, and Sung-Ju Lee. "Reflect, not Regret: Understanding Regretful Smartphone Use with App Feature-Level Analysis". To appear in Proceedings of the 24th ACM Conference on Computer Supported Cooperative Work and Social Computing (CSCW 2021), Virtual, October 2021. [Best Paper Award] [Methods Recognition Award]

  2. Chang Min Park, Donghwi Kim, Deepesh Veersen Sidhwani, Andrew Fuchs, Arnob Paul, Sung-Ju Lee, Karthik Dantu, and Steven Y. Ko. “Rushmore: Securely Displaying Static and Animated Images Using TrustZone”. In Proceedings of the 19th ACM International Conference on Mobile Systems, Applications and Services (MobiSys 2021), Mars, Solar System (Virtual), June 2021.

  3. Donghwi Kim, Sooyoung Park, Jihoon Ko, Steven Y. Ko, and Sung-Ju Lee. "X-Droid: A Quick and Easy Android Prototyping Framework with a Single-App Illusion". In Proceedings of the 32nd ACM User Interface Software and Technology Symposium (UIST 2019), New Orleans, Louisiana, USA , October 2019.

  4. YoungGyoun Moon, Donghwi Kim, Younghwan Go, Yeongjin Kim, Yung Yi, Song Chong, and KyoungSoo Park. "Cedos: a network architecture and programming abstraction for delay-tolerant mobile apps." IEEE/ACM Transactions on Networking (TON) 25.2 (2017): 646-661.

  5. Muhammad Asim Jamshed, YoungGyoun Moon, Donghwi Kim, Dongsu Han, and KyoungSoo Park. “mOS: A Reusable Networking Stack for Flow Monitoring Middleboxes”. In Proceedings of the 14th USENIX Symposium on Networked Systems Design and Implementation (NSDI 2017), Boston, MA, USA, March 2017. [Best Paper Award]

  6. YoungGyoun Moon, Donghwi Kim, Younghwan Go, Yeongjin Kim, Yung Yi, Song Chong, and KyoungSoo Park. “Practicalizing Delay-Tolerant Mobile Apps with Cedos”. In Proceedings of the 13th ACM International Conference on Mobile Systems, Applications and Services (MobiSys 2015), Florence, Italy, May 2015.


  1. NAVER Ph.D. Fellowship, Dec. 2019

  2. The Best TA Award, School of Computing, KAIST, Feb 2019

  3. Qualcomm-KAIST Innovation Award - Paper Competition Award ($5000), Aug 2018

  4. NMSL Labmate of the year 2017

  5. The Best TA Award, School of Computing, KAIST, Aug 2017

  6. The Best Paper Award, USENIX NSDI 2017, "mOS: A Reusable Networking Stack for Flow Monitoring Middleboxes"

Research Projects

What can we do on an app crash? (ongoing)

No matter how hard app developers debug and test, no app can be guaranteed to be crash-free. On a crash, a user's ongoing task is disrupted and the user has to repeat the task. But who knows? The crash can happen again. We believe users deserve more than a frustrating 'app crashed' pop up that doesn't solve any problem. We are researching a better way to handle an app crash.

X-Droid: Ease the functional prototyping of Android apps

X-Droid is a framework that provides Android app developers an ability to quickly and easily produce functional prototypes. This work is motivated by the need for such ability and the lack of tools that provide it. Developers want to produce a functional prototype rapidly to test out potential features in real-life situations. However, current prototyping tools for mobile apps are limited to creating non-functional UI mockups that do not demonstrate actual features. With X-Droid, developers can create a new app that imports various kinds of functionality provided by other existing Android apps. [Website] [Paper] [Video (2 mins)] [Video (30 secs)] [Source]

mOS: Making middlebox networking stack reusable

Stateful middleboxes, such as intrusion detection systems and application-level firewalls, have provided key functionalities in operating modern IP networks. However, designing an efficient middlebox is challenging due to the lack of networking stack abstraction for TCP flow processing. Thus, middlebox developers often write the complex flow management logic from scratch, which is not only prone to errors but also wastes efforts for similar functionalities across applications. In this work, we design and implementation of mOS, a reusable networking stack for stateful flow processing in middlebox applications. [Paper] [Source]

Cedos: Offloading cellular data in the urban mobile network

Delay-tolerant Wi-Fi offloading is known to improve overall mobile network bandwidth at low delay and low cost. Yet, in reality, we rarely find mobile apps that fully support opportunistic Wi-Fi access. This is mainly because it is still challenging to develop delay-tolerant mobile apps due to the complexity of handling network disruptions and delays. In this work, we present Cedos, a practical delay-tolerant mobile network access architecture in which one can easily build a mobile app. [Paper] [Source]

Project For Fun

Street curator: Searching graffiti from Google street-views

Did you know that graffitis are not just scribbles and now perceived as a genre of modern art? Valparaiso, a small city in Chile even became UNESCO world heritage for its valuable graffitis. Graffitis have many fans who want to see and enjoy them; however, graffitis are hard to locate unlike other visual artworks as they are spread over cities. In this work, I present a graffiti search service that finds a geographic location for a graffiti image query by searching the image over the street-view of Valparaiso. It takes only 4.3 secs to search a graffiti over 4K+ streetview images through 3.4B+ vector comparison with a single machine. This work is presented as a term project for "Introduction to Big Data Analytics" course in KAIST in spring, 2014. [Source]


Android internals: Migrated activity manager framework and UI framework of Android from OS-level to user-level for a research prototype.

Network programming in C: Built high-speed network event processing module and elastic TCP ring buffer for mOS project. Also have experience on performance optimization on multi-10Gbps network system.

Parallel computing: Accelerated image searching by 38x with x86_64 SIMD instructions and GPU offloading for street curator project.

SPARC assembly: Developed a Linux USB driver and audio codecs for a SPARC-compatible processor.