Hide metadata

dc.date.accessioned2013-03-12T08:13:33Z
dc.date.available2013-03-12T08:13:33Z
dc.date.issued2005en_US
dc.date.submitted2005-01-31en_US
dc.identifier.citationHuynh, Quoc Hung Le. Comparing Java Programs: Syntactic and Contextual Semantic Differences. Hovedoppgave, University of Oslo, 2005en_US
dc.identifier.urihttp://hdl.handle.net/10852/9232
dc.description.abstractThis thesis describes the foundation for developing a tool that compares Java programs, or different versions of a program. The tool captures syntactic differences and contextual semantic differences as well. Syntactic differences are “ordinary” changes in the code. This tool works much in the same way as the Unix tool diff, but it is much smarter than diff. This is because it exploits the fact that programs are built differently than ordinary text. The tool diff’s purpose is to compare text, and it will therefore give imprecise or too verbose results. The tool described in this thesis can identify contextual semantic differences because it knows the contexts of methods, meaning that it knows whether methods are directly declared in the class, inherited from implemented interfaces or if methods override the class’ parent’s method. The approach in this thesis for comparing Java programs is to transform the programs into abstract syntax trees. The transformation from source code to abstract syntax trees are done with the help Strafunski. Strafunski is a software bundle that supports generic programming. The implementation of the tool is done in Haskell. Haskell is a functional programming language. The work of comparing abstract syntax trees can be broken down into the problem of finding the largest common subtree of two abstract syntax trees and further more, the problem of finding the longest common subsequence of two sequences. This thesis describes and presents new algorithms for doing this and it also describe working Haskell code of the implementation of the tool.nor
dc.language.isoengen_US
dc.titleComparing Java Programs: Syntactic and Contextual Semantic Differencesen_US
dc.typeMaster thesisen_US
dc.date.updated2005-02-09en_US
dc.creator.authorHuynh, Quoc Hung Leen_US
dc.subject.nsiVDP::420en_US
dc.identifier.bibliographiccitationinfo:ofi/fmt:kev:mtx:ctx&ctx_ver=Z39.88-2004&rft_val_fmt=info:ofi/fmt:kev:mtx:dissertation&rft.au=Huynh, Quoc Hung Le&rft.title=Comparing Java Programs: Syntactic and Contextual Semantic Differences&rft.inst=University of Oslo&rft.date=2005&rft.degree=Hovedoppgaveen_US
dc.identifier.urnURN:NBN:no-10227en_US
dc.type.documentHovedoppgaveen_US
dc.identifier.duo24301en_US
dc.contributor.supervisorBjarte M. Østvolden_US
dc.identifier.bibsys050234943en_US
dc.identifier.fulltextFulltext https://www.duo.uio.no/bitstream/handle/10852/9232/1/ComparingJava.pdf


Files in this item

Appears in the following Collection

Hide metadata