Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Kwanghoon Choi is active.

Publication


Featured researches published by Kwanghoon Choi.


Information Processing Letters | 2014

A type and effect system for activation flow of components in Android programs

Kwanghoon Choi; Byeong-Mo Chang

This paper proposes a type and effect system for analyzing activation flow between components through intents in Android programs. The activation flow information is necessary for all Android analyses such as a secure information flow analysis for Android programs. We first design a formal semantics for a core of featherweight Android/Java, which can address interaction between components through intents. Based on the formal semantics, we design a type and effect system for analyzing activation flow between components and demonstrate the soundness of the system.


international conference on consumer electronics | 2012

A secure application invocation mechanism in mobile phones for Near Field Communication

Kwanghoon Choi; Jaekwon Kim; Seog Park

This paper proposes an access control based, secure Near Field Communication in mobile phones. We make NFC tags hold codes of which the execution can make use of mobile services securely under user defined policies.


international conference on consumer electronics | 2012

Video streaming exploiting multiple-antenna techniques of wirelessMAN-advanced systems

Jeongsik Yun; Sanghyun Bak; Nulibyul Kim; Kwanghoon Choi; Jaekwon Kim

In this paper, a novel video streaming technique is proposed for the recently standardized IEEE802.16m system also known as the Wireless MAN-Advanced or WIMAX2 system. The antenna mode considered is single user spatially multiplexed (SUSM) transmission suitable for video streaming. In previous works, the linear signal detection method was used in order to achieve unequal error protection (UEP). In this paper, it is shown that a joint signal detection method can also be used to achieve UEP. Computer simulations demonstrate improved performance using the proposed method. In the simulations, H.264/AVC compressed video is used, and the PHY layer procedures such as resource unit allocation, convolutional turbo code (CTC), pilot tone insertion, and pre-coding are implemented in strict accordance with the IEEE 802.16m standard.


international symposium on functional and logic programming | 2001

Compiling Lazy Functional Programs Based on the Spineless Tagless G-Machine for the Java Virtual Machine

Kwanghoon Choi; Hyun-il Lim; Taisook Han

A systematic method of compiling lazy functional programs based on the Spineless Tagless G-machine (STGM) is presented for the Java Virtual Machine (JVM). A new specification of the STGM, which consists of a compiler and a reduction machine, is presented; the compiler translates a program in the STG language, which is the source language for the STGM, into a program in an intermediate language called L-code, and our reduction machine reduces the L-code program into an answer. With our representation for the reduction machine by the Java language, an L-code program is translated into a Java program simulating the reduction machine. The translated Java programs also run at a reasonable execution speed. Our experiment shows that execution times of translated benchmarks are competitive compared with those in a traditional Haskell interpreter, Hugs, particularly when Glasgow Haskell compilers STG-level optimizations are applied.


Information & Software Technology | 2016

A review on exception analysis

Byeong-Mo Chang; Kwanghoon Choi

Context: Exception handling has become popular in most major programming languages, including Ada, C++, Java, and ML. Since exception handling was introduced in programming languages, there have been various kinds of exception analyses, which analyze exceptional behavior of programs statically or dynamically. Exception analyses have also been applied to various software engineering tasks such as testing, slicing, verification and visualization.Objective: This paper aims at providing a comprehensive view of studies on exception analysis. We conducted a review on exception analysis to identify and classify the studies.Method: We referred to the literature review method, and selected a comprehensive set of 87 papers on exception analysis from 515 papers published in journals and conference proceedings. The categorization and classification were done according to the research questions regarding to when they analyze, what they analyze, how to analyze, and applications of exception analysis.Results: We first identify three categories of static exception analysis and two categories of dynamic exception analysis together with the main applications of the exception analyses. We also discuss the main concepts, research methods used and major contributions of the studies on exception analysis.Conclusion: We have provided the comprehensive review of exception analysis. To the best of our knowledge, this is the first comprehensive review on exception analysis. As a further work, it would be interesting to see how the existing exception analysis techniques reviewed in this paper can be applied to other programming languages with exception handling mechanism, such as C#, Scala, and Eiffel, which have been rarely explored.


Information Processing Letters | 2003

A type system for the push-enter model

Kwanghoon Choi; Taisook Han

The push-enter model is an important class of compilation methods for higherorder functions, as has been demonstrated by the ZINC machine (which is used in the OCaml compiler) [4, § 2.2] and the STG machine (which is used in the Glasgow Haskell compiler) [6, § 3.2]. The compilation methods dynamically arrange arguments passed among functions, which are called with an arbitrary number of arguments according to the feature of higher-order functions. The eval-apply model is the other class of compilation methods that statically arranges those arguments.


Computer Languages, Systems & Structures | 2015

A lightweight approach to component-level exception mechanism for robust android apps

Kwanghoon Choi; Byeong-Mo Chang

Recent researches have reported that Android programs are vulnerable to unexpected exceptions. One reason is that the current design of Android platform solely depends on Java exception mechanism, which is unaware of the component-based structure of Android programs. This paper proposes a component-level exception mechanism for programmers to build robust Android programs with. With the mechanism, they can define an intra-component handler for each component to recover from exceptions, and they can propagate uncaught exceptions to caller component along the reverse of component activation flow. Theoretically, we have formalized an Android semantics with exceptions to prove the robustness property of the mechanism. In practice, we have implemented the mechanism with a domain-specific library that extends existing Android components. This lightweight approach does not demand the change of the Android platform. In our experiment with Android benchmark programs, the library is found to catch a number of runtime exceptions that would otherwise get the programs terminated abnormally. We also measure the overhead of using the library to show that it is very small. Our proposal is a new mechanism for defending Android programs from unexpected exceptions. HighlightsWe design a component-level exception mechanism for Android program to improve its robustness.We design a formal semantics for Android-Java with exceptions to prove the robustness theoretically.Our experiment with nine Android source benchmarks shows that six programs become more robust with the mechanism.Our approach is lightweight, not demanding any change of Android platform for use of the mechanism.Our proposal is a new mechanism for defending Android programs from unexpected exceptions.


asian symposium on programming languages and systems | 2004

A Type Theory for Krivine-Style Evaluation and Compilation

Kwanghoon Choi; Atsushi Ohori

This paper develops a type theory for Krivine-style evaluation and compilation. We first define a static type system for lambda terms where lambda abstraction is interpreted as a code to pop the “spine stack” and to continue execution. Higher-order feature is obtained by introducing a typing rule to convert a code to a closure. This is in contrast with the conventional type theory for the lambda calculus, where lambda abstraction always creates higher-order function. We then define a type system for Krivine-style low-level machine, and develops type-directed compilation from the term calculus to the Krivine-style machine. We establish that the compilation preserves both static and dynamic semantics. This type theoretical framework provides a proper basis to analyze various properties of compilation. To demonstrate the strength of our framework, we perform the above development for two versions of low-level machines, one of which statically determines the spine stack, and the other of which dynamically determines the spine stack using a runtime mark, and analyze their relative merit.


Journal of KIISE | 2016

A Runtime Inspection Technique with Intent Specification for Developing Robust Android Apps

Myungpil Ko; Kwanghoon Choi; Byeong-Mo Chang

Android apps suffer from intent vulnerabilities in that they abnormally stop execution when Android components such as, activity, service, and broadcast receiver, take malformed intents. This paper proposes a method to prevent intent vulnerabilities by allowing programmers to write a specification on intents that a component expects to have, and by checking intents against the specification in runtime. By declaring intent specifications, we can solve the problem that one may miss writing conditional statements, which check the validity of intents, or one may mix those statements with another regular code, so making it difficult to maintain them. We perform an experiment by applying the proposed method to 7 Android apps, and confirm that many of abnormal termination of the apps because of malformed intents can be avoided by the intent specification based runtime assertion.


computer software and applications conference | 2018

Smart Block: A Visual Programming Environment for SmartThings

Nayeon Bak; Byeong-Mo Chang; Kwanghoon Choi

Collaboration


Dive into the Kwanghoon Choi's collaboration.

Top Co-Authors

Avatar

Byeong-Mo Chang

Sookmyung Women's University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge