Dissertation > Excellent graduate degree dissertation topics show

Based on abstract syntax tree and static analysis of the cloned code is automatically reconstructed

Author: YuDongZuo
Tutor: ZhaoWenYun
School: Fudan University
Course: Computer Software and Theory
Keywords: Refactoring Variation point extraction Code clone Abstract syntax tree Reengineering Reverse engineering
CLC: TP311.52
Type: Master's thesis
Year: 2009
Downloads: 186
Quote: 4
Read: Download Dissertation

Abstract


Code clone in single software system or several similar systems makes software maintenance very difficult.Therefore,a lot of research on reverse engineering focuses on how to assist the detection and refactoring of cloned code.At present,relevant research mainly focuses on code clone detection;however,research on refacoring of cloned code is rare.First,this paper offers an automatic refactoring method of detected cloned code based on abstract syntax tree and static analysis.At first,this method builds abstract syntax trees for cloned code separately.Then the difference between statements is used to establish the relationship between flow control statements in abstract syntax trees.Based on these steps,this method analyses the difference between flow control statements and the difference between simple statement blocks,and finally combines the cloned code through extracting the variation points in source code.Second,this paper offers an automatic refactoring method of object oriented software systems based on the method mentioned above.This paper utilizes the semantic information such as the comment and the signature of a method,as well as syntactic information of the method body to find exactly the same methods or similar methods in several sub-classes which shares a common father-class.First,for each method pair,we compute the combined similarity of comment and signature.As the first filter,we perform syntactic analysis and comparison and compute the total similarity of methods only on those method pairs whose combined similarity of comment and signature is above certain threshold.Then,we make the total similarity of methods the metric of the second filter.It is the criterion of whether to perform refactoring or not.Finally we combine the method pairs which pass the second filter into a single method using the method of variation points analysis and extraction mentioned above.The resulting method can be pulled up into the father-class thus realizes refactoring.Based on this method,we have developed a prototype tool which supports refactoring of cloned code of Java.And experiments on automatic refactoring are taken on cloned code in JDK1.5 and a business system.The initial result shows that this method can assist developer achieve the goal of automatically refactoring of cloned code both accurately and effectively.At the same time,because we filter method pairs based on combined similarity of comment and signature,the amount of method pairs which needs syntactic analysis and comparison is greatly reduced.

Related Dissertations

  1. DM Fine Chemical Company sales of ERP solutions designed,F426.7
  2. Domestic Commercial Banks Couter-service Operational Risk Control and Process Reengineering,F832.2
  3. Research on the Business Process Reengineering on Import and Export on COOPER Company Ltd,F752.6
  4. HD firm order management problems and countermeasures,F273
  5. Rapid Tooling Manufacturing Technology Research Based on Reverse Engineering and Rapid Prototyping,TG76
  6. The Design and implementation of AST in C/C++ Safety Checker,TP311.52
  7. The Relevant Research of ERP System and the Construction of Internal Control in H Company,F270.7
  8. PF Bank Business Process Reengineering,F832.2
  9. The Research & Management on Operational Risk at the Bank of China Yiyang Branch,F832.2
  10. Design of Pattern and Entire Shoe on Reverse Engineering,TS943.2
  11. Research on the Electromagnetic-field-aided Whole Die of Rapid Prototyping Technique for Automatic Flow Control Valves,TG391
  12. The Inspection of Quality of Complicated Lumen Based on Reverse Engineering,TG247
  13. Reverse Engineering Research and Finite Element Analysis of Children Femur-Proximal Based on CT Data,R816.92
  14. The Design and Implementation of Front End of Software Safety Checking Tool,TP311.53
  15. Lianyungang Municipal Local Taxation Bureau Tax Administration Process Reengineering,F812.42
  16. The Application and Innovation of the Customer Manager System in the CZBANK Beijing Branch,F832.2
  17. Life insurance company customer relationship management applications to explore,F842.3
  18. Wuhan city circle Administrative Process Reengineering,D630
  19. The Establishment of Three-dimensional Mechanical Measuring Device and Periodontal Stress Analysis System,R783.5
  20. Research on Calibration Algorithm of Articulated CMM,TH721
  21. A New Idiopathic Scoliosis Classification with the Help of Three-dimensional Reconstruction,R687.3

CLC: > Industrial Technology > Automation technology,computer technology > Computing technology,computer technology > Computer software > Program design,software engineering > Software Engineering > Software Development
© 2012 www.DissertationTopic.Net  Mobile