帳號:guest(3.145.99.78)          離開系統
字體大小: 字級放大   字級縮小   預設字形  

詳目顯示

以作者查詢圖書館館藏以作者查詢臺灣博碩士論文系統以作者查詢全國書目
作者(中文):蔡昕潔
作者(外文):Tsai, Shin Chieh
論文名稱(中文):由執行軌跡逆向解析平行程式之執行行為
論文名稱(外文):Reverse Engineering of Parallel Program Behavior from Execution Traces
指導教授(中文):金仲達
指導教授(外文):King, Chung Ta
口試委員(中文):劉靖家
劉廣治
呂仁碩
學位類別:碩士
校院名稱:國立清華大學
系所名稱:資訊工程學系
學號:102065508
出版年(民國):104
畢業學年度:103
語文別:英文
論文頁數:50
中文關鍵詞:逆向工程平行程式執行軌跡
外文關鍵詞:Reverse EngineeringParallel ProgramExecution Trace
相關次數:
  • 推薦推薦:0
  • 點閱點閱:102
  • 評分評分:*****
  • 下載下載:5
  • 收藏收藏:0
隨著科技日益精進的快速發展,處理器的個數及程式的計算複雜度也跟著提升,使得開發者及研究學者更難深入了解程式行為。對程式行為的深入瞭解有助於計算機結構設計、程式除錯和最佳化、通訊協議驗證和測試等相關領域之研究發展。程式行為涵蓋不同的面向,表達的方式形形色色,且往往視應用的需求而定,也因此偵測程式行為的方法也種類繁多。一種常用的方法是擷取程式執行軌跡來觀察其行為。程式執行軌跡包含程式行為的完整資訊,然而,困難點是如何自大量的軌跡資訊中推論出具有意義的結構和模式,並用具體的方式表述程式行為。若欲研究的對象為平行程式,則問題的困難度更高,因為平行程式的多執行緒會於執行期間產生非常複雜的交互作用,讓平行程式行為很難掌握並追蹤。
在本碩士論文中,我們提出了一個新的方法,利用執行軌跡來推導平行程式的行為,並以軌跡衍生之有限狀態機 (TD-FSM)來表示。TD-FSM 不僅能以一種非常簡潔的方式展示整個程式的執行行為,也能夠有效的壓縮執行軌跡以降低檔案儲存大小和傳送時間。壓縮後的TD-FSM可以利用一個還原重現的機制,再重現一與原執行軌跡非常相似的重現軌跡,可應用於效能分析和平行程式最佳化等後續研究。最後,根據我們的實驗結果顯示,TD-FSM 相對於原始軌跡資訊可以有效減少99%的儲存空間,且仍然保存程式行為特性。
With the advance of technology, the growing number of processors and increasing computational complexity of programs have raised the degree of difficulty in fully understanding the behavior of the whole program. Such an understanding is invaluable for research such as computer architecture design, program debugging and optimizations, protocol verification and testing, etc. A viable solution to the problem is to extract the program execution traces to observe the program behavior. The challenge is how to deduce meaningful structures and patterns from the massive trace information to represent program behavior in a concrete way. Parallel programs make this even more difficult because of the complex interactions between the multiple threads of executions. It is thus necessary to develop more efficient solutions capturing the complicated parallel program behaviors from the massive and seemingly unstructured execution traces.
This thesis presents a new approach to deducing the parallel program behavior by processing the program execution traces to derive a trace-derived finite state machine (TD-FSM). With TD-FSM, it is possible to show the program behavior in a very concise fashion. TD-FSM can also effectively compress the execution traces to reduce the trace size for ease of storage and transportation. If coupled with a replay method, it can further reproduce execution traces that are very similar to the original traces, for such applications as performance analysis and parallel program optimization. Our evaluations show that TD-FSM can reduce the trace size by 99%, achieving a compression rate compatible with popular compression algorithms and at the same time maintaining the program behavior.
1 Introduction 1
2 Related Work 5
2.1 NetworkProtocolReverseEngineering 5
2.2 SoftwareEngineering 6
2.3 Summary 7
3 Methodology 9
3.1 OverviewoftheFramework 9
3.2 TraceRecording 11
3.3 TD-FSMGenerating 12
3.3.1 TraceStructureExtraction 12
3.3.2 TD-FSMDerivation 15
3.4 TraceReplaying 16
3.5 ComputationalComplexity 18
3.5.1 Computational Complexity of Trace Structure Extraction Algorithm 19
3.5.2 Computational Complexity of TD-FSM Derivation Algorithm 20
4 Evaluation 22
4.1 ExperimentalSetup 22
4.2 ExperimentalResults 23
4.2.1 StorageSpaceOverhead 23
4.2.2 SimilarityComparison 27
5 Conclusion 37
[1] N. Walkinshaw, R. Taylor, and J. Derrick, “Inferring extended finite state machine models from software executions”, in Reverse Engineering (WCRE), 2013 20th Working Conference on, Oct 2013, pp. 301–310.
[2] D. Lorenzoli, L. Mariani, and M. Pezze, “Automatic generation of software behavioral models”, in Software Engineering, 2008. ICSE ’08. ACM/IEEE 30th International Conference on, May 2008, pp. 501–510.
[3] J. Antunes, N. Neves, and P. Verissimo, “Reverse engineering of protocols from network traces”, in Reverse Engineering (WCRE), 2011 18th Working Conference on, Oct 2011, pp. 169–178.
[4] Yipeng Wang, Zhibin Zhang, Danfeng Daphne Yao, Buyun Qu, and Li Guo, “Inferring protocol state machine from network traces: A probabilistic approach”, in Proceedings of the 9th International Conference on Applied Cryptography and Network Security, Berlin, Heidelberg, 2011, ACNS’11, pp. 1–18, Springer-Verlag.
[5] Zhao Zhang, Qiao-Yan Wen, and Wen Tang, “Mining protocol state machines by inter- active grammar inference”, in Digital Manufacturing and Automation (ICDMA), 2012 Third International Conference on, July 2012, pp. 524–527.
[6] Kai Koskimies and Erkki M ̈akinen, “Automatic synthesis of state machines from trace diagrams”, Softw. Pract. Exper., vol. 24, no. 7, pp. 643–658, July 1994.
[7] Jiaqi Tan, Xinghao Pan, Soila Kavulya, Rajeev Gandhi, and Priya Narasimhan, “Salsa: Analyzing logs as state machines”, in Proceedings of the First USENIX Conference on Analysis of System Logs, Berkeley, CA, USA, 2008, WASL’08, pp. 6–6, USENIX Association.
[8] Jonas Tru ̈mper, Johannes Bohnet, and Ju ̈rgen Do ̈llner, “Understanding complex mul- tithreaded software systems by using trace visualization”, in Proceedings of the ACM 2010 Symposium on Software Visualization, Salt Lake City, UT, USA, October 25-26, 2010, 2010, pp. 133–142.
[9] Felix Wolf, Felix Freitag, Bernd Mohr, Shirley Moore, and Brian J. N. Wylie, “Large event traces in parallel performance analysis”, in ARCS 2006 - 19th International Conference on Architecture of Computing Systems, Workshops Proceedings, March 16, 2006, Frankfurt am Main, Germany, 2006, pp. 264–273.
[10] Katherine E. Isaacs, Peer-Timo Bremer, Ilir Jusufi, Todd Gamblin, Abhinav Bhatele, Martin Schulz, and Bernd Hamann, “Combing the communication hairball: Visualizing parallel execution traces using logical time”, IEEE Trans. Vis. Comput. Graph., vol. 20, no. 12, pp. 2349–2358, 2014.
[11] Kevin J. Lang, Barak A. Pearlmutter, and Rodney A. Price, “Results of the abbadingo one dfa learning competition and a new evidence-driven state merging algorithm”, in Proceedings of the 4th International Colloquium on Grammatical Inference, London, UK, UK, 1998, ICGI ’98, pp. 1–12, Springer-Verlag.
[12] “Intel mpi benchmark”, http://software.intel.com/en-us/articles/ intel-mpi-benchmarks.
[13] “The parsec benchmark”, http://parsec.cs.princeton.edu/.
[14] Chi-Keung Luk, Robert Cohn, Robert Muth, Harish Patil, Artur Klauser, Geoff Lowney, Steven Wallace, Vijay Janapa Reddi, and Kim Hazelwood, “Pin: Building customized program analysis tools with dynamic instrumentation”, in Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, New York, NY, USA, 2005, PLDI ’05, pp. 190–200, ACM.
[15] “The spec cpu2000 benchmark”, http://www.spec.org/cpu2000/.
[16] Moses S. Charikar, “Similarity estimation techniques from rounding algorithms”, in Proceedings of the Thiry-fourth Annual ACM Symposium on Theory of Computing, New York, NY, USA, 2002, STOC ’02, pp. 380–388, ACM.
[17] “Gzip - gnu project - free software foundation”, http://www.gnu.org/software/ gzip/.
[18] “Bzip2”, http://bzip.org/.
[19] Craig G. Nevill-Manning and Ian H. Witten, “Identifying hierarchical structure in sequences: A linear-time algorithm”, CoRR, vol. cs.AI/9709102, 1997.
[20] Craig G. Nevill-Manning and Ian H. Witten, “Linear-time, incremental hierarchy infer- ence for compression”, in Proceedings of the 7th Data Compression Conference (DCC ’97), Snowbird, Utah, March 25-27, 1997., 1997, pp. 3–11.
[21] “Implementation of sequitur”, http://www.sequitur.info/.
 
 
 
 
第一頁 上一頁 下一頁 最後一頁 top
* *