Skip navigation

DSpace

機構典藏 DSpace 系統致力於保存各式數位資料(如:文字、圖片、PDF)並使其易於取用。

點此認識 DSpace
DSpace logo
English
中文
  • 瀏覽論文
    • 校院系所
    • 出版年
    • 作者
    • 標題
    • 關鍵字
    • 指導教授
  • 搜尋 TDR
  • 授權 Q&A
    • 我的頁面
    • 接受 E-mail 通知
    • 編輯個人資料
  1. NTU Theses and Dissertations Repository
  2. 電機資訊學院
  3. 資訊工程學系
請用此 Handle URI 來引用此文件: http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/91487
完整後設資料紀錄
DC 欄位值語言
dc.contributor.advisor李允中zh_TW
dc.contributor.advisorJonathan Leeen
dc.contributor.author林辰臻zh_TW
dc.contributor.authorChen-Chen Linen
dc.date.accessioned2024-01-28T16:13:14Z-
dc.date.available2024-01-29-
dc.date.copyright2024-01-27-
dc.date.issued2023-
dc.date.submitted2023-08-08-
dc.identifier.citationApache drill. https://drill.apache.org/.
Clusterfuzz. https://google.github.io/clusterfuzz/.
Datastore. https://cloud.google.com/datastore.
Docker. https://www.docker.com/.
Google cloud storage. https://cloud.google.com/storage.
H.-H. Ho. Test service components with clusterfuzz. Master’s thesis, National Taiwan University, 2022.
H.-Y. Huang. Atomic service generation from java-based open source software. Mas ter’s thesis, National Taiwan University, 2019.
V. Manes, H. Han, C. Han, s. cha, M. Egele, E. Schwartz, and M. Woo. The art, science, and engineering of fuzzing: A survey. IEEE Transactions on Software Engi neering, PP:1–1, 10 2019.
Mongodb. https://www.mongodb.com/.
Pandas. https://pandas.pydata.org/.
Redis. https://redis.io/.
unittest. https://docs.python.org/zh-tw/3/library/unittest.html.
-
dc.identifier.urihttp://tdr.lib.ntu.edu.tw/jspui/handle/123456789/91487-
dc.description.abstract在軟體開發的過程中,我們常常需要使用開源軟體來協助開發工作。然而,部分開源軟體雖然可以在本地端執行,卻與特定的雲端服務有相依性,這使得我們無法正常使用該軟體,或只能使用部分功能。因此,我們希望能找到一套逆向工程的流程和方法,解除開源軟體與雲端服務之間的相依性問題,同時找到替代方案以實現本地化。
本研究以Google開發的ClusterFuzz為案例,探討其與雲端服務之間的相依性。我們將解除相依性並尋找替代方案,接著進行驗證,最後使用Docker將ClusterFuzz部署到我們的伺服器上。
透過這套系統化的流程,我們成功地實現了ClusterFuzz的本地化,使其能夠在本地環境下完整且獨立地運行。
zh_TW
dc.description.abstractIn the software development process, the utilization of open-source software is often crucial for facilitating the development workflow. However, certain open source software, despite being capable of local execution, may have dependencies on specific cloud services. Consequently, this hinders the proper utilization of the software or limits access to its functionalities. Therefore, it becomes imperative to establish a systematic reverse engineering process and methodology to decouple the dependencies to cloud services, while simultaneously seeking alternative solutions to achieve localization.
This research focuses on ClusterFuzz, a software developed by Google, as a case study to identify its dependencies to cloud services. Our objective is to decouple these dependencies and find suitable alternatives to replace them. Subsequently, we proceed with validation and deploy ClusterFuzz on our server using Docker.
Through this systematic process, we successfully achieve the localization of Clus terFuzz, enabling its complete and independent operation in a local environment.
en
dc.description.provenanceSubmitted by admin ntu (admin@lib.ntu.edu.tw) on 2024-01-28T16:13:14Z
No. of bitstreams: 0
en
dc.description.provenanceMade available in DSpace on 2024-01-28T16:13:14Z (GMT). No. of bitstreams: 0en
dc.description.tableofcontents口試委員審定書 i
誌謝 ii
摘要 iii
Abstracts iv
List of Figures viii
List of Tables x
Chapter 1 Introduction 1
Chapter 2 Related Work 3
2.1 ClusterFuzz 3
2.2 Fuzz Testing 4
2.3 Docker 5
Chapter 3 The process of implementing ClusterFuzz localization 6
Chapter 4 Identify the dependencies 8
4.1 System Architecture 9
4.2 Databases 11
4.2.1 Data generated by BOT 12
4.2.2 Data stored in BigQuery 13
4.2.3 Data queried from BigQuery . . . . . . . . . . . . . . . . . . . 13
4.3 Services 14
4.4 Cron job 15
4.5 Corpus Generation and Reuse 17
4.6 Relatd files 17
Chapter 5 Decouple the dependencies 22
5.1 Class Diagram 22
5.2 Files with dependencies to cloud services 24
Chapter 6 Replace the cloud service 26
6.1 Replacement of BigQuery Database 26
6.1.1 Operations with alternatives 28
6.1.2 Operations without alternatives 28
6.1.3 Database schema adjustment 30
6.2 Replacement of BigQuery services 31
6.2.1 ClusterFuzz process modification 32
6.2.2 Comparison before and after replacement 34
Chapter 7 Validation 37
7.1 Unit test 38
7.1.1 Testcases with error 38
7.1.2 Testcases with failure 38
7.1.3 New testcases 39
7.1.4 Testing result after adjustment 40
7.2 Acceptance test 40
7.2.1 Crash statistic report 41
7.2.2 Fuzzer statistic report 42
7.3 System test 42
Chapter 8 Deployment 46
8.1 Deployment Environment 46
8.2 Runing on Docker 47
Chapter 9 Conclusion 49
9.1 Summary 49
9.2 Future work 49
Bibliography 51
-
dc.language.isoen-
dc.subject雲端服務相依性zh_TW
dc.subject逆向工程zh_TW
dc.subject模糊測試zh_TW
dc.subjectClusterFuzzzh_TW
dc.subject開源軟體zh_TW
dc.subjectOpen-Source Softwareen
dc.subjectClusterFuzzen
dc.subjectFuzz Testingen
dc.subjectCloud Service Dependencyen
dc.subjectReverse Engineeringen
dc.title透過逆向工程解耦開源軟體中的雲端服務相依性:以 ClusterFuzz 為例zh_TW
dc.titleDecoupling Dependencies to the Cloud Services in Open-Source Software through Reverse Engineering: A Case Study of ClusterFuzzen
dc.typeThesis-
dc.date.schoolyear111-2-
dc.description.degree碩士-
dc.contributor.oralexamcommittee郭忠義;劉建宏;薛念林;李信杰zh_TW
dc.contributor.oralexamcommitteeJong-Yih Kuo;Chien-Hung Liu;Nien-Lin Hsueh;Shin-Jie Leeen
dc.subject.keyword逆向工程,雲端服務相依性,開源軟體,ClusterFuzz,模糊測試,zh_TW
dc.subject.keywordReverse Engineering,Cloud Service Dependency,Open-Source Software,ClusterFuzz,Fuzz Testing,en
dc.relation.page51-
dc.identifier.doi10.6342/NTU202302787-
dc.rights.note未授權-
dc.date.accepted2023-08-10-
dc.contributor.author-college電機資訊學院-
dc.contributor.author-dept資訊工程學系-
顯示於系所單位:資訊工程學系

文件中的檔案:
檔案 大小格式 
ntu-111-2.pdf
  未授權公開取用
4.4 MBAdobe PDF
顯示文件簡單紀錄


系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。

社群連結
聯絡資訊
10617臺北市大安區羅斯福路四段1號
No.1 Sec.4, Roosevelt Rd., Taipei, Taiwan, R.O.C. 106
Tel: (02)33662353
Email: ntuetds@ntu.edu.tw
意見箱
相關連結
館藏目錄
國內圖書館整合查詢 MetaCat
臺大學術典藏 NTU Scholars
臺大圖書館數位典藏館
本站聲明
© NTU Library All Rights Reserved