| 研究生: |
吳明修 Wu, Ming-Shiou |
|---|---|
| 論文名稱: |
對偵測結果的移動方法重構進行分類 Categorizing the Detection Result of Move Method Refactoring |
| 指導教授: |
焦惠津
Jiau, Hewijin Christine |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電腦與通信工程研究所 Institute of Computer & Communication Engineering |
| 論文出版年: | 2009 |
| 畢業學年度: | 97 |
| 語文別: | 英文 |
| 論文頁數: | 30 |
| 中文關鍵詞: | 重構偵測 、移動類別方法的機制 、語義資訊 |
| 外文關鍵詞: | Refactoring Detection, Move Method Mechanics, Semantic Information |
| 相關次數: | 點閱:53 下載:1 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
目前有很多不同的重構偵測工具。開發者使用這些工具來偵測軟體演進過程中發生過的軟體重構。然而,從這些偵測工具所得到的結果並非總是可靠的。事實上錯誤的偵測結果會使得開發者錯誤的使用被重構的軟體,進而導致不可預期的錯誤。開發者們需要在使用這些偵測結果之前先對目前有很多不同的重構偵測工具。開發者使用這些工具來偵測軟體演進過程中發生過的軟體重構。然而,從這些偵測工具所得到的結果並非總是可靠的。事實上錯誤的偵測結果會使得開發者錯誤的使用被重構的軟體,進而導致不可預期的錯誤。開發者們需要在使用這些偵測結果之前先對偵測結果進行審查。而目前並沒有適合的視覺化工具可以幫助開發者有效率的審查這些偵測的結果。
在此論文中,一個視覺化的工具 – READY 基於重構中的移動類別方法的機制中的語義資訊來幫助開發者審查偵測結果中屬於移動類別方法的重構。一個針對偵測結果分類方法從兩個開放原碼的專案中整理出來。從這個分類中,開發者們可以更輕易的對偵測的結果進行審查。
Currently there are a lot of refactoring detection tools available.
Developers use these tools to detect the occurrences of refactoring activities in software evolution.
However,the results of the detection tools are not always reliable.
The truth is that bad results will cause developers to use the refactored software in the wrong way and it will cause
further unpredictable errors.
If developers can examine the detection results before using
them, the unpredictable errors can be reduced.
Currently there is no proper visualization
tool available for developers to examine the detection results effectively.
In this thesis, a visualization tool, READY, was developed based on the semantic information of the Move Method refactoring mechanic to help developers to examine the detected Move Method refactorings.
And a categorization of the detection results is derived from two open source projects.
Based on the categorization table, developers could examine the detection results more easily.
[1] M. Fowler, Refactoring, Improving the Design of Existing Program. Addison-Wesley, 1999.
[2] T. Mens and T. Tourwm, “A Survey of Software Refactoring,” IEEE Transactions on Software Engineering, vol. 30, no. 2, pp. 126–139, Feb. 2004.
[3] Z. Xing and E. Stroulia, “Refactoring Detection based on UMLDiff Change-Facts Queries,” 13th Working Conference on Reverse Engineering, 2006, pp. 263–274, Oct. 2006.
[4] C. Gorg and P. Weisgerber, “Detecting and Visualizing Refactorings from Software Archives,” In Proceedings of the 13th IEEE International Workshop on Program Comprehension, pp. 205–214, May 2005.
[5] S. Demeyer, S. Ducasse, and O. Nierstrasz, “Finding refactorings via change metrics,” In Proceedings of OOPSLA 2000 (International Conference on Object-Oriented Programming Systems, Languages and Applications, pp. 166–177, Oct. 1999.
[6] D. Dig, C. Comertoglu, D. Marinov, and R. Johnson, “Automated Detection of Refactorings in Evolving Components,” in Proceedings of European Conference on
Object-Oriented Programming, pp. 404–428, May 2006.
[7] H. C. Jiau and J. C. Chen, “Test Code Differencing for Test-Driven Refactoring Automation,” ACM SIGSOFT Software Engineering Notes, vol. 34, pp. 1–10, Jan. 2009.
[8] F. Simon, F. Steinbrckner, and C. Lewerentz, “Metrics Based Refactoring,” Proceedings of the Fifth European Conference on Software Maintenance and Reengineering,
pp. 30–38, Mar. 2001.
[9] “Eclipse.” http://www.eclipse.org/, 2009.
[10] “Spring Framework.” http://www.springsource.org/, 2009.
[11] “Apache Struts.” http://struts.apache.org/, 2009.