Code pattern analysis of object-oriented programming languages
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 | |
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 |