Code pattern analysis of object-oriented programming languages


Autoria(s): Miao, Xubo
Contribuinte(s)

Queen's University (Kingston, Ont.). Theses (Queen's University (Kingston, Ont.))

Cordy, James

Computing

Data(s)

29/11/2016

29/11/2016

Resumo

Code patterns, including programming patterns and design patterns, are good references for programming language feature improvement and software re-engineering. However, to our knowledge, no existing research has attempted to detect code patterns based on code clone detection technology. In this study, we build upon the previous work and propose to detect and analyze code patterns from a collection of open source projects using NiPAT technology. Because design patterns are most closely associated with object-oriented languages, we choose Java and Python projects to conduct our study. The tool we use for detecting patterns is NiPAT, a pattern detecting tool originally developed for the TXL programming language based on the NiCad clone detector. We extend NiPAT for the Java and Python programming languages. Then, we try to identify all the patterns from the pattern report and classify them into several different categories. In the end of the study, we analyze all the patterns and compare the differences between Java and Python patterns.

Master of Science

Identificador

http://hdl.handle.net/1974/15252

Idioma(s)

en

Relação

Canadian theses

Direitos

CC0 1.0 Universal

Queen's University's Thesis/Dissertation Non-Exclusive License for Deposit to QSpace and Library and Archives Canada

ProQuest PhD and Master's Theses International Dissemination Agreement

Intellectual Property Guidelines at Queen's University

Copying and Preserving Your Thesis

This publication is made available by the authority of the copyright owner solely for the purpose of private study and research and may not be copied or reproduced except as permitted by the copyright laws without written authority from the copyright owner.

http://creativecommons.org/publicdomain/zero/1.0/

Palavras-Chave #NiPAT, code pattern analysis, object-oriented programming languages
Tipo

Thesis