Show simple item record

dc.contributor.authorNovakovic, Marko
dc.date.accessioned2013-01-25 17:38:46 (GMT)
dc.date.available2013-01-25 17:38:46 (GMT)
dc.date.issued2013-01-25T17:38:46Z
dc.date.submitted2013
dc.identifier.urihttp://hdl.handle.net/10012/7291
dc.description.abstractDomain-specific languages can significantly speed up the development of software applications. However, it usually takes a few iterations of the language design before it achieves such power. At the same time, many domains tend to evolve quite often today, which implies that domain-specific languages have to evolve accordingly. Thus, being able to evolve a language in a painless manner is crucial. Unfortunately, current state-of-the-art research does not provide enough answers on how to efficiently evolve domain-specific languages. We present an approach to evolving a language in order to reduce the amount of code cloning it introduces. The approach specifically targets those languages whose design causes users to create many duplicated code segments. We target domain-specific languages as they tend to be more challenging to evolve due to their specifics, but the approach may be applicable to general purpose programming languages as well. The approach was tested on a real-world domain-specific language that is used in a financial domain. We proposed three improvements and current users helped us evaluate them. We found that the proposed improvements would reduce code cloning, which provides evidence that the approach can be used in a real-world environment. Furthermore, this work provides a solid basis for further research in the area of application of code cloning detection results. In particular, code cloning detection results and the ideas we presented show potential to be extended and used to facilitate domain analysis.en
dc.language.isoenen
dc.publisherUniversity of Waterlooen
dc.subjectDomain Specific Languagesen
dc.subjectLanguage Evolutionen
dc.titleLanguage Evolution to Reduce Code Cloningen
dc.typeMaster Thesisen
dc.pendingfalseen
dc.subject.programComputer Science (Software Engineering)en
uws-etd.degree.departmentElectrical and Computer Engineeringen
uws-etd.degreeMaster of Applied Scienceen
uws.typeOfResourceTexten
uws.peerReviewStatusUnrevieweden
uws.scholarLevelGraduateen


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record


UWSpace

University of Waterloo Library
200 University Avenue West
Waterloo, Ontario, Canada N2L 3G1
519 888 4883

All items in UWSpace are protected by copyright, with all rights reserved.

DSpace software

Service outages