(3.238.173.209) 您好!臺灣時間:2021/05/16 20:33
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果

詳目顯示:::

: 
twitterline
研究生:張嘉賢
研究生(外文):Jia-Sian Jhang
論文名稱:資訊系統侵權鑑定研究
論文名稱(外文):The study of information systems infringement analysis and identification
指導教授:郭忠義郭忠義引用關係
指導教授(外文):Jong-Yih Kuo
口試委員:劉建宏薛念林李允中
口試委員(外文):Chien-Hung LiuNien-Lin HsuehJonathan Lee
學位類別:碩士
校院名稱:國立臺北科技大學
系所名稱:資訊工程系研究所
學門:工程學門
學類:電資工程學類
論文種類:學術論文
畢業學年度:104
中文關鍵詞:程式相似度抄襲偵測程式抄襲程式剽竊物件導向專案
外文關鍵詞:Code similarityPlagiarism DetectCode PlagiarismOOP project
相關次數:
  • 被引用被引用:0
  • 點閱點閱:66
  • 評分評分:
  • 下載下載:2
  • 收藏至我的研究室書目清單書目收藏:0
本文研究透過程式自動化的方式來比對程式碼是否有抄襲或剽竊之嫌疑,使用者將兩個專案匯入至系統中,系統會將兩個程式專案中非程式碼部分過濾並把程式碼部分擷取出來,將無意義或是多餘程式碼過濾,並且使用者可以選擇專案中要比對的程式碼群組,系統會將此群組程式碼有使用到並擴散出去的程式碼一併納入進來,並將程式碼的註解、物件結構與演算法結構擷取出來,然後透過有效如winnowing、Cosine Distance與Graph結構比對...等的演算法來對各部分進行比對,最後將各部份的比對結果相似度與最後比對的結果相似度報表一併呈現給使用者,最後由相關單位認定兩方的專案是否有抄襲或是剽竊的。
This paper presents an application for detecting whether the source code is suspected of plagiarism or not. The user imports two projects into the system, and then it will filter out particular file and useless code. Moreover, user can customize the compare group. The application will compare the other code which is used by compare group code. Next, it extracts comments, class and algorithm structure from the source code. In this paper, we propose a solution to compare code by using winnowing, Cosine Distance, Graph and etc. When the system finishes execution, it will generate a similarity report to the user. According to the report, the legal professional will adjudge defendant guilty or not.
摘 要 i
ABSTRACT ii
致 謝 iii
目 錄 iv
表目錄 vii
圖目錄 viii
第一章 緒論 1
1.1 前言 1
1.2 研究動機與目的 2
1.3 研究貢獻 3
1.4 章節編排 4
第二章 文獻探討 5
2.1 JPlag 5
2.2 Sid系統 5
2.3 CPD系統 6
2.4 Software Plagiarism Detection with Birthmarks 6
2.5 Software Plagiarism Detection with Birthmarks Based on Dynamic Key Instruction Sequences 7
2.6 相關背景知識 7
2.6.1 常見防範被檢測抄襲方法 7
2.6.2 Def-Use 8
2.6.3 程式切片技術(Program slicing) 9
2.6.4 程式碼相依關係圖Program Dependence Graph 10
2.6.5 Euclidean Distance與Cosine Distance: 11
2.6.6 Pointwise mutual information 13
2.6.7 winnowing演算法 13
第三章 鑑定方法設計 16
3.1 程式編譯並執行檢測 16
3.2 專案過濾與程式碼結構擷取 16
3.3 設定檔案比較群組 17
3.4 物件結構與資料比對 17
3.5 結果報表呈現給使用者 17
3.6 系統架構元件說明 18
第四章 實作方法 20
4.1 程式語言Parser實作 20
4.2 物件比對實作 20
4.2.1 物件成員變數比對 20
4.2.2 物件成員函數比對 23
4.2.3 物件總相似度 29
4.2.4 註解比對 29
4.2.5 比對結果報表 30
4.3 實驗與結果 32
4.3.1 小型專案測試 34
4.3.2 中小型專案測試 41
4.3.3 中大型專案測試 49
4.3.4 高階抄襲專案測試 54
第五章 結論與未來展望 58
5.1 結論 58
5.2 未來展望 58
參考文獻 59
[1] 美國聯邦第二巡迴法院928F. 2d, 693, 694號,Computer Associates International, Inc. vs. Altai, Inc.案,1992。
[2] [Online]. Available: http://www.jplag.de/, 2016.
[3] Andrei Zary Broder, "On the resemblance and containment of documents" Proceedings of Compression and Complexity of Sequences, pp. 21-29, 1997.
[4] Jong Yih Kuo and W. T. Wang. "The design and implement of C/C++ Plagiarism Detection System" Joint Conference on Object-Oriented Technology and Applications and Software Engineering. JhongLi, Taiwan, 2010.
[5] Jong Yih Kuo and Hong Zhan Yang "The Design and Implement of Plagiarism Detection System for Object-oriented Programming Language" Taiwan Conference on Software Engineering, Taipei, Taiwan, 2012.
[6] Ken-ichi Matsumoto, "Dynamic software birthmarks to detect the theft of windows applications," Proceedings of International Symposium on Future Software Technology, pp. 1-6, 2004.
[7] Christian Collberg and Clark Thomborson, “Software Watermarking: Models and Dynamic Embeddings,” Proceedings of the 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 311–324, 1999.
[8] Jasvir Nagra, Clark Thomborson, and Christian Collberg, “A functional taxonomy for software watermarking,” Proceedings of the 25th Australasian conference on Computer science, vol. 4, pp. 177-189, 2002.
[9] Haruaki Tamada, Keiji Okamoto, Masahide Nakamura, Akito Monden, and Ken-ichi Matsumoto, "Design and evaluation of dynamic software birthmarks based on api calls," Nara Institute of Science and Technology, Technical Report, 2007.
[10] Yoon-Chan Jhi, Xiaoqi Jia, Xinran Wang, Sencun Zhu, Peng Liu and Dinghao Wu “Program Characterization Using Runtime Values and Its Application to Software Plagiarism Detection,” Proceedings of IEEE Transactions on Software Engineering, vol. 41, pp. 925-943, 2015.
[11] JongCheon Choi, YongMan Han, Seong-je Cho, HaeYoungYoo, Jinwoon Woo, “A Static Birthmark for MS Windows Applications Using Import Address Table” Proceedings of 7th International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing, pp. 129-134, 2013.
[12] Kaige Liu, Tao Zheng and Linxi Wei, “A Software Birthmark Based on System Call and Program Data Dependence,” Proceedings of 11th Web Information System and Application Conference (WISA), pp. 105-110, 2014.
[13] Zhenzhou Tian, Qinghua Zheng, Ting Liu, Ming Fan, Eryue Zhuang, Zijiang Yang, Senior Member, "Software Plagiarism Detection with Birthmarks Based on Dynamic Key Instruction Sequences," IEEE Transactions on Software Engineering, vol. 41, no. 12, pp. 1217-1235, 2015.
[14] Ginger Myles and Christian Collberg, "K-gram based software birthmarks," Proceedings of the ACM symposium on Applied computing, pp. 314–318, 2005.
[15] David Schuler, Valentin Dallmeier, and Christian Lindig,"A dynamic birthmark for Java," Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering, pp. 274-283, 2007.
[16] Xinran Wang, Yoon-Chan Jhi, Sencun Zhu, and Peng Liu, "Detecting software theft via system call based birthmarks," Annual Computer Security Applications Conference, pp. 149-158, 2009.
[17] Raul Santelices and Mary Jean Harrold “Efficiently monitoring data-flow test coverage” Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering, pp. 343-352, 2007.
[18] Mark Weiser. "Program slicing" Proceedings of the 5th international conference on Software Engineering, pp. 439-449, 1981.
[19] Anupama Surendran and Philip Samuel, ”Partial Slices in Program Testing”, Proceedings of the 35th Annual Software Engineering Workshop, pp. 82-89, 2012.
[20] BogdanKorel and Jurgen Rilling, ”Dynamic program slicing in understanding of program execution”, 4th Iternational Workshop on Program Comprehension, pp. 80-89, 1997.
[21] Hiralal Agrawal and Joseph R. Horgan, "Dynamic program slicing" Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation, pp. 246-256, 1990.
[22] Frank Tip, ”A Survey of Program Slicing Techniques.” Proceedings of CWI (Centre for Mathematics and Computer Science) Amsterdam, The Netherlands, 1994.
[23] Chao Liu, ChenChen, JiaweiHan and Philip S. Yu, ”GPLAG: detection of software plagiarism by program dependence graph analysis” Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining, pp. 872-881, 2006.
[24] C. Naveena, V. N. Manjunath Aradhya and S. K. Niranjan “The study of different similarity measure techniques in recognition of handwritten characters” Proceedings of the International Conference on Advances in Computing, Communications and Informatics, pp. 781-787, 2012.
[25] Longteng Xu and Chih-Cheng Hung “A comparison on the effectiveness of different similarity measures for image classification” Proceedings of the 49th Annual Southeast Regional Conference, pp. 352-353, 2011.
[26] Zhenzhou Tian, Qinghua Zheng, Ming Fan, Eryue Zhuang, Haijun Wang and Ting Liu, "DKISB: Dynamic key instruction sequence birthmark for software plagiarism detection," IEEE International Conference on High Performance Computing and Communications, pp. 619-627, 2013.
[27] Collin McMillan, Mark Grechanik, and Denys Poshyvanyk, "Detecting similar software applications," Proceedings of the 34th International Conference on Software Engineering, pp. 364-374, 2012.
[28] Kenneth Ward Church Bell Laboratories, Murray Hill, N.J.Patrick Hanks, "Word association norms, mutual information, and lexicography," Journal of Computational Linguistics, vol. 16, issue 1, pp. 22-29, 1990.
[29] Saul Schleimer, Daniel Shawcross Wilkerson and Alex Aiken, "Winnowing: Local Algorithms for Document Fingerprinting", Proceedings of the ACM SIGMOD international conference on Management of Data, pp. 76-85, 2003.
[30] Agung Toto Wibowo,Kadek W. Sudarmadi and Ari M. Barmawi “Comparison between fingerprint and winnowing algorithm to detect plagiarism fraud on Bahasa Indonesia documents” Proceedings of the International Conference of Information and Communication Technology, pp. 128-133, 2013.
[31] Ameera Jadalla and Ashraf Elnagar “A fingerprinting-based plagiarism detection system for Arabic text-based documents” Proceedings of the 8th International Conference on Computing Technology and Information Management, pp. 477-482, 2012.
[32] [Online]. Available: https://theory.stanford.edu/~aiken/moss/, 2016.
[33] Udi Manber “Finding similar files in a large file system” Proceedings of the USENIX Winter Technical Conference on USENIX Winter Technical Conference, 1994.
[34] Nevin Heintze “Scalable Document Fingerprinting” In USENIX Workshop on Electronic Commerce, 1996.
連結至畢業學校之論文網頁點我開啟連結
註: 此連結為研究生畢業學校所提供,不一定有電子全文可供下載,若連結有誤,請點選上方之〝勘誤回報〞功能,我們會盡快修正,謝謝!
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top