dc.contributor.author |
Farooq, Sidra |
|
dc.date.accessioned |
2023-08-10T06:51:22Z |
|
dc.date.available |
2023-08-10T06:51:22Z |
|
dc.date.issued |
2019 |
|
dc.identifier.other |
00000117327 |
|
dc.identifier.uri |
http://10.250.8.41:8080/xmlui/handle/123456789/36212 |
|
dc.description |
Supervisor: Dr. Wasi Haider Butt |
en_US |
dc.description.abstract |
Business now a days completely rely on software systems for this vary reason, software
system are becoming more and more complex with time. And for this software system are
continuously subjected to rapid change to implement various new feature. To meet this rapid
change request developers ignore language standards and proper design patterns which later on
leads to code smells.
This rapid market requirements and various change patches were explored by Fowler
specifying suboptimal coding decisions subjected by developers while writing source code. Many
researches are conducted to explore these suboptimal choices which leads to the discovery of
automatic techniques to point towards design errors in source code. Many of these techniques
completely rely on structural characteristics (like method calls, LOC) extracted from the source
code.
In spite of researches hard work in the past, there is a gap for detecting code smells with
respect to dynamic languages like python. There is still lack of evidence concerning (i) how to
detect code smells between classes (ii) which code smell happens more frequently and these
problems need to be addressed because it impact directly on the software maintainability.
In our research we propose an algorithm to detect code smells between classes (considering
only three code smells. We devise a metrics based proposition for detecting code smells that is
based on Abstract Syntax Tree, i.e., parsing code and forming nodes and we evaluate our results
by running the algorithm on five open source python projects. |
en_US |
dc.language.iso |
en |
en_US |
dc.publisher |
College of Electrical & Mechanical Engineering (CEME), NUST |
en_US |
dc.subject |
Code smells, Python, Software Maintenance, Refactoring, Refused Bequest, Feature Envy & Solution Sprawl |
en_US |
dc.title |
Automated Code Smell Detection using Metrics Based Approach |
en_US |
dc.type |
Thesis |
en_US |