請用此 Handle URI 來引用此文件:
http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/91487完整後設資料紀錄
| DC 欄位 | 值 | 語言 |
|---|---|---|
| dc.contributor.advisor | 李允中 | zh_TW |
| dc.contributor.advisor | Jonathan Lee | en |
| dc.contributor.author | 林辰臻 | zh_TW |
| dc.contributor.author | Chen-Chen Lin | en |
| dc.date.accessioned | 2024-01-28T16:13:14Z | - |
| dc.date.available | 2024-01-29 | - |
| dc.date.copyright | 2024-01-27 | - |
| dc.date.issued | 2023 | - |
| dc.date.submitted | 2023-08-08 | - |
| dc.identifier.citation | Apache 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.uri | http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/91487 | - |
| dc.description.abstract | 在軟體開發的過程中,我們常常需要使用開源軟體來協助開發工作。然而,部分開源軟體雖然可以在本地端執行,卻與特定的雲端服務有相依性,這使得我們無法正常使用該軟體,或只能使用部分功能。因此,我們希望能找到一套逆向工程的流程和方法,解除開源軟體與雲端服務之間的相依性問題,同時找到替代方案以實現本地化。
本研究以Google開發的ClusterFuzz為案例,探討其與雲端服務之間的相依性。我們將解除相依性並尋找替代方案,接著進行驗證,最後使用Docker將ClusterFuzz部署到我們的伺服器上。 透過這套系統化的流程,我們成功地實現了ClusterFuzz的本地化,使其能夠在本地環境下完整且獨立地運行。 | zh_TW |
| dc.description.abstract | In 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.provenance | Submitted by admin ntu (admin@lib.ntu.edu.tw) on 2024-01-28T16:13:14Z No. of bitstreams: 0 | en |
| dc.description.provenance | Made available in DSpace on 2024-01-28T16:13:14Z (GMT). No. of bitstreams: 0 | en |
| 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.iso | en | - |
| dc.subject | 雲端服務相依性 | zh_TW |
| dc.subject | 逆向工程 | zh_TW |
| dc.subject | 模糊測試 | zh_TW |
| dc.subject | ClusterFuzz | zh_TW |
| dc.subject | 開源軟體 | zh_TW |
| dc.subject | Open-Source Software | en |
| dc.subject | ClusterFuzz | en |
| dc.subject | Fuzz Testing | en |
| dc.subject | Cloud Service Dependency | en |
| dc.subject | Reverse Engineering | en |
| dc.title | 透過逆向工程解耦開源軟體中的雲端服務相依性:以 ClusterFuzz 為例 | zh_TW |
| dc.title | Decoupling Dependencies to the Cloud Services in Open-Source Software through Reverse Engineering: A Case Study of ClusterFuzz | en |
| dc.type | Thesis | - |
| dc.date.schoolyear | 111-2 | - |
| dc.description.degree | 碩士 | - |
| dc.contributor.oralexamcommittee | 郭忠義;劉建宏;薛念林;李信杰 | zh_TW |
| dc.contributor.oralexamcommittee | Jong-Yih Kuo;Chien-Hung Liu;Nien-Lin Hsueh;Shin-Jie Lee | en |
| dc.subject.keyword | 逆向工程,雲端服務相依性,開源軟體,ClusterFuzz,模糊測試, | zh_TW |
| dc.subject.keyword | Reverse Engineering,Cloud Service Dependency,Open-Source Software,ClusterFuzz,Fuzz Testing, | en |
| dc.relation.page | 51 | - |
| dc.identifier.doi | 10.6342/NTU202302787 | - |
| dc.rights.note | 未授權 | - |
| dc.date.accepted | 2023-08-10 | - |
| dc.contributor.author-college | 電機資訊學院 | - |
| dc.contributor.author-dept | 資訊工程學系 | - |
| 顯示於系所單位: | 資訊工程學系 | |
文件中的檔案:
| 檔案 | 大小 | 格式 | |
|---|---|---|---|
| ntu-111-2.pdf 未授權公開取用 | 4.4 MB | Adobe PDF |
系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。
