請用此 Handle URI 來引用此文件:
http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/55702
完整後設資料紀錄
DC 欄位 | 值 | 語言 |
---|---|---|
dc.contributor.advisor | 洪士灝(Shih-Hao Hung) | |
dc.contributor.author | Sheng-Lung Liu | en |
dc.contributor.author | 劉昇龍 | zh_TW |
dc.date.accessioned | 2021-06-16T04:18:20Z | - |
dc.date.available | 2016-08-25 | |
dc.date.copyright | 2014-08-25 | |
dc.date.issued | 2014 | |
dc.date.submitted | 2014-08-19 | |
dc.identifier.citation | [1] “Boot To Gecko.” [Online]. Available: https://wiki.mozilla.org/B2G
[2] “WebAPI.” [Online]. Available: https://wiki.mozilla.org/WebAPI [3] “Geeksphone.” [Online]. Available: http://www.geeksphone.com/ [4] “Ftrace.” [Online]. Available: http://elinux.org/Ftrace [5] “perf: Linux profiling with performance counters .” [Online]. Available: https://perf.wiki.kernel.org/index.php/Main_Page [6] S.-H. Hung, T.-W. Kuo, C.-S. Shih, and C.-H. Tu, “System-wide profiling and optimization with virtual machines,” in Design Automation Conference (ASP-DAC), 2012 17th Asia and South Pacific. IEEE, 2012, pp. 395–400. [7] W.-C. Hsu, S.-H. Hung, and C.-H. Tu, “A virtual timing device for program performance analysis,” in Computer and Information Technology (CIT), 2010 IEEE 10th International Conference on. IEEE, 2010, pp. 2255–2260. [8] T. Ball and S. K. Rajamani, “The S LAM project: debugging system software via static analysis,” in ACM SIGPLAN Notices, vol. 37, no. 1. ACM, 2002, pp. 1–3. [9] A. Feldthaus, M. Schafer, M. Sridharan, J. Dolby, and F. Tip, “Efficient construction of approximate call graphs for javascript ide services,” in Software Engineering (ICSE), 2013 35th International Conference on. IEEE, 2013, pp. 752–761. [10] N. Nethercote and J. Seward, “Valgrind: a framework for heavyweight dynamic binary instrumentation,” in ACM Sigplan Notices, vol. 42, no. 6. ACM, 2007, pp. 89–100. [11] S. L. Graham, P. B. Kessler, and M. K. Mckusick, “Gprof: A call graph execution profiler,” in ACM Sigplan Notices, vol. 17, no. 6. ACM, 1982, pp. 120–126. [12] M. A. Laurenzano, M. M. Tikir, L. Carrington, and A. Snavely, “PEBIL: Efficient static binary instrumentation for linux,” in Performance Analysis of Systems & Software (IS-PASS), 2010 IEEE International Symposium on. IEEE, 2010, pp. 175–183. [13] J.Keniston, “Ptrace, utrace, uprobes: Lightweight, dynamic tracing of user apps,” 2007. [Online]. Available: http://www.linuxinsight.com/ ols2007-ptrace-utrace-uprobes-lightweight-dynamic-tracing-of-user-apps.html [14] C.-K. Luk, R. Cohn, R. Muth, H. Patil, A. Klauser, G. Lowney, S. Wallace, V. J. Reddi, and K. Hazelwood, “Pin: building customized program analysis tools with dynamic instrumentation,” in Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, ser. PLDI ’05. New York, NY, USA: ACM, 2005, pp. 190–200. [Online]. Available: http://doi.acm.org/10.1145/1065010.1065034 [15] G. Corporation, “Android Open Source Project.” [Online]. Available: https: //source.android.com/ [16] F. Bellard, “QEMU, a fast and portable dynamic translator,” in Proceedings of the annual conference on USENIX Annual Technical Conference, ser. ATEC ’05. Berkeley, CA, USA: USENIX Association, 2005, pp. 41–41. [17] “Kcachegrind,” 2012. [Online]. Available: http://kcachegrind.sourceforge.net/html/Home.html [18] “SunSpider.” [Online]. Available: https://www.webkit.org/perf/sunspider/sunspider.html [19] “B2G Profiler.” [Online]. Available: https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Profiling_with_the_Built-in_Profiler [20] “Cleopatra-UI.” [Online]. Available: http://people.mozilla.org/~bgirard/cleopatra/ | |
dc.identifier.uri | http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/55702 | - |
dc.description.abstract | 在現今的手持裝置上,一個複雜的應用軟體效能,會受到多種不同的
因素影響,像是作業系統的狀態,手持裝置的週邊,或是應用軟體自己本 身的演算法。好的應用軟體分析工具可以幫助開發者了解應用軟體的行為,並加以改善。然而現有的效能分析工具想要一次性做到全系統的剖析是很不容易的,更別說要分析不同程式語言之間的行為像是JavaScript引擎和JavaScript程式這種有中介軟體的程式語言。 在本篇論文裡,我們描述了一個創新並且對系統影響很小的方法,可以 在虛擬平台上靜態的插入程式碼後以取得中介軟體之上動態的事件,來改善我們之前的研究VPA。經由這樣的方式整合不同程式語言之間的效能數據並分析。 我們選擇用Firefox OS來做個案研究,我們在基於QEMU的Firefox OS模 擬器上實現追蹤JavaScript程式的效能分析工具,並且用實驗來驗證該方法對系統影響是很小的,在理論上該方法具有很大的彈性,可以很容易放到不同的中介軟體上達到同樣的效果。 | zh_TW |
dc.description.abstract | On a modern mobile device, the performance of a complex application may depend on a combination of several factors including operating system events, I/O devices and the application itself. Profiling and program analysis tools can help developers observe the behavior of an application. However, doing a system-wide execution profile is difficult for traditional profiling tools as it requires an integrated
analysis of both kernel space and user space activities. The complexity of program analysis is even higher if application execution involves middleware like JavaScript engine or virtual machines. In this thesis, we describe an innovative static instrumentation and dynamic trigger method, called Smart Event Tracer(SET) Annotation, which is based on our previous work VPA. SET Annotation enables the users not only collect a complete trace of system activities and performance data but also collect the user-defined events with a little instrumentation overhead. User can insert SET Annotation into C/C++ program which is a popular programming language of developing middleware for JavaScript applications to get more profiling data. We integrate the SET Annotation framework into the Firefox OS emulator to collect JavaScript functions information for profiling web-applications. Comparing to the Firefox OS build-in profiler, our framework can monitor application behavior more realistically and provide more information. The experimental results show that the instrusiveness with SET Annotation is very light weight and much smaller than a general way. | en |
dc.description.provenance | Made available in DSpace on 2021-06-16T04:18:20Z (GMT). No. of bitstreams: 1 ntu-103-R01922117-1.pdf: 2650494 bytes, checksum: 80a4a88294d77025aca979fe33310b1b (MD5) Previous issue date: 2014 | en |
dc.description.tableofcontents | Acknowledgments ... i
中文摘要 ... ii Abstrace ... iii 1 Introduction ... 1 1.1 Motivation ... 1 1.2 Thesis Organization ... 2 2 Background and Related Works ... 3 2.1 Program Analysis ... 3 2.2 Firefox OS ... 4 2.2.1 Gaia ... 4 2.2.2 Gecko ... 5 2.2.3 Gonk ... 5 2.3 QEMU ... 5 2.4 VPA ... 5 2.4.1 SET ... 6 2.5 B2G profiler ... 6 3 Design and Implementation of SET with JavaScript Events ... 7 3.1 SET Annotation Framework ... 7 3.1.1 Basic SET Agent ... 9 3.1.2 SET Engine with Annotation List ... 10 3.2 Application Start Detection ... 12 3.3 Instrumentation in SpiderMonkey ... 13 3.3.1 JavaScript Function Event ... 14 3.3.2 Just-In-Time Compiler Event ... 14 3.4 Analysis Tools ... 14 4 Evaluation ... 16 4.1 Experimental Setup ... 16 4.1.1 SunSpider Benchmark ... 17 4.2 Experimental Results ... 18 4.2.1 Overhead of SET Annotation ... 18 4.3 Monitoring JavaScript Function ... 22 4.3.1 Case Study 1:Just in Time Compiler Experiment ... 22 4.3.2 Case Study 2:Profiling Crypto Program ... 24 4.3.3 Comparing to B2G Profiler ... 26 5 Conclusion and Future Work ... 28 Bibliography ... 29 | |
dc.language.iso | en | |
dc.title | 在虛擬化的Firefox OS平台之應用程式追蹤 | zh_TW |
dc.title | Application Tracing on Virtualized Firefox OS Platforms | en |
dc.type | Thesis | |
dc.date.schoolyear | 102-2 | |
dc.description.degree | 碩士 | |
dc.contributor.oralexamcommittee | 徐慰中(Wei-Chung Hsu),郭大維(Tei-Wei Kuo),梁文耀(William Liang),涂嘉恆(Chia-Heng Tu) | |
dc.subject.keyword | 效能分析,虛擬平台,火狐作業系統,應用程式追蹤, | zh_TW |
dc.subject.keyword | program analysis,tracing,profiling tools,virtual platform,Firefox OS, | en |
dc.relation.page | 31 | |
dc.rights.note | 有償授權 | |
dc.date.accepted | 2014-08-20 | |
dc.contributor.author-college | 電機資訊學院 | zh_TW |
dc.contributor.author-dept | 資訊工程學研究所 | zh_TW |
顯示於系所單位: | 資訊工程學系 |
文件中的檔案:
檔案 | 大小 | 格式 | |
---|---|---|---|
ntu-103-1.pdf 目前未授權公開取用 | 2.59 MB | Adobe PDF |
系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。