學術出版;;Publications
Permanent URI for this communityhdl:11536/1
收集所有交通大學研究人員與學生個人或團體所發表之各項學術著作,涵蓋期刊論文、教師專書、學位論文等項。;;Collections of Publications of NCTU Researchers and Students Like Journal Papers and Thesis.
Browse
27 results
Search Results
Item type:Item, Finder: Automatic ICC Data Reconstruction for Long-Term Runtime Semantics(2018-01-01) ;Hsu, Chia-Wei ;Wei, Sheng-Ru ;Shieh, Shiuhpyng ;資訊工程學系Department of Computer ScienceIn Android, both system services and apps are composed of components, and the inter-component communication (ICC) is therefore vital for representing the system states of the past runtime. Conventional approaches focus on inspecting the program behaviors of apps in the laboratory environment, but not suitable for a long-time period, system-wide activities. Analysts consider that ICC preserves much runtime semantics, so we propose Finder, an automatic ICC data reconstruction system to provide a long-term and comprehensive view of the past runtime. We decouple the program analysis on ICC from runtime monitoring thereby decreasing the runtime overhead. Finder applies transpiling techniques to generate the data resolvers compatible with all off-the-shelf Android version. The generated data resolvers can reconstruct a high-level, system-wide runtime information, and therefore the result is useful for digital forensic, program analysis, and auditing.Item type:Item, Application Performance Profiling in Android Dalvik Virtual Machines(2016-05-01) ;Chang, Hung-Cheng ;Chang, Kuei-Chung ;Lin, Ying-Dar ;Lai, Yuan-Cheng資訊工程學系Most Android applications are written in JAVA and run on a Dalvik virtual machine. For smartphone vendors and users who wish to know the performance of an application on a particular smartphone but cannot obtain the source code, we propose a new technique, Dalvik Profiler for Applications (DPA), to profile an Android application on a Dalvik virtual machine without the support of source code. Within a Dalvik virtual machine, we determine the entry and exit locations of a method, log its execution time, and analyze the log to determine the performance of the application. Our experimental results show an error ratio of less than 5% from the baseline tool Traceview which instruments source code. The results also show some interesting behaviors of applications and smartphones: the performance of some smartphones with higher hardware specifications is 1.5 times less than the phones with lower specifications. DPA is now publicly available as an open source tool.Item type:Item, FUSION: A Unified Application Model for Virtual Mobile Infrastructure(2017-01-01) ;Wang, Chieh-Min ;Wu, Yu-Sung ;Chung, Hsing-Hsuan ;資訊工程學系Department of Computer ScienceWe proposed a unified application model for virtual mobile infrastructure called FUSION. FUSION bridges the gap between the remote VMI server and the client-side mobile device via supporting bi-directional IPC(inter-process communication) and loosely synchronized file system. FUSION classifies IPC events into two types: IPC events without accessing local resources and IPC events accessing local resource. For IPC events without accessing local resources, FUSION simply hooks the IPC events, forwards them to the remote peer and replays them in the remote environment. For complex IPC events involving with accessing files located in the local device, FUSION will analyze each individual IPC event and transmit the corresponding files to the remote peer with respect to each IPC event. Once the remote application completes its job and the user tries to disconnect with the remote peer, FUSION will synchronize those files back to the local side. The synchronization makes the file changes updated by the remote application visible to the local side. Base on our experimental results, FUSION incurs less than 1% overhead on the system. For simple IPC events without local resource access, FUSION can transmit those IPC events to the remote peer under various network conditions in less than 1200ms. For complex IPC events involving local resource access, FUSION can also serialize and transmit the files efficiently.Item type:Item, Lightweight, Integrated Data Deduplication for Write Stress Reduction of Mobile Flash Storage(2018-11-01) ;Yen, Miao-Chiang ;Chang, Shih-Yi ;Chang, Li-Pin ;資訊工程學系Department of Computer ScienceRecently, smartphone users are becoming reluctant to replace their devices, so providing reliable data storage throughout the increasingly long smartphone replacement cycle is an imminent challenge. We advocate an integrated approach to data deduplication, which involves the host I/O stack and the storage firmware, to reduce the write stress of mobile storage for lifespan extension. First, we identified that the SQLite library produces a large amount of copy-induced duplicate data, which can be fully revealed to the mobile storage through proper file format alignment. Second, inspired by the short flash read latency, we present a firmware-based method to efficiently identify duplicate data without any hardware support. Third, we enhance the flash garbage collector with the awareness of data deduplication. Based on a selection of popular mobile applications, our simulation results show that prior methods, which employ data compression or differential logging, are ineffective for encrypted mobile storage. Compared to flash management without deduplication, our lightweight, integrated approach reduced the total flash-block erase count by 48.7%, average write response time by 43.8%, and total energy consumption by 25.1% on average under the workloads of all the selected mobile applications.Item type:Item, Benchmarking handheld graphical user interface: Smoothness quality of experience(2018-05-01) ;Lin, Ying-Dar ;Chu, Edward T. -H. ;Wen, Chien-Ling ;Lai, Yuan-ChengChen, I-ChingWith the rapid growth of smartphones in the market, the smoothness of smartphones, how quickly and well smartphones react to a user's input, becomes a crucial factor consumers consider when making buying decisions. However, there is no benchmark for comparing the smoothness of one phone against another. In this paper, a handheld smoothness evaluation over regression (HSER) model was developed to make a fair evaluation. A video was first made and the several key indexes were extracted to represent behavior-based smoothness quality of services (BQoS). We built up a relationship between BQoS and behavior-based smoothness quality of experience (BQoE), and converted BQoE to handheld smoothness quality of experience. Our experiment results show that maximal frame interval and number of frame intervals are the two most critical indexes that indicate smoothness. The proposed HSER model is able to fairly evaluate the smoothness of smartphones because the error rate of the HSER model is less than 9% for a single behavior.Item type:Item, A Method-Based Ahead-of-Time Compiler for Android Applications(2011-01-01) ;Wang, Chih-Sheng ;Perez, Guillermo A. ;Chung, Yeh-Ching ;Hsu, Wei-ChungShih, Wei-KuanThe execution environment of Android system is based on a virtual machine called Dalvik virtual machine (DVM) in which the execution of an application program is in interpret-mode. To reduce the interpretation overhead of DVM, Google has included a trace-based just-in-time compiler (JITC) in the latest version of Android. Due to limited resources and the requirement for reasonable response time, the JITC is unable to apply deep optimizations to generate high quality code. In this paper, we propose a method-based ahead-of-time compiler (AOTC), called Icing, to speed up the execution of Android applications without the modification of any components of Android framework. The main idea of Icing is to convert the hot methods of an application program from DEX code to C code and uses the GCC compiler to translate the C code to the corresponding native code. With the Java Native Interface (JNI) library, the translated native code can be called by DVM. Both AOTC and JITC have their strength and weakness. In order to combine the strength and avoid the weakness of AOTC and JITC, in Icing, we have proposed a cost model to determine whether a method should be handled by AOTC or JITC during profiling. To evaluate the performance of Icing, four benchmarks used by Google JITC are used as test cases. The performance results show that, with Icing, the execution time of an application is two to three times faster than that without JITC, and 25% to 110% faster than that with JITC.Item type:Item, DROIT plus : Taint Tracking for Storage Access on Android(2017-09-01) ;Hsu, Chia-Wei ;Chang, Chia-Huei ;Wang, Chi-Wei ;Shieh, Shiuhpyng資訊工程學系The leakage of sensitive data has been a major concern in Android ecosystem. Analysts therefore propose dynamical taint tracking to effectively track the data flow of accessed data. However, the off-the-shelf taint tracking systems lack byte-granularity support for storage tracking. In this paper, we propose DROIT+ which uses the fine-grained storage tracking technique to track data flow among Android storages. DROIT+ is able to reveal the composition of data flows. Storage tracking on Android is difficult since data flows of apps may span heterogeneous media including memory, SD cards, NAND Flash, and network adapters. To capture a whole picture of data flows in storage, we formally define data flow and propose our method from both logical and physical perspectives. The method has also been implemented as an extension to the proposed tracking system, DROIT. Two case studies and two benchmark tools are used for the evaluation in terms of storage tracking ability, network tracking ability, and efficiency, respectively. The result shows that DROIT+ provides a better coverage using byte-granularity taint tracking.Item type:Item, Eager Synching: A Selective Logging Strategy for Fast fsync() on Flash-Based Android Devices(2017-04-01) ;Chang, Li-Pin ;Sung, Po-Han ;Chen, Po-Tsang ;Chen, Po-Hung資訊工程學系Flash storage has been a standard component in Android devices. Recent research has reported that application data management in Android involves frequent fsync() operations. The current fsync() implementations, including those of ext4 and F2FS, have several common drawbacks. Specifically, ext4 commits a transaction every time to sync a file, whereas F2FS commits a checkpoint to sync a directory. Committing a transaction or checkpoint flushes all dirty data from the page cache to the flash storage via many small, random block write requests. The resultant high I/O frequency and excessive write traffic cause a high fsync() latency. This study presents an efficient fsync() method, called eager synching, which is based on a simple idea: write less, and write sequentially. To sync a file, eager synching writes only a subset of all dirty data in the page cache to a sequential log space using a few sequential block write requests. It does not involve transaction or checkpoint committing. We successfully implemented eager synching in ext4 and F2FS, and our experimental results show that, compared with the original fsync() methods of ext4 and F2FS, eager synching reduced the average and maximum fsync() latencies by up to 72% and 91%, respectively, block-level write traffic by up to 35%, and I/O frequency by up to 66%. Through enhanced crash recovery procedures, eager synching can successfully recover all previously synched files while still guaranteeing the file system integrity. We also conducted live application replays using the proposed eager synching approach and observed that this approach significantly improved the application frame updating rate and application execution time.Item type:Item, Security Semantics Modeling with Progressive Distillation(2017-11-01) ;Shen, Zong-Xian ;Hsu, Chia-Wei ;Shieh, Shiuhpyng Winston ;資訊工程學系Department of Computer ScienceThe prevalence of Android platform has attracted adversaries to craft malicious payloads for illegal profit. Such malicious artifacts are frequently reused and embedded in benign, paid apps to lure victims that the apps have been cracked for free. To discover these fraudulent apps, administrators of app markets desire an automated scanning process to maintain the health of app ecosystem. However, conventional approaches cannot be efficiently applied due to the lack of a scalable, effective approach to malware characteristics aggregation. On the other hand, the vast number of apps significantly increases the analysis complexity. In this paper, we propose Petridish which generates discriminative models against the repacked malicious apps. These representative models of malicious semantics can be progressively distilled with malign and benign samples. These models can further detect repacked malicious apps. Our experiment shows that, after two retraining rounds, Petridish achieved an average of 28 percent progressive detection improvement from 63 to 91.2 percent for the large families, exceeding 38 test samples in size. With noise reduction, it accomplished 88 percent detection rate and 1.7 percent false alarm rate. The characteristics aggregation approach will become critical in the age of app explosion.Item type:Item, A static region-based compiler for the Dalvik virtual machine(2016-08) ;You, Yi-Ping ;Chen, Jian-Ru ;資訊工程學系Department of Computer ScienceThe Dalvik virtual machine (VM) is an integral component used to execute applications in Android, which is one of the leading operating systems for mobile devices. The Dalvik VM is an interpreter and is equipped with a trace-based just-in-time compiler for enhancing the execution performance of frequently executed paths, or traces. However, traces generated by the Dalvik VM can be stopped in a conditional branch or a method call/return, which means that these traces usually have a short lifetime, decreasing the effectiveness of the compiler optimizations applied to them. Furthermore, the just-in-time compiler applies only a few simple optimizations because of performance considerations. In this article we present a traces-to-region (T2R) framework that extends traces to regions and statically compiles these regions into native binaries so as to improve the execution of Android applications. The T2R framework involves three main stages: (i) the profiling stage, in which the run-time trace information of an application is extracted; (ii) the compilation stage, in which regions are constructed from the extracted traces and are statically compiled into a native binary; and (iii) the execution stage, in which the compiled binary is loaded into the code cache when the application starts to execute. Experiments performed on an Android tablet demonstrated that the T2R framework was effective in improving the execution performance of applications by 10.5-16.2% and decreasing the size of the code cache by 4.6-28.5%. Copyright (c) 2015 John Wiley & Sons, Ltd.