Precise code differencing

dc.contributor.advisorBylander, Tom
dc.contributor.authorPorter, Robert L.
dc.contributor.committeeMemberNiu, Jianwei
dc.contributor.committeeMembervon Ronne, Jeffery
dc.date.accessioned2024-02-12T19:30:53Z
dc.date.available2024-02-12T19:30:53Z
dc.date.issued2012
dc.descriptionThis item is available only to currently enrolled UTSA students, faculty or staff. To download, navigate to Log In in the top right-hand corner of this screen, then select Log in with my UTSA ID.
dc.description.abstractA clear understanding of software modification history is beneficial for creating code that is less error prone and projects that are timelier. Accurate software code differencing has been a long term problem for software engineers as noted by the many ongoing efforts to improve results. Software is a hierarchical data structure, requiring hierarchical analysis, for which simple text differencing is often not satisfactory. Many attempts have been made to solve the problem of differencing code at an abstract or data structure level, including the software's abstract syntax trees (ASTs). Research on differencing from program trees has been done with cdiff, an unnamed partial match tool, and ChangeDistiller. These show promise, however they do not clearly define the accuracy of their results and, in the case of ChangeDistiller, use several heuristics to increase efficiency, which can also degrade accuracy. To overcome these problems, ZhangShashaComparison was developed as an Eclipse Plug-in tool that uses the Zhang Shasha tree differencing algorithm for AST analysis. It yields optimal and accurate results with respect to tree edit distances. A new algorithm was devised to extract the edit script from the Zhang Shasha output and report the code differences in a clear and precise manner to the end user. Thus, comparing the abstract syntax trees of two versions of source code files, hierarchical code changes can be precisely identified and reported, providing a potentially practical approach for software engineers to produce better code in faster time.
dc.description.departmentComputer Science
dc.format.extent70 pages
dc.format.mimetypeapplication/pdf
dc.identifier.isbn9781267615770
dc.identifier.urihttps://hdl.handle.net/20.500.12588/4950
dc.languageen
dc.subjectAbstract Syntax Tree
dc.subjectZhang Shasha
dc.subject.classificationComputer science
dc.titlePrecise code differencing
dc.typeThesis
dc.type.dcmiText
dcterms.accessRightspq_closed
thesis.degree.departmentComputer Science
thesis.degree.grantorUniversity of Texas at San Antonio
thesis.degree.levelMasters
thesis.degree.nameMaster of Science

Files

Original bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
Porter_utsa_1283M_10866.pdf
Size:
529.18 KB
Format:
Adobe Portable Document Format