| 研究生: |
張桓融 Huan-Jung Chang |
|---|---|
| 論文名稱: |
強化 Venom Programming 的即時視覺處理 SDK |
| 指導教授: |
鄭永斌
Yung-Pin Cheng |
| 口試委員: | |
| 學位類別: |
碩士 Master |
| 系所名稱: |
資訊電機學院 - 資訊工程學系 Department of Computer Science & Information Engineering |
| 論文出版年: | 2025 |
| 畢業學年度: | 113 |
| 語文別: | 中文 |
| 論文頁數: | 80 |
| 中文關鍵詞: | Venom Programming 、工作流 、軟體擴充 |
| 外文關鍵詞: | Venom Programming, workflow, software extension |
| 相關次數: | 點閱:82 下載:0 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
軟體擴充通常依賴於原始程式碼的存取權限或是預先設計的擴充框架。然而,在無任何官方擴充手段的情況下,本實驗室開發的 Venom Programming(舊稱 Parasite Programming)技術已經能夠透過 SDK 取得應用程式的 UI 資訊,並利用透明視窗達成軟體擴充的效果。然而,現代應用程式往往包含影片播放、圖片、以及其他動態的渲染機制,導致無法單純使用抓取UI的方式進行分析。為了充分發揮 Venom Programming 在這些複雜應用場景中的潛力,強化其動態內容處理能力變得至關重要。
本論文透過整合電腦視覺技術,大幅強化了 Venom Programming 的處理能力。在原有架構基礎上新增的跨語言電腦視覺後端,結合了 OpenCV 影像處理技術與 ONNX 模型推論能力,並採用工作流機制讓開發者能夠靈活組合各種視覺分析功能。透過這個創新架構,開發者能夠在不依賴額外工具的情況下,從目標應用程式中取得動態內容的資訊,並實時追蹤其變化狀態。這項技術突破顯著擴大了 Venom Programming 的應用範圍,使其能夠處理更加複雜的動態內容擴充需求。
Software extension usually relies on access to source code or pre-designed extension frameworks. However, our laboratory has developed Venom Programming (formerly Parasite Programming) technology without any official extension methods. This technology can obtain application UI information through SDK and achieve software extension using transparent window technology.
However, modern applications often contain video playback, images, and other dynamic rendering mechanisms. UI extraction methods alone cannot perform analysis on these contents. To make full use of Venom Programming in these complex application scenarios, we need to strengthen its dynamic content processing capabilities.
This thesis enhances Venom Programming's processing capabilities by integrating computer vision technologies. We added a cross-language computer vision backend to the original architecture. This backend combines OpenCV image processing technology with ONNX model inference capabilities. It uses a workflow mechanism. Developers can combine various visual analysis functions through this mechanism. Developers can obtain dynamic content information from target applications through this architecture. They can track changes in real-time without additional tools. This enhancement expands the application scope of Venom Programming. It enables the technology to handle more complex dynamic content extension requirements.
R. Kazman, S. Echeverría, and J. Ivers, "Extensibility," Carnegie Mellon University, Software Engineering Institute's Digital Library, 2022/04// 2022. [Online]. Available: https://doi.org/10.1184/R1/18863639
[2] M. Lamothe, Y.-G. Guéhéneuc, and W. Shang, "A Systematic Review of API Evolution Literature," ACM Comput. Surv., vol. 54, no. 8, p. Article 171, 2021, doi: 10.1145/3470133.
[3] A. Bisacchi, C. Caini, and S. Lanzoni, "Design and Implementation of a Bundle Protocol Unified API," in 2022 11th Advanced Satellite Multimedia Systems Conference and the 17th Signal Processing for Space Communications Workshop (ASMS/SPSC), 6–8 Sept. 2022 2022, pp. 1–6, doi: 10.1109/ASMS/SPSC55670.2022.9914734.
[4] M. Aly, A. Charfi, and M. Mezini, "Building extensions for applications: Towards the understanding of extension possibilities," in 2013 21st International Conference on Program Comprehension (ICPC), 20–21 May 2013 2013, pp. 182–191, doi: 10.1109/ICPC.2013.6613846.
[5] M. A. Sayed and N. Anjum, "Plug-In Architecture as Software Extension Mechanism: An Extensive Study of Eclipse Architecture."
[6] W. M. P. van der Aalst, M. Bichler, and A. Heinzl, "Robotic Process Automation," Business & Information Systems Engineering, vol. 60, no. 4, pp. 269–272, 2018/08/01 2018, doi: 10.1007/s12599-018-0542-4.
[7] "UiPath [Online]." https://www.uipath.com (accessed.
[8] R. Haverty, "New accessibility model for Microsoft Windows and cross platform development," SIGACCESS Access. Comput., no. 82, pp. 11–17, 2005, doi: 10.1145/1077238.1077240.
[9] T. Bi, X. Xia, D. Lo, J. Grundy, T. Zimmermann, and D. Ford, "Accessibility in Software Practice: A Practitioner’s Perspective," ACM Trans. Softw. Eng. Methodol., vol. 31, no. 4, p. Article 66, 2022, doi: 10.1145/3503508.
[10] 陳宏輔, "利用軟體UI實現擴充功能突破原始碼限制的工具," Master, 資訊工程學系, 國立中央大學, 2023.
[11] 劉蓉綺, "Windows桌面應用程式的擴增實境," Master, 資訊工程學系, 國立中央大學, 2022.
[12] 鄧翔允, "無原始碼的軟體擴充技術:Parasite Programming," Master, 資訊工程學系, 國立中央大學, 2024.
[13] 林欣蓓, "實現Parasite SDK中跨語言支持的後端解決方案," Master, 資訊工程學系, 國立中央大學, 2024.
[14] C. Yung-Pin, L. Ching-Wei, and C. Yi-Cheng, "Apply computer vision in GUI automation for industrial applications," Mathematical Biosciences and Engineering, vol. 16, no. 6, pp. 7526–7545, 2019, doi: 10.3934/mbe.2019378.
[15] C. Paduraru, M. Paduraru, and A. Stefanescu, "Automated game testing using computer vision methods," in 2021 36th IEEE/ACM International Conference on Automated Software Engineering Workshops (ASEW), 15–19 Nov. 2021 2021, pp. 65–72, doi: 10.1109/ASEW52652.2021.00024.
[16] "OpenCV: Introduction [Online]." https://docs.opencv.org/4.11.0/d1/dfb/intro.html (accessed.
[17] "ONNX [Online]." https://onnx.ai (accessed.
[18] "Known Issues and Best Practices for the Use of Long Polling and Streaming in Bidirectional HTTP [Online]." https://www.rfc-editor.org/rfc/rfc6202 (accessed.
[19] "The WebSocket Protocol [Online]." https://www.rfc-editor.org/rfc/rfc6455.html (accessed.
[20] "Grafana Alloy [Online]." https://grafana.com/docs/alloy/latest/ (accessed.