Please use this identifier to cite or link to this item: https://scholarbank.nus.edu.sg/handle/10635/121112
DC FieldValue
dc.titleSCALABLE DETECTION OF SOFTWARE REFACTORING
dc.contributor.authorMILEA NARCISA ANDREEA
dc.date.accessioned2015-09-30T18:01:19Z
dc.date.available2015-09-30T18:01:19Z
dc.date.issued2015-03-18
dc.identifier.citationMILEA NARCISA ANDREEA (2015-03-18). SCALABLE DETECTION OF SOFTWARE REFACTORING. ScholarBank@NUS Repository.
dc.identifier.urihttp://scholarbank.nus.edu.sg/handle/10635/121112
dc.description.abstractThe process of large-scale software development and maintenance can be unpredictable, with high costs, and a bug-prone and fragile output at times. It is estimated that 90% of the total cost of a software project is spent on evolution and maintenance, causing some authors to call it the legacy crisis. Refactoring is widely believed to have a positive impact on these costs. As such automated techniques have been proposed to either identify refactoring opportunities (i.e., code fragments that can, but have not yet been restructured in a program), or reconstruct historical refactoring (i.e., code restructuring operations that have happened between different versions of a program). This thesis asserts that efficient and effective detection of code fragments related by refactoring operations within large software can be achieved by performing abstraction and algebraic operations over high-dimensional vectors representing the code. First we propose a new technique called vector inlining to simulate the effect of method inlining, which enables scalable detection of cross-function refactoring. Second we design a systematic way to represent essential code changes needed for various types of refactoring operations as abstraction and concretization operations of vectors, which encode syntactic features of code and code changes. This vector-based encoding enables detection of refactoring both within the same version and across different versions of a program. Moreover it reduces the problem of refactoring identification to the problem of vector matching. Lastly we evaluate our approach on large code bases with millions of lines of code, and show scalable and accurate detection results.
dc.language.isoen
dc.subjectrefactoring, program analysis, clone detection
dc.typeThesis
dc.contributor.departmentCOMPUTER SCIENCE
dc.contributor.supervisorKHOO SIAU CHENG
dc.description.degreePh.D
dc.description.degreeconferredDOCTOR OF PHILOSOPHY
dc.identifier.isiutNOT_IN_WOS
Appears in Collections:Ph.D Theses (Open)

Show simple item record
Files in This Item:
File Description SizeFormatAccess SettingsVersion 
MileaNA.pdf3.89 MBAdobe PDF

OPEN

NoneView/Download

Google ScholarTM

Check


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.