Treffer: Code pattern analysis of object-oriented programming languages

Title:
Code pattern analysis of object-oriented programming languages
Authors:
Contributors:
Computing, Cordy, James R.
Publication Year:
2016
Collection:
Queen's University, Ontario: QSpace
Document Type:
Dissertation thesis
File Description:
application/pdf
Language:
English
Relation:
Rights:
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/
Accession Number:
edsbas.AD0F3952
Database:
BASE

Weitere Informationen

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. ; M.Sc.